MakeMsi v22.0.147.0000 |
Attribute | Contents |
---|---|
Product Name | MakeMsi |
Version | 22.0.147.0000 |
Description | MAKEMSI is a tool which allows you to create or update any Windows Installer files (including ".MSI"). It also contains some handy tool sub as GUID generators and MSI exporter. |
Last & Only Change | Please see the MAKEMSI documentation for a complete change history (at "http://makemsi-manual.dennisbareis.com/changehistory.htm"). |
MSI | d:\ |
Built At | Thu May 26 2022 at 1:21:35pm (USER "Dennis" on CN-DENNIS-2020) |
Supported Platforms | SUPPORTED on:
|
Note | MAKEMSI has been tested on Windows NT, 2000 and XP and will work without issue. MAKEMSI works OK with some minor issues (which I will resolve sometime...) on Windows 95, 98 and ME. |
Package Code | {D293DCF0-C1C6-48F9-96BC-44D1E56C19FB} ("0FCD392D6C1C9F8469CB441D5EC691BF") |
Product Code | {47BD4746-A0FD-478B-B567-2B838258E48B} ("6474DB74DF0AB8745B76B23828854EB8") |
Upgrade Code | {D89869CB-2A7C-4296-9CC9-028A0DEC79B8} ("BC96898DC7A26924C99C20A8D0CE978B") |
Any products with these upgrade codes are automatically removed when installing this package |
|
Processing Mode | Production |
Name | Ext | Time | Size | Destination Directory |
Source | Comment |
---|---|---|---|---|---|---|
MAKEMSI | mm | 26 May 2022 1:16:39pm* | 100,662 | C:\ [SAMPLESDIR]\ SAMPLESDIR_ |
D:\ |
Component SamplesMakeMsiSource MD5 31AEBD50-A14857E1-3143ED28-BB0933E7 Install Time 26 May 2022 1:16:40pm This is the source actually used to build this MAKEMSI tool's MSI. It will fail if you try to use it... |
MakeMsi | chm | 26 May 2022 1:03:53pm* | 6,408,067 | C:\ [INSTALLDIR]\ DOCODIR |
D:\ |
Component ShortCutDocoMAKEMSI MD5 EDDFBBFB-CD4857A5-4C69DF9A-70ED1C20 Install Time 26 May 2022 1:03:54pm MAKEMSI documentation. The document is in Windows Compiled Help format and so has a contents, an index and can be searched. |
MmVersion | mmh | 26 May 2022 1:00:34pm | 619 | C:\ [ProgramFilesFolder] INSTALLDIR |
D:\ |
Component MainFiles MD5 B8036D89-783E5C2D-A96B05AD-879CEFA9 Contains MAKEMSI's version number. |
File | mmh | 26 May 2022 9:59:32am | 107,059 | C:\ |
D:\ |
Component MainFiles MD5 709A3633-378A0958-A5CCD61D-C76C6666 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
Company | mmh | 26 May 2022 9:59:30am | 54,283 | C:\ |
D:\ |
Component MainFiles MD5 3B9BAE2F-D0DA2026-01CA0D75-B1AE3D7B One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
Valid | mmh | 1 May 2022 10:45:26am | 32,521 | C:\ |
D:\ |
Component MainFiles MD5 173E12C0-3D4FF81C-78F0F509-F04CF6D3 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
property | mmh | 1 May 2022 10:45:22am | 18,868 | C:\ |
D:\ |
Component MainFiles MD5 44AA0711-4D993DC9-CEF68240-E6E5BB60 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
ShortCut | mmh | 1 May 2022 10:45:22am | 28,812 | C:\ |
D:\ |
Component MainFiles MD5 A533FA85-6B65038C-0277F5DE-886F110F One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
RemFile | mmh | 1 May 2022 10:45:22am | 4,577 | C:\ |
D:\ |
Component MainFiles MD5 82C9BD08-C3344AAB-66FD9061-0654D73D One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
Registry | mmh | 1 May 2022 10:45:22am | 24,333 | C:\ |
D:\ |
Component MainFiles MD5 1B8B62B4-3A1B17D3-2DD5B93B-40639B21 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
INI | mmh | 1 May 2022 10:45:16am | 15,217 | C:\ |
D:\ |
Component MainFiles MD5 4E25BD78-9DEF29A0-8A3B670C-9023C7E2 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
component | mmh | 1 May 2022 10:45:14am | 21,847 | C:\ |
D:\ |
Component MainFiles MD5 8A11B580-FDBC089F-AE224D34-675B3616 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
Environ | mmh | 1 May 2022 10:45:14am | 10,231 | C:\ |
D:\ |
Component MainFiles MD5 EDFA4486-579CCE44-BFD9034C-6E1B9E91 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
DirTree | mmh | 1 May 2022 10:45:14am | 23,832 | C:\ |
D:\ |
Component MainFiles MD5 D173A1BB-6DF99386-BB91BB6B-884D161E One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
Dir1 | mmh | 1 May 2022 10:45:14am | 15,527 | C:\ |
D:\ |
Component MainFiles MD5 81404E0C-05C6B03A-806ACAF5-83A37CD5 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
AbortIf | mmh | 1 May 2022 10:45:12am | 4,799 | C:\ |
D:\ |
Component MainFiles MD5 12D5387B-F5A10E10-BEB40F66-0E5BE768 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
PpWiz4MM | 4mm | 1 May 2022 10:38:12am | 450,216 | C:\ |
D:\ |
Component PpWiz4MM. The PPWIZARD tool. A very powerful preprocessor (also used to generate the MAKEMSI documentation). |
ppwizard | chm | 1 May 2022 10:33:06am | 1,451,214 | C:\ |
D:\ |
Component ShortCutDocoPPWIZARD MD5 B8D63669-406D3B77-084F5AB6-CB6F1E41 PPWIZARD's documentation. The document is in Windows Compiled Help format and so has a contents, an index and can be searched. |
Makemsi. |
h | 28 Apr 2022 9:05:18am | 5,682 | C:\ |
D:\ |
Component SamplesMakeMsiSource MD5 E8AB71BD-581E5C37-F2E23D84-E03901F5 This is the source actually used to build this MAKEMSI tool's MSI. It will fail if you try to use it... |
MakeMsi | mmh | 28 Apr 2022 9:05:18am | 22,317 | C:\ |
D:\ |
Component MainFiles MD5 C0E692B3-A9AE6199-009D1F14-239FB1D1 Include this to create an MSI with full control (most people will want to use "DEPT.MMH" instead). |
find | mmh | 28 Apr 2022 9:05:16am | 17,648 | C:\ |
D:\ |
Component MainFiles MD5 101CA203-AEE00215-AA6E3668-1E36F491 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
FileFindInListedDirs | MMH | 28 Apr 2022 9:05:14am | 5,832 | C:\ |
D:\ |
Component MainFiles MD5 AB2B41C3-D368C292-70351518-CBD1D470 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
AutoTag | mmh | 28 Apr 2022 9:05:12am | 24,491 | C:\ |
D:\ |
Component MainFiles MD5 8B3EA46E-94CCCE06-0AFB389E-80C1EA8A One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
VbsCa-StartEnd | MMH | 27 Apr 2022 3:57:40pm | 69,819 | C:\ |
D:\ |
Component MainFiles MD5 DBAD638E-BBB0B641-BA715F60-1321F433 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
VbsCa | mmh | 27 Apr 2022 3:57:40pm | 33,912 | C:\ |
D:\ |
Component MainFiles MD5 3593919D-61D9A632-9DF7FFB9-86070934 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
DENNIS | mmh | 27 Apr 2022 3:57:34pm | 27,339 | C:\ |
D:\ |
Component MainFiles MD5 D88310DC-9DF0FCC5-F8BDA5AF-A29E48BC A more complex branding and configuration file than "ME.MMH". |
HtmlRpt | mmh | 30 Mar 2019 9:21:56am | 22,104 | C:\ |
D:\ |
Component MainFiles MD5 A50EA7A6-CE9F70A1-A6E31E73-1F851A99 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
CompileFiles | MMH | 4 Jul 2018 6:24:08pm | 94,577 | C:\ |
D:\ |
Component MainFiles MD5 CF29F4F3-828912B9-10946B64-41FC367C One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
EventLog | mmh | 18 Jun 2018 4:46:28pm | 30,241 | C:\ |
D:\ |
Component MainFiles MD5 E81669DB-EBD0CCD5-BDDD5BC1-A013ABC3 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
msi | mmh | 9 Jun 2018 11:11:10am | 76,164 | C:\ |
D:\ |
Component MainFiles MD5 8A09ABA2-3F266828-167E8321-07EC159C One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
MM | CMD | 9 Jun 2018 11:11:10am | 21,603 | C:\ |
D:\ |
Component ForNT MD5 DC46B0F8-37847344-C4A3DFFC-4C79A558 A small "sample" batch file to build an MSI (eventually I will also add explorer right click option for building MSIs). |
sundry | mmh | 7 Jun 2018 6:01:28pm | 33,907 | C:\ |
D:\ |
Component MainFiles MD5 EFC44F07-BC3F14EF-53ED005F-A05C569C One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
Files | mmh | 7 Jun 2018 5:01:04pm | 18,959 | C:\ |
D:\ |
Component MainFiles MD5 54FEA316-09C03B25-841AEA15-D797DFC1 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
uisample | mmh | 6 Jun 2018 6:26:50pm | 57,998 | C:\ |
D:\ |
Component MainFiles MD5 CA13D11F-3BBF7884-566A0F96-B2DE9E8E One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
OpenMsi | mmh | 5 May 2018 4:40:30pm | 2,256 | C:\ |
D:\ |
Component MainFiles MD5 36558969-4778EBDC-A8F6234C-22606BD7 Include this to update an existing Windows Installer database of any type (not just MSI) |
ReadMe | TXT | 7 Apr 2018 12:26:26pm | 613 | C:\ [MORE_ MORE_ |
D:\ |
Component MORE_ |
ReadMe | TXT | 7 Apr 2018 12:02:10pm | 600 | C:\ [SAMPLESDIR]\ SAMPLESDIR_ |
D:\ |
Component SAMPLESDIR_ |
ReadMe | TXT | 7 Apr 2018 11:55:03am* | 2,142 | C:\ [INSTALLDIR]\ SAMPLESDIR |
D:\ |
Component SAMPLESDIR MD5 299A7310-FD379A85-5EAC64D4-A2C3B131 Install Time 7 Apr 2018 11:55:04am |
ReadMe | TXT | 7 Apr 2018 11:49:12am | 732 | C:\ [INSTALLDIR]\ MORE_ |
D:\ |
Component MORE_ |
ReadMe | TXT | 7 Apr 2018 11:47:55am* | 613 | C:\ [INSTALLDIR]\ BUG_ |
D:\ |
Component BugDiagnostics MD5 4CDE3ADF-CF49D3E6-F084E482-681882FC Install Time 7 Apr 2018 11:47:56am |
ReadMe | TXT | 6 Apr 2018 4:19:49pm* | 941 | C:\ [INSTALLDIR]\ _ |
D:\ |
Component MsiSync MD5 5F214316-27FB110E-1E32EBA2-41C2C0CC Install Time 6 Apr 2018 4:19:50pm |
SelfReg | VER | 6 Apr 2018 4:19:47pm* | 528 | C:\ |
d:\ |
Component MORE_ Supporting VER file, details irrelevant! |
SelfReg | MM | 6 Apr 2018 4:19:47pm* | 350 | C:\ |
d:\ |
Component MORE_ Test script to exercise code. |
ReadMe | TXT | 6 Apr 2018 4:19:46pm | 526 | C:\ [INSTALLDIR]\ MSI_ |
D:\ |
Component MSI_ |
ReadMe | TXT | 6 Apr 2018 4:19:46pm | 977 | C:\ [SAMPLESDIR_ _ |
D:\ |
Component SAMPLESDIR_ |
ReadMe | TXT | 6 Apr 2018 4:19:45pm* | 639 | C:\ [SAMPLESDIR]\ SAMPLESDIR_ |
D:\ |
Component SAMPLESDIR_ |
ReadMe | TXT | 6 Apr 2018 4:19:45pm* | 675 | C:\ [SAMPLESDIR_ _ |
D:\ |
Component SAMPLESDIR_ |
ReadMe | TXT | 6 Apr 2018 4:19:45pm* | 586 | C:\ [SAMPLESDIR_ SAMPLESDIR_ |
D:\ |
Component SAMPLESDIR_ |
ReadMe | TXT | 6 Apr 2018 4:19:45pm* | 552 | C:\ [SAMPLESDIR_ _ |
D:\ |
Component SAMPLESDIR_ |
ReadMe | TXT | 6 Apr 2018 4:19:44pm | 975 | C:\ [SAMPLESDIR]\ SAMPLESDIR_ |
D:\ |
Component SAMPLESDIR_ |
ReadMe | TXT | 6 Apr 2018 4:19:44pm | 823 | C:\ [SAMPLESDIR]\ SAMPLESDIR_ |
D:\ |
Component SAMPLESDIR_ |
ReadMe | TXT | 6 Apr 2018 4:19:42pm | 705 | C:\ [SAMPLESDIR_ SAMPLESRELDIR_ |
D:\ |
Component SAMPLESRELDIR_ |
ReadMe | TXT | 6 Apr 2018 4:19:42pm | 2,178 | C:\ [SAMPLESDIR]\ SAMPLESDIR_ |
D:\ |
Component SAMPLESDIR_ |
ReadMe | TXT | 6 Apr 2018 4:19:40pm | 797 | C:\ |
D:\ |
Component SamplesMakeMsiSource MD5 0767BD49-4FA30A47-3DBAA023-05B8ADC2 |
ReadMe | TXT | 6 Apr 2018 4:19:39pm* | 627 | C:\ [SAMPLESDIR]\ SAMPLESDIR_ |
D:\ |
Component SAMPLESDIR_ |
ReadMe | TXT | 6 Apr 2018 4:19:30pm | 604 | C:\ [INSTALLDIR]\ USER_ |
D:\ |
Component USER_ |
TableRow | mmh | 3 Apr 2018 1:05:04pm | 53,710 | C:\ |
D:\ |
Component MainFiles MD5 618FB542-F0049944-982B3E2B-BF32BA66 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
SelfReg | mmh | 21 Feb 2018 7:12:22pm | 14,954 | C:\ |
D:\ |
Component MainFiles MD5 5994AB5A-8E5E94D8-AFDEC4DE-17157C89 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
ShortcutUrl | MMH | 16 Feb 2018 4:53:46pm | 41,935 | C:\ |
D:\ |
Component MainFiles MD5 2F4B1CB8-CC3D708C-7F772DFE-2969E18D One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
Samples | mmh | 16 Feb 2018 4:53:44pm | 7,880 | C:\ |
D:\ |
Component MainFiles MD5 1132B865-74CB006F-E3197E13-A9429BA0 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
FolderIcon | MMH | 16 Feb 2018 4:53:34pm | 16,406 | C:\ |
D:\ |
Component MainFiles MD5 C7A2BE70-32D44F3F-2558A24D-B4BD31DB One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
Tables | mmh | 16 Nov 2017 11:28:42am | 42,344 | C:\ |
D:\ |
Component MainFiles MD5 6BCDEA66-F3FEE780-1636116E-9ADA81D4 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
OnExit | mmh | 16 Nov 2017 11:28:36am | 14,051 | C:\ |
D:\ |
Component MainFiles MD5 7460D1B4-E9724900-B98A8EC3-E77A653A One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
location | mmh | 16 Nov 2017 11:28:32am | 7,896 | C:\ |
D:\ |
Component MainFiles MD5 E6DA9093-F6E861CF-FBC8751A-3E2B1639 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
InvalidMacros | MMH | 16 Nov 2017 11:28:32am | 3,462 | C:\ |
D:\ |
Component MainFiles MD5 F0350B76-A7F07C22-43D3ECD2-A1CC33A1 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
FilesInZip | mmh | 16 Nov 2017 11:28:30am | 10,788 | C:\ |
D:\ |
Component MainFiles MD5 986C6BFF-86081869-18A3AC7E-EDDE180A One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
FileMake | mmh | 16 Nov 2017 11:28:30am | 13,885 | C:\ |
D:\ |
Component MainFiles MD5 F6C7AEE3-209D6282-D8BD96BE-3397C5DE One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
htmlsumm | mmh | 13 Oct 2017 1:07:26pm | 26,141 | C:\ |
D:\ |
Component MainFiles MD5 8F2CAC16-8C639EB2-9419FD80-B57EEE06 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
RegularExpTestMm | hta | 13 Oct 2017 12:09:07pm* | 19,422 | C:\ |
D:\ |
Component MainFiles MD5 C1D5BF0F-0A343072-E878E65D-7D6C688B Install Time 13 Oct 2017 12:09:08pm Tests regular expressions |
TryMe | MM | 24 Sep 2017 10:17:54am | 1,403 | C:\ |
D:\ |
Component SAMPLESDIR_ A very simple sample and test script which you can try to build an MSI with. I recommend you try to build it before making any changes or building your own. |
ToolTips | mmh | 13 Aug 2017 2:37:56pm | 28,201 | C:\ |
D:\ |
Component MainFiles MD5 B6F7DFAE-D153708D-387816AA-A1DBC58A One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
MajorUpgrade | MMH | 13 Aug 2017 2:37:50pm | 18,427 | C:\ |
D:\ |
Component MainFiles MD5 92248C28-42BAB8AC-A8D8874E-6D590AC6 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
CommonFrameWork | mmh | 13 Aug 2017 2:37:46pm | 7,005 | C:\ |
D:\ |
Component MainFiles MD5 A0D45CD3-053A82EE-FE6DE950-B7B7A5F3 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
TryMeShortcuts | MM | 11 Aug 2017 10:06:12am | 9,379 | C:\ |
D:\ |
Component SAMPLESDIR_ Demonstrates shortcut creation. |
Platform | mmh | 11 Aug 2017 10:06:06am | 22,223 | C:\ |
D:\ |
Component MainFiles MD5 691A65D4-654F5F6F-39B5218E-D777ECAC One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
MakeMsi | FLT | 6 Aug 2017 8:29:24am | 10,301 | C:\ |
D:\ |
Component MainFiles MD5 1865ABB2-93D14ADB-9A2D2E88-34FF4EE3 The base Windows Installer/msi validation filter (removed "stupid" messages we don't care about). |
ME_ |
mmh | 6 Aug 2017 8:29:24am | 4,500 | C:\ |
D:\ |
Component SAMPLESRELDIR_ Dutch localisation example file. |
ME | mmh | 6 Aug 2017 8:29:24am | 4,619 | C:\ |
D:\ |
Component MainFiles MD5 61E233F2-865D3D06-610491C9-322D8360 An example (template?) for a file it is recommended you create to front end "DEPT.MMH" and "COMPANY.MMH" for MSI creation. A large company could probably have two front ends, one for company options and branding and the other for individual team options and branding. See "DENNIS.MMH" for a more complex example (its actually what I use). |
FindMult | vbs | 6 Aug 2017 8:29:20am | 10,759 | C:\ |
D:\ |
Component FindMult. Used to filter MSI validation results. |
ShouldBeEmpty | vbs | 2 Aug 2017 5:15:30pm | 3,558 | C:\ |
D:\ |
Component ShouldBeEmpty. Used to check if the generated file is empty (validation by MM.CMD). |
TryMeDualPurposePack |
MM | 28 Feb 2016 3:41:28pm | 7,128 | C:\ |
D:\ |
Component SAMPLESDIR_ Single Package Authoring example. |
extn | mmh | 28 Feb 2016 3:41:18pm | 8,542 | C:\ |
D:\ |
Component MainFiles MD5 84F03286-17606EAC-8C75FC4B-98CCF601 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
Guid | mmh | 28 Feb 2016 3:41:18pm | 12,128 | C:\ |
D:\ |
Component MainFiles MD5 8FD016E9-C546B6D7-8C57A7D0-D30C2D08 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
CodePage | MMH | 28 Feb 2016 3:41:16pm | 2,740 | C:\ |
D:\ |
Component MainFiles MD5 8DD0C9A8-740E1D1E-696D17D8-19D3013F One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
_ |
vbs | 28 Feb 2016 2:44:29pm* | 3,547 | C:\ |
D:\ |
Component ShortCutMangled MD5 1ACCE662-B0E50D43-5110B0A8-1B636EAF Install Time 28 Feb 2016 2:44:30pm Converts GUIDs between MSI and "mangled" formats. |
PerUser | VBS | 28 Feb 2016 2:44:23pm* | 8,938 | C:\ |
D:\ |
Component PerUser. VBSCRIPT which will report per user installed products and identify the users (used SidToName.exe if available). |
MakeMSI | DLL | 3 May 2015 6:51:56pm | 36,864 | C:\ |
D:\ |
Component ActiveXControl MD5 45BDE883-960674F1-F9441B02-2335EAFB Version 15.5.0.3 Self Registration yes MAKEMSI's 32 BIT Active-X DLL. Note that on a 64 bit OS, you must call via the 32 bit version of "cscript.exe" File Version 15.05.0003 Product Name MAKEMSI Activex Product Version 15.05.0003 Company Name Dennis Bareis Original Filename MakeMSI.dll |
TryMeExcelAddIn | MM | 30 Apr 2015 7:23:22pm | 13,817 | C:\ |
D:\ |
Component SAMPLESDIR_ A sample for adding an Excel add-in. |
Tee4MM | 4mm | 23 Apr 2015 5:57:16pm | 5,773 | C:\ |
D:\ |
Component Tee4MM. Used during compile to capture cab compression details (for debugging only). |
_ |
VBS | 22 Apr 2015 7:34:29pm* | 4,112 | C:\ |
D:\ |
Component _ This is called via Explorer associations (used internally). |
_ |
VBS | 22 Apr 2015 7:34:29pm* | 3,981 | C:\ |
D:\ |
Component _ Not intended for user use (used internally). |
MonitorUninstallKey | VBS | 22 Apr 2015 7:34:28pm | 3,849 | C:\ |
D:\ |
Component MainFiles MD5 218A9534-2ED777E3-B5C8A651-E2DB0D9D Used to report what install key a product uses. |
MmValidate | VBS | 22 Apr 2015 7:34:27pm* | 12,015 | C:\ |
D:\ |
Component MmValidate. Used for command line or explorer based validation. |
_ |
VBS | 22 Apr 2015 7:34:25pm* | 10,337 | C:\ |
D:\ |
Component ForNT_ Exports a windows Installer database to .IDT (extracts binaries). Although not a virus it may be flagged as "probably unknown SCRIPT virus" by NOD32 |
_ |
vbs | 22 Apr 2015 7:34:24pm | 3,077 | C:\ [BUG_ DIAGDIR_ |
D:\ |
Component ShortCutDocoTestForA Run via shortcut to test for anti-virus or anti-spyware issues |
OrcaView | VBS | 22 Apr 2015 7:34:22pm | 4,059 | C:\ |
D:\ |
Component OrcaView. This tool is used for the right click MSI "view" option. |
DelOlderRE | VBS | 22 Apr 2015 7:34:21pm* | 10,279 | C:\ |
D:\ |
Component DelOlderRE. Can be used by schedules etc to delete old log files etc. |
MsiSync | VBS | 22 Apr 2015 7:34:20pm | 26,057 | C:\ |
D:\ |
Component MsiSync MD5 46C69B10-082DD89F-1F8065D5-09580676 A tool which you can use to keep installed MSIs up to date. A common file share could be updated with many MSIs which you want all users to have installed on their boxes. When executed this tool will look at all MSIs in the same tree as the VBS and install if required. |
VersionInformationBo |
vbs | 22 Apr 2015 7:34:19pm* | 4,372 | C:\ |
D:\ |
Component ShortCutVersionInfor Simple tool to create Windows Installer Guids, useful if you wish to specify guids in the VER file. |
MmWiGuid | vbs | 22 Apr 2015 7:34:19pm* | 1,442 | C:\ |
D:\ |
Component ShortCutMmWiGuid MD5 B69FEAD0-D14EE9C3-1CE5459A-E4E903E1 Install Time 22 Apr 2015 7:34:20pm Simple tool to create Windows Installer Guids, useful if you wish to specify guids in the VER file. |
OSamples | vbs | 22 Apr 2015 7:34:18pm | 2,486 | C:\ |
D:\ |
Component ShortCutOpenSamples MD5 E33B8A0C-8A505F4E-83B1A9F1-D1A6B9E3 Opens the "samples" folder (your code is copied here). |
MmMD5 | vbs | 22 Apr 2015 7:34:17pm* | 4,170 | [AppDataFolder]\ INSTALLDIR_ |
D:\ |
Component MD5SendToIconForNT MD5 FA7B25A5-48024383-C7064DF4-0C7EB667 Install Time 22 Apr 2015 7:34:18pm Displays MD5 for file. |
MmMD5 | VBS | 22 Apr 2015 7:34:17pm* | 4,170 | C:\ |
D:\ |
Component MmMD5. Displays the MD5 hash for a file (useful for comparing against generated HTML reports). |
MmLockFile | VBS | 22 Apr 2015 7:34:14pm | 1,391 | C:\ |
D:\ |
Component MmLockFile. Can be used to lock a file to test Windows Installer Installation etc. |
MmDocumentProperties | VBS | 22 Apr 2015 7:34:13pm* | 9,121 | [AppDataFolder]\ |
D:\ |
Component FileInfoSendToIconFo Can be used to dump document properties of office or other files. Similar to "StrFInfo.exe" |
MmDocumentProperties | VBS | 22 Apr 2015 7:34:13pm* | 9,121 | C:\ |
D:\ |
Component MmDocumentProperties Can be used to dump document properties of office or other files. Similar to "StrFInfo.exe" |
IisDumpMetaBase | VBS | 22 Apr 2015 7:34:13pm* | 6,346 | C:\ |
D:\ |
Component MainFiles MD5 7DDE2ADF-122051C4-CAE79208-1E272817 Install Time 22 Apr 2015 7:34:14pm Run via CSCRIPT to dump the IIS metabase (redirect output). |
MsiExecMm | hta | 22 Apr 2015 7:34:09pm* | 8,530 | C:\ |
D:\ |
Component RIGHT_ |
TryMeExcelAddIn | xla | 22 Apr 2015 5:52:24pm | 23,040 | C:\ |
D:\ |
Component SAMPLESDIR_ The "TryMeExcelAddIn.MM" sample needs this. |
TryMeExtnAction | MM | 13 Apr 2015 5:34:50pm | 6,272 | C:\ |
D:\ |
Component SAMPLESDIR_ Demonstrates file association (and New shortcut) creation. |
TEMPLATE_ |
MMH | 24 Mar 2015 6:35:32pm | 15,049 | C:\ |
D:\ |
Component MainFiles MD5 6E0A9330-769B3514-47E80849-87114A2E Contains all of the code required to create a simple msi following a certain pattern. |
RunCmd | mmh | 24 Mar 2015 6:35:26pm | 12,960 | C:\ |
D:\ |
Component MainFiles MD5 3FEF3C78-74FC5F4D-37B2C12E-F6A43060 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
MergeMod | mmh | 24 Mar 2015 6:35:10pm | 51,351 | C:\ |
D:\ |
Component MainFiles MD5 5B2713C4-7BB9853A-BB4D7A1C-3A5F86A4 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
ExeCA | mmh | 24 Mar 2015 6:35:02pm | 8,871 | C:\ |
D:\ |
Component MainFiles MD5 B5CD4AB1-BBD689C6-BFFD58C1-0681C847 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
TryMeTemplate-Simple |
MM | 3 Mar 2015 6:44:46pm | 4,471 | C:\ |
D:\ |
Component SAMPLESDIR_ A sample uses "TEMPLATE_MSI-SimpleSchedule.MMH" to create a single scheduled task. |
RegImport | mmh | 19 Nov 2011 1:59:02pm | 25,216 | C:\ |
D:\ |
Component MainFiles MD5 2CA25902-7834D767-94FDA542-2BC2BAFB One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
DialogTemplate | MMH | 2 May 2011 5:55:30pm | 61,503 | C:\ |
D:\ |
Component MainFiles MD5 244BED4A-A3E74EB7-B4F12B17-6DB4B622 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
TryMeDllCustomAction | MM | 26 Jun 2010 10:20:56am | 8,032 | C:\ |
D:\ |
Component SAMPLESDIR_ A sample that demonstrates a DLL custom action. |
DllCa-C | MMH | 18 Jun 2010 5:50:42pm | 37,163 | C:\ |
D:\ |
Component MainFiles MD5 06E5A8FA-1EFB7865-5284DFFB-08757DD7 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
DllCa | mmh | 20 Feb 2010 6:12:46pm | 7,385 | C:\ |
D:\ |
Component MainFiles MD5 45181BA6-B95574F8-DFEAED5A-C5196CEC One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
FireWall | mmh | 18 Feb 2010 5:54:36pm | 13,105 | C:\ [USER_ BY_ |
D:\ |
Component BY_ Supplied and maintained by Christoph Mockenhaupt (thanks). |
iZip | exe | 7 Feb 2010 8:34:22am | 118,784 | C:\ |
D:\ |
Component MainFiles MD5 4163DDC1-40B2727D-F0DAFAFC-D8A63E79 Version 3.1.0.0 INFO ZIP'S (zip.exe). File Description Info-ZIP Zip for Win32 console File Version 3.1c02 BETA Product Name Zip Product Version 3.1c02 BETA Company Name Info-ZIP Original Filename zip.exe |
DEBUG | MMH | 30 Jan 2010 3:53:20pm | 3,265 | C:\ |
D:\ |
Component MainFiles MD5 78510553-29978C66-0CBB4F48-132FF5EF One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
SelfRegImport-TEST | MMH | 26 Dec 2009 1:20:56pm | 12,351 | C:\ |
D:\ |
Component MainFiles MD5 19B4BE4F-C0632976-48EF34F0-11C4BF61 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
SelfRegImport | MMH | 26 Dec 2009 1:20:56pm | 7,963 | C:\ |
D:\ |
Component MORE_ Uses "SelfRegCapture.exe" to capture registry, exports and manipulates output (Intended to be used to pupulate "Registry" table with captured info). |
PossibleFalseAntiVir |
DH | 24 Nov 2009 5:42:06pm | 2,163 | C:\ |
D:\ |
Component SamplesMakeMsiSource MD5 2756CAFC-4624DC5C-0C7F14B6-982B3254 This is the source actually used to build this MAKEMSI tool's MSI. It will fail if you try to use it... |
MsiDiff | ver | 21 Sep 2009 4:09:28pm | 4,624 | C:\ |
D:\ |
Component SamplesMakeMsiSource MD5 E83A2F75-4B83D38D-917A761C-B32194E8 This is the source actually used to build this MSIDIFF tool's MSI. It will fail if you try to use it... |
HtmlMsiTable | mmh | 4 Jun 2009 6:37:08pm | 19,314 | C:\ |
D:\ |
Component MainFiles MD5 7F8FA607-BC3C5AA8-B6AEC35C-4F675AC2 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
schedule | mmh | 2 Jun 2009 5:22:06pm | 24,318 | C:\ |
D:\ |
Component MainFiles MD5 24C4FC8A-3980A2E0-339D0234-8F9FC37E One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
jsca | mmh | 30 May 2009 3:42:36pm | 12,153 | C:\ |
D:\ |
Component MainFiles MD5 8B0650A4-600BE38C-F42C28C2-186D1391 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
WrapInst | mmh | 30 May 2009 3:07:18pm | 20,469 | C:\ |
D:\ |
Component MainFiles MD5 17B74335-48EEA346-3CF3801C-FC5BC10E One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
VbscriptBasedService | MM | 30 May 2009 3:07:16pm | 8,873 | C:\ |
D:\ |
Component SAMPLESDIR_ Installs a VBSCRIPT based program as a service. |
JsCa-StartEnd | MMH | 30 May 2009 3:07:00pm | 20,466 | C:\ |
D:\ |
Component MainFiles MD5 C90C73C8-9876CAF9-51036AB5-A94B1ADD One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
CaType | MMH | 30 May 2009 3:06:52pm | 14,666 | C:\ |
D:\ |
Component MainFiles MD5 0ACE7B96-5B24BB43-FE41708D-18F4CFEB One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
FileInfo | mmh | 14 Feb 2009 9:40:38am | 21,677 | C:\ |
D:\ |
Component MainFiles MD5 5230AB78-17722D7C-9D8FE244-D186D581 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
Dialog | mmh | 10 Dec 2008 8:10:52pm | 11,664 | C:\ |
D:\ |
Component MainFiles MD5 583CE766-89FEC5F4-6A1C29B7-56D1AAA6 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
TableIE | mmh | 10 Dec 2008 5:33:02pm | 12,785 | C:\ |
D:\ |
Component MainFiles MD5 A63CA8A2-23FADAA7-B3E6AA2E-1BCE056B One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
TryMeWithUserDialog | MM | 15 Nov 2008 1:58:20pm | 26,854 | C:\ |
D:\ |
Component SAMPLESDIR_ The same as "TryMe.MM" but also inserts a user dialog into the user interface. |
TryMeAddVersionKeywo |
MM | 7 Nov 2008 6:48:00pm | 12,449 | C:\ |
D:\ |
Component SAMPLESDIR_ Demonstrates adding a version file keyword and adding launch conditions via the VERSION file! |
TryMeConditionDialog |
MM | 5 Nov 2008 5:29:24pm | 8,369 | C:\ |
D:\ |
Component SAMPLESDIR_ Demonstrates conditional dialog flow. |
Ver | mmh | 24 Oct 2008 9:54:40am | 24,808 | C:\ |
D:\ |
Component MainFiles MD5 32EC1FDA-7020D37E-C97AA1A8-B233D7F7 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
ListMsi | vbs | 3 Sep 2008 5:45:20pm | 6,170 | C:\ |
D:\ |
Component MainFiles MD5 60FDF20C-365A3856-17FB6E40-D04AD9B0 useful script to list installed products. |
TryMeLoadDirTreeMain |
MM | 30 Aug 2008 12:29:48pm | 19,081 | C:\ |
D:\ |
Component SAMPLESDIR_ Demonstrates loading a whole tree of files while maintaining both file and folder attributes. It also recreates empty directories. |
Tweek | mm | 23 Aug 2008 2:20:04pm | 4,919 | C:\ |
D:\ |
Component SAMPLESDIR_ Source for a script which makes one simple change to an MSI. |
MsiDiff | MM | 20 Aug 2008 5:17:46pm | 8,788 | C:\ |
D:\ |
Component SamplesMakeMsiSource MD5 B139B6DD-12D3846F-D56B0847-79C734D9 This is the source actually used to build this MSIDIFF tool's MSI. It will fail if you try to use it... |
Seq# | mmh | 16 Aug 2008 1:44:14pm | 8,186 | C:\ |
D:\ |
Component MainFiles MD5 46CC9D25-232BEFCF-4C37D9F0-DE218262 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
MacroCfg | mmh | 16 Aug 2008 1:44:04pm | 6,875 | C:\ |
D:\ |
Component MainFiles MD5 36CE6EFB-BDCAEFDB-25913740-CBC057CE One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
HookInto | MMH | 16 Aug 2008 1:44:00pm | 2,912 | C:\ |
D:\ |
Component MainFiles MD5 0ED5CAC6-83BC6B2F-2F27812B-895C1B4D One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
ProductValidation | MMH | 17 Jul 2008 10:09:52am | 17,347 | C:\ |
D:\ |
Component MainFiles MD5 E8AA9B11-D4A85245-B66929EB-691F4671 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
UiSample | msi | 17 Jul 2008 10:07:44am | 127,488 | C:\ |
D:\ |
Component MainFiles MD5 54959D36-9C273D3E-B4858878-FC40FA7F Template MSI used by "COMPANY.MMH". Title Installation Database Subject Put Product Name here Comments Contact: Your local administrator |
Access | MMH | 1 May 2008 6:41:28pm | 9,405 | C:\ |
D:\ |
Component MainFiles MD5 9A00F4CF-3D429823-C86A5D86-8BCEB08B One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
TableDef | mmh | 5 Apr 2008 10:56:00am | 18,705 | C:\ |
D:\ |
Component MainFiles MD5 DF820BB0-6F1C0239-0E3C846F-F70162CA One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
ErrorTemplates | TXT | 2 Apr 2008 7:57:18pm | 38,985 | C:\ |
D:\ |
Component MainFiles MD5 1A069DB3-01E201A3-512BD5E9-B24DF438 The default "error templates" which are used to format standard Windows Installer errors if an MSI build fails. |
MM_ |
txt | 23 Jan 2008 5:36:06pm | 2,088 | C:\ |
D:\ |
Component MainFiles MD5 F1968C9A-1E700283-3311D690-0A329F8D Used by "MM.CMD" which inserts basic support information into the "console" file (user can choose alternative text file for support informtion). |
Licence | rtf | 23 Dec 2007 12:41:34pm | 2,385 | C:\ |
D:\ |
Component ShortCutLicence MD5 00BAD493-7645D7DF-EF1BB6C3-D9907DFD The MAKEMSI licence file you agreed to during the install. |
TryMeUserInputUsed2C |
MM | 19 Nov 2007 7:28:58pm | 2,930 | C:\ |
D:\ |
Component SAMPLESDIR_ A sample that asks for user input at BUILD time. |
ADSI | mmh | 6 Nov 2007 9:47:20am | 31,682 | C:\ |
D:\ |
Component MainFiles MD5 770F2161-59247D46-80CD248D-DDD0CAC3 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
TryMe | VER | 10 Oct 2007 5:25:32pm | 1,481 | C:\ |
D:\ |
Component SAMPLESDIR_ The version file for the sample/test scripts "TryMe.MM" and "TryMeShortcuts.MM" etc! |
Feature | mmh | 27 Sep 2007 5:38:20pm | 11,551 | C:\ |
D:\ |
Component MainFiles MD5 46048479-907F3DFA-B92469BA-5D078729 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
FreeExtractor | MMH | 15 Sep 2007 6:31:14pm | 11,983 | C:\ |
D:\ |
Component MainFiles MD5 A1319C51-DA5DEC10-64A3920A-A302C9FE A MSI2EXE framework based on the open source FreeExtractor. |
CmdPrompt | cmd | 15 Sep 2007 6:30:58pm | 1,023 | C:\ |
D:\ |
Component RIGHT_ Command for New->Command Prompt |
COMPLUS | mmh | 23 Aug 2007 5:55:06pm | 40,645 | C:\ |
D:\ |
Component MainFiles MD5 95DA520B-7A3C08AB-9C135F05-2CB22FF0 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
summary | mmh | 10 Aug 2007 5:25:22pm | 5,519 | C:\ |
D:\ |
Component MainFiles MD5 E5B16FFB-02D08C7F-CBA487D7-2A21536E One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
MmMode | mmh | 31 Jul 2007 5:49:18pm | 4,987 | C:\ |
D:\ |
Component MainFiles MD5 A1802677-3D716C49-B2013F09-8C6EA710 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
re4mm | p | 16 Jul 2007 5:43:28pm | 1,148 | C:\ |
D:\ |
Component ForNT_ PPWIZARD script used by "_re4mm.cmd". |
srccode | mmh | 23 Jun 2007 6:18:56pm | 6,144 | C:\ |
D:\ |
Component MainFiles MD5 BDAC57A8-85B68E70-FD9C75F4-B20C36C8 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
Icon | mmh | 23 Jun 2007 6:18:48pm | 7,685 | C:\ |
D:\ |
Component MainFiles MD5 76F2173B-274D7EC8-2CEB94B6-15C22CB2 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
TryMeDutch | ver | 4 Jun 2007 5:40:56pm | 1,165 | C:\ |
D:\ |
Component SAMPLESRELDIR_ Dutch localisation example file. |
TryMeDutch | MM | 26 May 2007 1:58:22pm | 3,849 | C:\ |
D:\ |
Component SAMPLESRELDIR_ Dutch localisation example file. |
TryMeDutch | rtf | 26 May 2007 10:03:58am | 296 | C:\ |
D:\ |
Component SAMPLESRELDIR_ Dutch localisation example file. |
TryMeUpdateRegistry0 |
MM | 25 May 2007 6:01:30pm | 5,436 | C:\ |
D:\ |
Component SAMPLESDIR_ Demonstrates finding a "suitable" registry location (conditional logic without custom action). |
ReadMe_ |
TXT | 25 May 2007 1:18:42pm | 6,859 | C:\ |
D:\ |
Component SAMPLESRELDIR_ Dutch localisation example file. |
Control | NLD | 24 May 2007 7:47:00pm | 13,128 | C:\ [SAMPLESRELDIR_ _ |
d:\ |
Component c1. Windows Installer ".IDT" files with dutch text, imported by "TryMe_Dutch.MM" to convert text from english. |
Dialog | NLD | 24 May 2007 6:27:32pm | 367 | C:\ |
d:\ |
Component c1. Windows Installer ".IDT" files with dutch text, imported by "TryMe_Dutch.MM" to convert text from english. |
LanguageIdentifiers | txt | 24 May 2007 6:08:02pm | 692 | C:\ [SAMPLESRELDIR_ _ |
d:\ |
Component c3. Part of the dutch example. |
Property | NLD | 24 May 2007 5:56:06pm | 669 | C:\ |
d:\ |
Component c1. Windows Installer ".IDT" files with dutch text, imported by "TryMe_Dutch.MM" to convert text from english. |
UIText | NLD | 14 May 2007 5:50:32pm | 3,787 | C:\ |
d:\ |
Component c1. Windows Installer ".IDT" files with dutch text, imported by "TryMe_Dutch.MM" to convert text from english. |
RadioButton | NLD | 11 May 2007 8:51:32pm | 497 | C:\ |
d:\ |
Component c1. Windows Installer ".IDT" files with dutch text, imported by "TryMe_Dutch.MM" to convert text from english. |
PY2MSI | MMH | 26 Feb 2007 5:22:08pm | 14,380 | C:\ |
D:\ |
Component MainFiles MD5 6E6C1E9E-0E4C4A19-92E8CDB0-FCDEED3A One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
HotFix4WinXpSp2 | mmh | 7 Feb 2007 6:24:34pm | 4,488 | C:\ [SAMPLESDIR_ _ |
D:\ |
Component SAMPLESDIR_ Used by "TryMeWindowsHotFix.MM" |
HotFix | MMH | 2 Jan 2007 5:18:04pm | 20,839 | C:\ |
D:\ |
Component MainFiles MD5 8F045DC0-9909BFE2-25D8A837-C1B748CE A hotfix framework (not automatically included by MAKEMSI). Definately "beta" code at best at this stage, please report improvements or issues. |
TryMeWindowsHotFix | mm | 21 Dec 2006 5:54:02pm | 1,296 | C:\ |
D:\ |
Component SAMPLESDIR_ Sample script for hotfix MSI creation (uses common version file). |
TryMeCreate[START]Of |
MM | 21 Dec 2006 5:54:02pm | 1,958 | C:\ |
D:\ |
Component SAMPLESDIR_ Demonstrates creation of MSI with full control (no framework). It generates a partial MSI which will not install. |
HotFix4WinXpSp2 | VER | 21 Dec 2006 5:53:54pm | 1,212 | C:\ |
D:\ |
Component SAMPLESDIR_ Used by "HotFix4WinXpSp2.mmh" (at least by default). |
TryMeWithNoRootFeatu |
MM | 29 Nov 2006 6:31:54pm | 5,167 | C:\ |
D:\ |
Component SAMPLESDIR_ Demonstrates disabling "complete" feature creation and so doco manipulations. |
TryMeUseMergeModule | MM | 29 Nov 2006 6:31:54pm | 1,392 | C:\ |
D:\ |
Component SAMPLESDIR_ A sample which uses the merge module created with "TryMeCreateMergeModule.mm". |
TryMeCreateMergeModu |
mm | 29 Nov 2006 6:31:54pm | 3,367 | C:\ |
D:\ |
Component SAMPLESDIR_ Simple Sample to create a merge module. |
TryMeCreateMergeModu |
VER | 29 Nov 2006 6:31:54pm | 933 | C:\ |
D:\ |
Component SAMPLESDIR_ Simple Sample to create a merge module. |
MAKEMSI | ver | 11 Nov 2006 5:14:08pm | 1,742 | C:\ |
D:\ |
Component SamplesMakeMsiSource MD5 250FE91B-A0F62255-26636AA3-57952EC7 This is the source actually used to build this MAKEMSI tool's MSI. It will fail if you try to use it... |
TryMeCreateIisSite | MM | 1 Nov 2006 5:38:20pm | 19,226 | C:\ |
D:\ |
Component SAMPLESDIR_ A sample that demonstrates creating IIS web sites. |
FixMergeModules | mm | 1 Nov 2006 5:38:04pm | 3,771 | C:\ |
D:\ |
Component SAMPLESDIR_ Source for a script which fixes some badly written Visual Studio .NET merge modules. |
binary | mmh | 20 Oct 2006 7:04:06pm | 11,651 | C:\ |
D:\ |
Component MainFiles MD5 DBC22246-F9BB9A05-7A55A17F-5F78A355 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
DirMap | mmh | 13 Oct 2006 8:33:14pm | 4,391 | C:\ |
D:\ |
Component MainFiles MD5 63DB5598-0B67A733-4755A1F5-10892790 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
MakeMsm | mmh | 11 Sep 2006 5:18:30pm | 14,120 | C:\ |
D:\ |
Component MainFiles MD5 5D01AD93-917935E8-9EA0D1D0-F8E364A3 Include this to create a MSM (merge module). |
TransformMsi | MMH | 16 Aug 2006 7:35:20pm | 6,597 | C:\ |
D:\ |
Component MainFiles MD5 81B68233-27F846E9-4311D1EA-361E5BF9 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
MsiExtra | mmh | 16 Aug 2006 7:35:14pm | 19,689 | C:\ |
D:\ |
Component MainFiles MD5 E487C77D-84EA30F7-923FE9BF-BCF5BD6F One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
ICE | mmh | 22 Jul 2006 10:22:14am | 21,364 | C:\ |
D:\ |
Component MainFiles MD5 0C75F2FE-1BE91DB4-733F32EA-651F57CD Include this to create/update an CUB file (ICE validator) |
IceAddToOrca | MM | 22 Jul 2006 10:07:42am | 2,959 | C:\ |
D:\ |
Component SAMPLESDIR_ Used to Add the CUB generated by "ICE.MM" to the ORCA tool's menu. |
TryMeWithNonAdvShort |
MM | 22 Jun 2006 7:14:24pm | 6,659 | C:\ |
D:\ |
Component SAMPLESDIR_ Most advanced sample installed, creates non-advertised shortcut plus demos other things. |
TryMeWithFixedGuids | MM | 22 Jun 2006 7:14:24pm | 3,973 | C:\ |
D:\ |
Component SAMPLESDIR_ Demonstrates control over the GUIDs used (required if upgrade types other than "major" are desired). |
LeftSide | bmp | 3 Jun 2006 4:34:14pm | 6,642 | C:\ |
D:\ |
Component MainFiles MD5 942C4405-AC3EE58E-33CE390F-FBEB4DC1 My replacement bitmap for the left side of some dialogs (like "welcome" and "finish" dialogs). Dimensions ?503 x 314? |
FileInfo | cmd | 15 Jan 2006 2:23:26pm | 2,325 | [AppDataFolder]\ |
D:\ |
Component FileInfoSendToIconFo Dumps STRFINFO and Document Properties for a file. |
selfreg_ |
mmh | 5 Nov 2005 7:31:38pm | 4,032 | C:\ |
D:\ |
Component MORE_ Include by "SelfRegImport.MMH". |
List | mmh | 26 Oct 2005 6:33:00pm | 3,870 | C:\ |
D:\ |
Component MainFiles MD5 527F05A0-1990DBB0-19233BD2-2AFB59BF One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
ImportTranslations | MMH | 25 Oct 2005 6:14:42pm | 12,273 | C:\ |
D:\ |
Component MainFiles MD5 9612CD37-82C9DCC5-9AF91708-B40F4888 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
HtmlSort | mmh | 25 Oct 2005 6:14:40pm | 14,309 | C:\ |
D:\ |
Component MainFiles MD5 AEE8812E-A94866B0-74ADEE87-DFDB4CFD One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
TryMeWithMultipleMed |
MM | 7 Oct 2005 5:18:08pm | 2,867 | C:\ |
D:\ |
Component SAMPLESDIR_ Demonstrates generating MSI with external CABs over myultiple media. |
TryMeTaskSchedules | MM | 7 Oct 2005 5:18:08pm | 10,206 | C:\ |
D:\ |
Component SAMPLESDIR_ A sample that uses JT.EXE to create task schedules. |
CMDPRMT - 22. |
ICO | 4 Oct 2005 7:11:50pm | 766 | C:\ |
D:\ |
Component RIGHT_ Icon for New->Command Prompt Dimensions ?32 x 32? |
patch | txt | 21 Sep 2005 7:23:16pm | 14,109 | C:\ [USER_ BY_ |
D:\ |
Component BY_ Supplied and maintained by Julian Onions (thanks). |
patch | mmh | 21 Sep 2005 7:23:16pm | 12,573 | C:\ |
D:\ |
Component BY_ Supplied and maintained by Julian Onions (thanks). |
Stamp | mmh | 10 Aug 2005 6:43:44pm | 3,973 | C:\ |
D:\ |
Component MainFiles MD5 397F803E-0D76841E-F929739A-E26AC5ED One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
service | mmh | 10 Aug 2005 6:43:42pm | 10,265 | C:\ |
D:\ |
Component MainFiles MD5 EC643B51-8BBEFC48-AA725C4A-3CCD4573 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
SourceFile | mmh | 10 Aug 2005 6:43:42pm | 2,153 | C:\ |
D:\ |
Component MainFiles MD5 4F2364ED-ECEFC640-7E63BDCF-1907D990 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
RegistryCmt | mmh | 10 Aug 2005 6:43:42pm | 3,016 | C:\ |
D:\ |
Component MainFiles MD5 C8984AAA-29DA5C15-D1B517D3-D6BC0DB7 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
NotMsiFmt | mmh | 10 Aug 2005 6:43:40pm | 2,463 | C:\ |
D:\ |
Component MainFiles MD5 98356FBF-76DF9751-F9CEB993-82DC3D66 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
KeyPath | MMH | 10 Aug 2005 6:43:38pm | 2,640 | C:\ |
D:\ |
Component MainFiles MD5 FDF8463C-70AEC6CC-92606994-32D4AFAB One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
IniImport | MMH | 10 Aug 2005 6:43:36pm | 11,635 | C:\ |
D:\ |
Component MainFiles MD5 7EFE757C-ECC4C50E-4DB66BFE-F4BD5122 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
HtmlDir | mmh | 10 Aug 2005 6:43:36pm | 15,721 | C:\ |
D:\ |
Component MainFiles MD5 BB4547F7-D3652555-83DABE05-10A2AF83 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
FileCmt | mmh | 10 Aug 2005 6:43:36pm | 2,894 | C:\ |
D:\ |
Component MainFiles MD5 9B17BEEB-351D24A2-B9322D43-EDF74CE0 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
DirCompress | mmh | 10 Aug 2005 6:43:34pm | 3,838 | C:\ |
D:\ |
Component MainFiles MD5 4B846295-93CD31D5-BF9FA979-6758FDFE One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
_ |
cmd | 2 Aug 2005 5:20:44pm | 665 | C:\ |
D:\ |
Component ForNT_ Batch file to convert a .INI file to MAKEMSI format (used via Explorer). |
IniMM | p | 2 Aug 2005 5:20:34pm | 1,113 | C:\ |
D:\ |
Component ForNT_ PPWIZARD script used by "_IniMM.cmd". |
IniMM - 22. |
ICO | 27 Jul 2005 7:36:52pm | 7,406 | C:\ |
D:\ |
Component ForNT_ Icon for .INIMM files (exported ".ini" files converted to MAKEMSI format). Dimensions ?48 x 48? |
AdsiDumpObject | H | 22 Jul 2005 5:55:04pm | 7,729 | C:\ |
D:\ |
Component MainFiles MD5 5EB22C4A-738BDEE4-068D0B40-F171E5DF Needed by ADSI.MMH |
MsiSync | XML | 28 May 2005 10:15:58am | 1,421 | C:\ |
D:\ |
Component MsiSync MD5 83B92714-40BD473D-DAD7A061-39FEAE06 "MsiSync.VBS" xml Configuration file which safely points to a non-existant directory. Good example. |
MsiSync | XSD | 27 May 2005 5:36:12pm | 7,986 | C:\ |
D:\ |
Component MsiSync MD5 1D049CCE-AEC444EB-A66004F5-49A3CE58 Style sheet for the "MsiSync.VBS" XML configuration file. |
RegressionTests | MMH | 7 May 2005 9:10:10am | 1,778 | C:\ |
D:\ |
Component SAMPLESDIR_ Regression Test source code. |
RegressionTests | MMH | 7 May 2005 9:10:10am | 1,778 | C:\ |
D:\ |
Component MainFiles MD5 4A2C4CA7-188EE532-CAB03B72-77F1E35F One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
MM | BAT | 7 May 2005 9:10:08am | 687 | C:\ |
D:\ |
Component ForDOS MD5 12D0571C-A25704E9-0C2E4001-F759C5BF A small "sample" batch file to build an MSI (eventually I will also add explorer right click option for building MSIs). |
DEPT | mmh | 7 May 2005 9:10:04am | 4,275 | C:\ |
D:\ |
Component MainFiles MD5 C68958FE-29943A66-EAEFDE15-8B8D7D89 One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
TryMe | rtf | 4 May 2005 11:34:16am | 1,180 | C:\ |
D:\ |
Component SAMPLESDIR_ Licence file (specified by "TryMe.ver"). |
_ |
cmd | 8 Feb 2005 7:45:38pm | 661 | C:\ |
D:\ |
Component ForNT_ Batch file to convert a regedit4 formatted file to MAKEMSI format (used via Explorer). |
BugDetectionForShort |
vbs | 12 Dec 2004 1:38:02pm | 6,712 | C:\ |
D:\ |
Component BugDiagnostics MD5 C1C21536-5FAD014F-54F5623E-40F2413F Can be used to test for a specific bug. |
VbscriptBasedService | VER | 29 Nov 2004 8:26:56pm | 1,001 | C:\ |
D:\ |
Component SAMPLESDIR_ Installs a VBSCRIPT based program as a service. |
IceAddToOrca | VER | 11 Nov 2004 6:09:44pm | 1,007 | C:\ |
D:\ |
Component SAMPLESDIR_ Used to Add the CUB generated by "ICE.MM" to the ORCA tool's menu. |
ICE | mm | 11 Nov 2004 6:09:42pm | 8,311 | C:\ |
D:\ |
Component SAMPLESDIR_ Source for a working addition to normal MSI validations. |
FFFE | HEX | 7 Nov 2004 11:48:18am | 2 | C:\ |
D:\ |
Component FFFE. Used by "MmValidate.VBS". |
RegressionTests-ExeC |
mm | 7 Oct 2004 6:09:02pm | 3,386 | C:\ |
D:\ |
Component SAMPLESDIR_ Regression Test source code. |
RegressionTests | VER | 7 Oct 2004 6:09:02pm | 1,081 | C:\ |
D:\ |
Component SAMPLESDIR_ Regression Test source code. |
Reg4mm | exe | 24 Sep 2004 8:59:06am | 40,960 | C:\ |
D:\ |
Component Reg4mm. A renamed "regina.exe" (rexx interpreter), required by "PPWIZARD". File patched to load "Reg4mm.dll". File Description Regina Rexx Launcher File Version 3.2.0 Product Name Regina Rexx Interpreter Product Version 3.2.0 Author Anders Christensen Maintainer Mark Hessling Original Filename REGINA.EXE |
Reg4mm | dll | 24 Sep 2004 8:59:06am | 442,417 | C:\ |
D:\ |
Component Reg4mm. A renamed "regina.dll", required by "Reg4mm.exe" (rexx interpreter) File Description Regina Rexx Interpreter File Version 3.2.0 Product Name Regina Rexx Interpreter Product Version 3.2.0 Author Anders Christensen Maintainer Mark Hessling Original Filename REGINA.DLL |
MsiLogging-ON | reg | 8 Sep 2004 5:32:44pm | 784 | C:\ |
D:\ |
Component MSI_ REGEDIT4 script to turn on verbose Windows Installer Logging (to temp directory). |
MsiLogging-OFF | reg | 8 Sep 2004 5:32:44pm | 703 | C:\ |
D:\ |
Component MSI_ REGEDIT4 script to turn off Windows Installer Logging. |
MmCustomSetup | ico | 4 Sep 2004 12:49:20pm | 2,998 | C:\ |
D:\ |
Component MainFiles MD5 FA690A4B-3C5B9C9F-AF289420-6DE5FA38 Better custom setup icon than that provided by "UISAMPLE.MSI". Dimensions ?32 x 32? |
LeftSide-Dennis | bmp | 21 Aug 2004 6:21:50pm | 24,144 | C:\ |
D:\ |
Component MainFiles MD5 5D18BD8B-8C5DF9A1-4792D7E8-FE4812B4 The graphic that "DENNIS.MMH" (my MSIs) use (please don't use. Dimensions ?503 x 314? |
MsiExecMm | ico | 21 Aug 2004 11:42:54am | 766 | C:\ |
D:\ |
Component RIGHT_ Dimensions ?32 x 32? |
LeftSide-MakeMsi | BMP | 14 Aug 2004 11:27:04am | 17,566 | C:\ |
D:\ |
Component SamplesMakeMsiSource MD5 BC6759E0-6DF782FA-FDFACDA6-DCAEDD01 This is the source actually used to build this MAKEMSI tool's MSI. It will fail if you try to use it... Dimensions ?503 x 314? |
Loop | mmh | 31 Jul 2004 6:18:52pm | 1,440 | C:\ |
D:\ |
Component MainFiles MD5 107A814A-E0A8EE35-0F8E6C1D-89E8595D One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)! |
BugDetectionForCreat |
VBS | 10 Jun 2004 5:37:00pm | 2,244 | C:\ |
D:\ |
Component BugDiagnostics MD5 903B5546-448FD067-9CB868F5-F60C68FA Can be used to test for a specific bug. |
$$$RunAllTests$$$ | CMD | 8 Jun 2004 5:21:28pm | 87 | C:\ |
D:\ |
Component BugDiagnostics MD5 C08DC20B-113A275E-4C689638-37A473B8 Can be used to test for a specific bug. |
BugDetectionForRegEx |
vbs | 8 Jun 2004 2:11:24pm | 559 | C:\ |
D:\ |
Component BugDiagnostics MD5 CBFBEB1F-FEFB0975-4EBC53C4-78FD062B Can be used to test for a specific bug. |
_ |
cmd | 15 May 2004 5:17:50pm | 714 | C:\ |
D:\ |
Component ForNT_ Batch file to convert .IDT files to MAKEMSI table definitions format (used via Explorer). |
IDT2DEFN | p | 15 May 2004 5:17:46pm | 957 | C:\ |
D:\ |
Component ForNT_ PPWIZARD script used by "_IDT2DEFN.cmd". |
IDT - 22. |
ICO | 14 May 2004 3:01:14pm | 766 | C:\ |
D:\ |
Component ForNT_ Icon for .RE4MM files (exported ".reg" files converted to MAKEMSI format). Dimensions ?32 x 32? |
TryMe | ICO | 14 May 2004 3:01:08pm | 766 | C:\ |
D:\ |
Component SAMPLESDIR_ Icon only used by the MSI created by "TryMeShortcuts.MM". Dimensions ?32 x 32? |
MM9X | PPW | 14 Apr 2004 11:58:44am | 676 | C:\ |
D:\ |
Component ForDOS MD5 9400EDE3-7EC832BE-6F3A122F-3DF8C816 Used by MM9X.BAT (alias "MM.BAT"). |
Error | NLD | 21 Mar 2004 4:40:06pm | 18,947 | C:\ [SAMPLESRELDIR_ _ |
d:\ |
Component c2. Windows Installer ".IDT" files with dutch text, imported by "TryMe_Dutch.MM" to convert text from english. |
ActionTe | NLD | 21 Mar 2004 4:40:06pm | 6,238 | C:\ |
d:\ |
Component c2. Windows Installer ".IDT" files with dutch text, imported by "TryMe_Dutch.MM" to convert text from english. |
MmDefaultProductIcon | ico | 15 Nov 2003 7:34:30am | 4,710 | C:\ |
D:\ |
Component MainFiles MD5 10392B88-7B146654-6D62B7BC-0AC74AF0 Default Product Icon. I use one because I have seen a Windows Installer or Add remove bug cause the first icon to be used if no product icon defined! Dimensions ?32 x 32? |
Aust_ |
bmp | 14 Nov 2003 12:47:40pm | 630 | C:\ |
D:\ |
Component MainFiles MD5 D81C2CC6-6B2343FD-EF7CB5FE-C8F3B28C My replacement bitmap for top right of install dialog. Dimensions ?32 x 32? |
Aust_ |
ico | 14 Nov 2003 12:47:20pm | 766 | C:\ |
D:\ |
Component MainFiles MD5 6D065D6D-219DBB4C-672C4708-4FB697CA Sample icon as used by Dennis Bareis. Dimensions ?32 x 32? |
StrFInfo | exe | 6 Nov 2003 6:27:50pm | 32,768 | [AppDataFolder]\ |
D:\ |
Component FileInfoSendToIconFo Used to dump executable file information in the HTML report (not used for MSI version information in "File" table). Also see "MmDocumentProperties.VBS". |
StrFInfo | exe | 6 Nov 2003 6:27:50pm | 32,768 | C:\ |
D:\ |
Component StrFInfo. Used to dump executable file information in the HTML report (not used for MSI version information in "File" table). Also see "MmDocumentProperties.VBS". |
PrettyMd5 | VH | 20 Oct 2003 6:03:30pm | 1,466 | C:\ |
D:\ |
Component MainFiles MD5 930CF862-CF96B886-51F29ABD-9A3ADCB2 Common VBSCRIPT functions to create a pretty MD5 given an installer MD5 record. |
HTMLPRE | IH | 26 Aug 2003 6:51:54pm | 8,094 | C:\ |
C:\ |
Component MainFiles MD5 D939C118-2C244919-040429AA-5660CD2D Enables source code to be listed in the generated HTML report. |
4MM (rexx) - 22. |
ICO | 8 Aug 2003 4:40:08pm | 766 | C:\ |
D:\ |
Component ENVIRONMENT_ Icon for .4MM files (rexx files for MAKEMSI). Dimensions ?32 x 32? |
MM - 22. |
ICO | 7 Aug 2003 5:45:20pm | 766 | C:\ |
D:\ |
Component MakeMsiAssociations MD5 58BC175A-00DEA342-D551A8B7-35D29D96 Icon for .MMH files Dimensions ?32 x 32? |
VER - 22. |
ICO | 7 Aug 2003 5:43:20pm | 766 | C:\ |
D:\ |
Component MakeMsiAssociations MD5 3D9E3AC7-CAFF6A70-84D5DA89-B1F2A459 Icon for .VER files Dimensions ?32 x 32? |
PrettyBanner | bmp | 8 Jun 2003 4:45:40pm | 6,942 | C:\ |
D:\ |
Component MainFiles MD5 2300C8FE-8E0D5D1A-FC1773A4-B0C06854 Replacement "white bar" on top of install dialogs. Dimensions ?500 x 60? |
LeftSide-Purple | bmp | 23 May 2003 5:51:02pm | 6,116 | C:\ |
D:\ |
Component MainFiles MD5 C537B050-720487A7-328FC4D1-FF4D2B74 A alternative graphic you can use. Dimensions ?503 x 314? |
SidToName | exe | 7 Mar 2003 1:07:20am | 322,048 | C:\ |
D:\ |
Component PerUser. Free program from www.joeware.net (used by PerUser.VBS) File Version 2.0.0.10 Product Version 1.0.0.0 |
white | bmp | 3 Mar 2003 7:03:04pm | 130 | C:\ |
D:\ |
Component MainFiles MD5 08F20C63-DE9D92A8-E369649E-56BF1D08 Replacement "white bar" on top of install dialogs. Dimensions ?3 x 3? |
SelfRegCapture | exe | 26 Feb 2003 6:19:38pm | 36,864 | C:\ |
D:\ |
Component SelfRegCapture. Used by "SelfRegImport". Captures self registration info to HKCU\Software\RegSpy without registering the DLL etc. File Description RegSpy - monitors self registration of executable files. Created for MAKEMSI (Windows Installer creation tool). File Version 3, 57, 0, 0 Product Name RegSpy Product Version 3, 57, 0, 0 Company Name Dennis Bareis Original Filename RegSpy.exe |
MsmTemplate-Schema-1 |
MSM | 26 Feb 2003 4:09:06pm | 7,680 | C:\ |
D:\ |
Component MainFiles MD5 B6D17A6C-62BB1925-D9EA0CB4-6BA1C381 Template MSM used by "MAKEMSM.MMH". Title Installation Database Subject Merge Module Table Schema Comments Contact: Your local administrator |
RunProcess_ |
exe | 12 Dec 2002 1:08:20pm | 110,592 | C:\ |
D:\ |
Component RUNPROCESS. Freeware tool by Frank P. Westlake. |
RunProcess_ |
txt | 20 Oct 2002 2:35:46pm | 13,578 | C:\ |
D:\ |
Component RUNPROCESS. Freeware tool by Frank P. Westlake. |
ConSetBuffer | exe | 2 Jan 2001 8:45:42am | 65,536 | C:\ |
D:\ |
Component ForNT MD5 7A0FE0C8-2F248D41-78090A71-930AAAA5 A free utility by Frank P. Westlake to set buffer size. |
CTEXT | EXE | 19 Aug 2000 8:55:00am | 40,960 | C:\ |
D:\ |
Component CTEXT. If exists, "PPWIZARD" will use for coloured console output. |
Rexx (regina) | chm | 9 Jun 2000 9:43:34am | 382,842 | C:\ |
D:\ |
Component ShortCutDocoReginaRe Regina's (rexx interpreter) documentation. The document is in Windows Compiled Help format and so has a contents, an index and can be searched. |
RegularExpTestMm | ico | 22 Aug 1998 1:59:52pm | 766 | C:\ |
D:\ |
Component MainFiles MD5 B403BFFD-981E056B-761246EC-3434DD6B Tests regular expressions Dimensions ?32 x 32? |
MMH - 22. |
ICO | 1 Dec 1993 9:39:40am | 766 | C:\ |
D:\ |
Component MakeMsiAssociations MD5 655A1A56-E52C82D3-EBA50A66-BC95308C Icon for .MM files Dimensions ?32 x 32? |
RE4MM - 22. |
ICO | 10 Jul 1990 9:58:28am | 766 | C:\ |
D:\ |
Component ForNT_ Icon for .RE4MM files (exported ".reg" files converted to MAKEMSI format). Dimensions ?32 x 32? |
13,090,388 bytes in 283 file(s).
Table | Key | Source Directory |
File Name |
Time | Size | Comment |
---|---|---|---|---|---|---|
Icon | Anti.22.0.147.0000.ico.exe | D:\ |
Anti.ico | 1 Aug 1990 1:44:58am | 766 | MD5 01A0B64B- Dimensions ?32 x 32? This icon was added by the 'Shortcut' command at MAKEMSI.mm(996) |
Icon | Aust_DB.22.0.147.0000.ico.exe | D:\ |
Aust_DB.ico | 14 Nov 2003 12:47:20pm | 766 | MD5 6D065D6D- Dimensions ?32 x 32? This is the product's icon (in add/remove applet). |
Icon | FileInfo.22.0.147.0000.ico.exe | D:\ |
FileInfo.ico | 26 Oct 1994 1:00:00am | 766 | MD5 2F232FBC- Dimensions ?32 x 32? |
Icon | MmWiGuid.22.0.147.0000.ico.exe | D:\ |
MmWiGuid.ico | 8 May 2003 9:19:00pm | 766 | MD5 78407BB6- Dimensions ?32 x 32? |
Icon | MonitorUninstallKey.22.0.147.0000.ico.exe | D:\ |
MonitorUninstallKey.ico | 1 Aug 1990 1:01:00am | 766 | MD5 41F7C568- Dimensions ?32 x 32? |
Icon | OSamples.22.0.147.0000.ico.exe | D:\ |
OSamples.ico | 8 May 2003 9:17:50pm | 766 | MD5 9B424A66- Dimensions ?32 x 32? |
Icon | RegularExpTestMm.22.0.147.0000.ico.exe | D:\ |
RegularExpTestMm.ico | 22 Aug 1998 1:59:52pm | 766 | MD5 B403BFFD- Dimensions ?32 x 32? This icon was added by the 'Shortcut' command at MAKEMSI.mm(361) |
Icon | ScriptDiag.22.0.147.0000.ico.exe | D:\ |
ScriptDiag.ico | 8 May 2003 9:17:50pm | 766 | MD5 9B424A66- Dimensions ?32 x 32? This icon was added by the 'Shortcut' command at MAKEMSI.mm(971) |
Icon | VersionInformationBox.22.0.147.0000.ico.exe | D:\ |
VersionInformationBox.ico | 20 Jan 2004 7:27:10pm | 766 | MD5 F0E8B336- Dimensions ?32 x 32? |
Icon | _5.22.0.147.0000.ico.exe | D:\ |
5.ico | 10 Jul 2003 8:57:30am | 766 | MD5 DD9FF541- Dimensions ?32 x 32? This icon was added by the 'Shortcut' command at MAKEMSI.mm(1758) |
Icon | _Mangled.22.0.147.0000.ico.exe | D:\ |
_Mangled.ico | 24 Apr 1998 1:00:00am | 1,078 | MD5 9732C03F- Dimensions ?16 x 16? |
Icon | help.22.0.147.0000.ico.exe | D:\ |
help.ico | 28 Apr 2003 5:29:36pm | 4,846 | MD5 72A5807C- Dimensions ?48 x 48? |
Icon | licence.22.0.147.0000.ico.exe | D:\ |
licence.ico | 24 May 2004 5:22:50pm | 1,078 | MD5 E9A9EE83- Dimensions ?32 x 32? |
HKEY (Hive) |
Key | Value Name |
Type | Value | Comment |
---|---|---|---|---|---|
CLASSES_ |
. |
STRING | ReginaScript4MM | Component ENVIRONMENT_ |
|
CLASSES_ |
. |
STRING | INIMM | Component ForNT_ |
|
CLASSES_ |
. |
STRING | MAKEMSI. |
Component MakeMsiAssociations |
|
CLASSES_ |
. |
STRING | MAKEMSI. |
Component MakeMsiAssociations |
|
CLASSES_ |
. |
STRING | MmTable | Component ForNT_ |
|
CLASSES_ |
. |
STRING | txtfile | Component RIGHT_ |
|
CLASSES_ |
. |
STRING | RE4MM | Component ForNT_ |
|
CLASSES_ |
. |
STRING | MAKEMSI. |
Component MakeMsiAssociations |
|
CLASSES_ |
. |
Command | STRING | "%COMSPEC%" / |
Component RIGHT_ |
CLASSES_ |
. |
STRING | aaaa-NewCmdPrompt | Component RIGHT_ |
|
CLASSES_ |
. |
STRING | "[WSCRIPT. |
Component RIGHT_ |
|
CLASSES_ |
. |
STRING | VIEW With Orca | Component RIGHT_ |
|
CLASSES_ |
. |
STRING | "[WSCRIPT. |
Component RIGHT_ |
|
CLASSES_ |
. |
STRING | Export to . |
Component RIGHT_ |
|
CLASSES_ |
. |
STRING | [DEFAULT_ |
Component ForNT_ |
|
CLASSES_ |
. |
STRING | Edit TABLE DEFINITIO |
Component ForNT_ |
|
CLASSES_ |
. |
STRING | "[INSTALLDIR]_ |
Component ForNT_ |
|
CLASSES_ |
. |
STRING | Convert to MAKEMSI T |
Component ForNT_ |
|
CLASSES_ |
. |
STRING | "[WSCRIPT. |
Component RIGHT_ |
|
CLASSES_ |
. |
STRING | VIEW With Orca | Component RIGHT_ |
|
CLASSES_ |
. |
STRING | "[CSCRIPT. |
Component RIGHT_ |
|
CLASSES_ |
. |
STRING | Validate It | Component RIGHT_ |
|
CLASSES_ |
. |
STRING | "[WSCRIPT. |
Component RIGHT_ |
|
CLASSES_ |
. |
STRING | Export to . |
Component RIGHT_ |
|
CLASSES_ |
. |
STRING | "[WSCRIPT. |
Component RIGHT_ |
|
CLASSES_ |
. |
STRING | VIEW With Orca | Component RIGHT_ |
|
CLASSES_ |
. |
STRING | "[WSCRIPT. |
Component RIGHT_ |
|
CLASSES_ |
. |
STRING | Export to . |
Component RIGHT_ |
|
CLASSES_ |
AllFilesystemObjects |
STRING | "[WSCRIPT. |
Component Md5RightClickForDos |
|
CLASSES_ |
AllFilesystemObjects |
STRING | Display MD5 | Component Md5RightClickForDos |
|
CLASSES_ |
INIMM\ |
STRING | [INSTALLDIR]IniMM - |
Component ForNT_ |
|
CLASSES_ |
INIMM\ |
STRING | [DEFAULT_ |
Component ForNT_ |
|
CLASSES_ |
INIMM\ |
STRING | Edit INIMM file | Component ForNT_ |
|
CLASSES_ |
INIMM | AlwaysShowExt | STRING | Component ForNT_ |
|
CLASSES_ |
INIMM | STRING | Converted INI file ( |
Component ForNT_ |
|
CLASSES_ |
MAKEMSI. |
STRING | [INSTALLDIR]MMH - 22 |
Component MakeMsiAssociations |
|
CLASSES_ |
MAKEMSI. |
STRING | [DEFAULT_ |
Component MakeMsiAssociations |
|
CLASSES_ |
MAKEMSI. |
STRING | Edit MAKEMSI Header | Component MakeMsiAssociations |
|
CLASSES_ |
MAKEMSI. |
AlwaysShowExt | STRING | Component MakeMsiAssociations |
|
CLASSES_ |
MAKEMSI. |
STRING | MAKEMSI Script Heade |
Component MakeMsiAssociations |
|
CLASSES_ |
MAKEMSI. |
STRING | [INSTALLDIR]MM - 22. |
Component MakeMsiAssociations |
|
CLASSES_ |
MAKEMSI. |
STRING | [DEFAULT_ |
Component MakeMsiAssociations |
|
CLASSES_ |
MAKEMSI. |
STRING | Edit MAKEMSI Script | Component MakeMsiAssociations |
|
CLASSES_ |
MAKEMSI. |
STRING | "[WSCRIPT. |
Component MakeMsiAssociations |
|
CLASSES_ |
MAKEMSI. |
STRING | Build MSI - Developm |
Component MakeMsiAssociations |
|
CLASSES_ |
MAKEMSI. |
STRING | "[WSCRIPT. |
Component MakeMsiAssociations |
|
CLASSES_ |
MAKEMSI. |
STRING | Build MSI - Producti |
Component MakeMsiAssociations |
|
CLASSES_ |
MAKEMSI. |
AlwaysShowExt | STRING | Component MakeMsiAssociations |
|
CLASSES_ |
MAKEMSI. |
STRING | MAKEMSI Script Sourc |
Component MakeMsiAssociations |
|
CLASSES_ |
MAKEMSI. |
STRING | [INSTALLDIR]VER - 22 |
Component MakeMsiAssociations |
|
CLASSES_ |
MAKEMSI. |
STRING | [DEFAULT_ |
Component MakeMsiAssociations |
|
CLASSES_ |
MAKEMSI. |
STRING | Edit Product/ |
Component MakeMsiAssociations |
|
CLASSES_ |
MAKEMSI. |
AlwaysShowExt | STRING | Component MakeMsiAssociations |
|
CLASSES_ |
MAKEMSI. |
STRING | MAKEMSI Product/ |
Component MakeMsiAssociations |
|
CLASSES_ |
MaSaIModule. |
STRING | "[WSCRIPT. |
Component RIGHT_ |
|
CLASSES_ |
MaSaIModule. |
STRING | VIEW With Orca | Component RIGHT_ |
|
CLASSES_ |
MaSaIModule. |
STRING | "[CSCRIPT. |
Component RIGHT_ |
|
CLASSES_ |
MaSaIModule. |
STRING | Validate It | Component RIGHT_ |
|
CLASSES_ |
MaSaIModule. |
STRING | "[WSCRIPT. |
Component RIGHT_ |
|
CLASSES_ |
MaSaIModule. |
STRING | Export to . |
Component RIGHT_ |
|
CLASSES_ |
MmTable\ |
STRING | [INSTALLDIR]IDT - 22 |
Component ForNT_ |
|
CLASSES_ |
MmTable\ |
STRING | [DEFAULT_ |
Component ForNT_ |
|
CLASSES_ |
MmTable\ |
STRING | Edit TABLE DEFINITIO |
Component ForNT_ |
|
CLASSES_ |
MmTable | AlwaysShowExt | STRING | Component ForNT_ |
|
CLASSES_ |
MmTable | STRING | MAKEMSI TableDefinit |
Component ForNT_ |
|
CLASSES_ |
Msi. |
STRING | "[WSCRIPT. |
Component RIGHT_ |
|
CLASSES_ |
Msi. |
STRING | VIEW With Orca | Component RIGHT_ |
|
CLASSES_ |
Msi. |
STRING | "[CSCRIPT. |
Component RIGHT_ |
|
CLASSES_ |
Msi. |
STRING | Validate It | Component RIGHT_ |
|
CLASSES_ |
Msi. |
STRING | "[WSCRIPT. |
Component RIGHT_ |
|
CLASSES_ |
Msi. |
STRING | Export to . |
Component RIGHT_ |
|
CLASSES_ |
Msi. |
STRING | "[WSCRIPT. |
Component RIGHT_ |
|
CLASSES_ |
Msi. |
STRING | VIEW With Orca | Component RIGHT_ |
|
CLASSES_ |
Msi. |
STRING | "[CSCRIPT. |
Component RIGHT_ |
|
CLASSES_ |
Msi. |
STRING | Validate It | Component RIGHT_ |
|
CLASSES_ |
Msi. |
STRING | "[SystemFolder]msiex |
Component RIGHT_ |
|
CLASSES_ |
Msi. |
STRING | Install - & |
Component RIGHT_ |
|
CLASSES_ |
Msi. |
STRING | "[MSHTA_ |
Component RIGHT_ |
|
CLASSES_ |
Msi. |
STRING | MSI MENU. |
Component RIGHT_ |
|
CLASSES_ |
Msi. |
STRING | "[WSCRIPT. |
Component RIGHT_ |
|
CLASSES_ |
Msi. |
STRING | Export to . |
Component RIGHT_ |
|
CLASSES_ |
Msi. |
STRING | "[SystemFolder]msiex |
Component RIGHT_ |
|
CLASSES_ |
Msi. |
STRING | Install - & |
Component RIGHT_ |
|
CLASSES_ |
Msi. |
STRING | "[WSCRIPT. |
Component RIGHT_ |
|
CLASSES_ |
Msi. |
STRING | Export to . |
Component RIGHT_ |
|
CLASSES_ |
RE4MM\ |
STRING | [INSTALLDIR]RE4MM - |
Component ForNT_ |
|
CLASSES_ |
RE4MM\ |
STRING | [DEFAULT_ |
Component ForNT_ |
|
CLASSES_ |
RE4MM\ |
STRING | Edit RE4MM file | Component ForNT_ |
|
CLASSES_ |
RE4MM | AlwaysShowExt | STRING | Component ForNT_ |
|
CLASSES_ |
RE4MM | STRING | Converted REGEDIT4 r |
Component ForNT_ |
|
CLASSES_ |
ReginaScript4MM\ |
STRING | Component ENVIRONMENT_ |
||
CLASSES_ |
ReginaScript4MM\ |
STRING | [INSTALLDIR]4MM (rex |
Component ENVIRONMENT_ |
|
CLASSES_ |
ReginaScript4MM\ |
STRING | "[INSTALLDIR]Reg4mm. |
Component ENVIRONMENT_ |
|
CLASSES_ |
WiseModule. |
STRING | "[WSCRIPT. |
Component RIGHT_ |
|
CLASSES_ |
WiseModule. |
STRING | VIEW With Orca | Component RIGHT_ |
|
CLASSES_ |
WiseModule. |
STRING | "[CSCRIPT. |
Component RIGHT_ |
|
CLASSES_ |
WiseModule. |
STRING | Validate It | Component RIGHT_ |
|
CLASSES_ |
WiseModule. |
STRING | "[WSCRIPT. |
Component RIGHT_ |
|
CLASSES_ |
WiseModule. |
STRING | Export to . |
Component RIGHT_ |
|
CLASSES_ |
aaaa-NewCmdPrompt\ |
STRING | [INSTALLDIR]CMDPRMT |
Component RIGHT_ |
|
CLASSES_ |
aaaa-NewCmdPrompt\ |
STRING | "%COMSPEC%" / |
Component RIGHT_ |
|
CLASSES_ |
aaaa-NewCmdPrompt | STRING | Command Prompt (here |
Component RIGHT_ |
|
CLASSES_ |
inifile\ |
STRING | "[INSTALLDIR]_ |
Component ForNT_ |
|
CLASSES_ |
inifile\ |
STRING | Convert to MAKEMSI f |
Component ForNT_ |
|
CLASSES_ |
regfile\ |
STRING | "[INSTALLDIR]_ |
Component ForNT_ |
|
CLASSES_ |
regfile\ |
STRING | Convert to MAKEMSI f |
Component ForNT_ |
|
CLASSES_ |
txtfile\ |
STRING | "[WSCRIPT. |
Component RIGHT_ |
|
CLASSES_ |
txtfile\ |
STRING | View Verbose MSI Log | Component RIGHT_ |
|
LOCAL_ |
Software\ |
ENVIRONMENT_ |
STRING | Component ENVIRONMENT_ |
|
LOCAL_ |
Software\ |
ENVIRONMENT_ |
STRING | Component ENVIRONMENT_ |
110 REGISTRY entries(s).
ENVIRONMENT VARIABLES
Variable | Value | Type | Action | Component |
---|---|---|---|---|
MAKEMSI_DB_COMPARE_TEMPLATE.MSI | [INSTALLDIR]UiSample.MSI | SYSTEM | SET_DURING_INSTALLATION, DELETE_ON_UNINSTALL | ENVIRONMENT_AND_REGISTRY |
MAKEMSI_DIR | [INSTALLDIR] | SYSTEM | SET_DURING_INSTALLATION, DELETE_ON_UNINSTALL | ENVIRONMENT_AND_REGISTRY |
MAKEMSI_MSIVAL2_DIR | [ProgramFilesFolder]MSIVAL2 | SYSTEM | SET_DURING_INSTALLATION, DELETE_ON_UNINSTALL | ENVIRONMENT_AND_REGISTRY |
MAKEMSI_WILOGUTL_EXE | [WILOGUTL_EXE] | SYSTEM | SET_DURING_INSTALLATION, DELETE_ON_UNINSTALL | ENVIRONMENT_WiLogUtl.EXE |
PATHEXT | [~];.4mm | SYSTEM | SET_DURING_INSTALLATION, DELETE_ON_UNINSTALL | ENVIRONMENT_AND_REGISTRY_4_NT |
PATH | [~];"[INSTALLDIR]" | SYSTEM | SET_DURING_INSTALLATION, DELETE_ON_UNINSTALL | ENVIRONMENT_AND_REGISTRY_4_DOS |
PATH | [~];[INSTALLDIR] | SYSTEM | SET_DURING_INSTALLATION, DELETE_ON_UNINSTALL | ENVIRONMENT_AND_REGISTRY_4_NT |
PPWIZARD_INCLUDE | [~];[INSTALLDIR] | SYSTEM | SET_DURING_INSTALLATION, DELETE_ON_UNINSTALL | ENVIRONMENT_AND_REGISTRY |
PPWIZARD_TEST_REGINA_VER | [~],3.3(JULIAN)(MT) | SYSTEM | SET_DURING_INSTALLATION, DELETE_ON_UNINSTALL | ENVIRONMENT_AND_REGISTRY |
REGINA_MACROS | [~];[INSTALLDIR] | SYSTEM | SET_DURING_INSTALLATION, DELETE_ON_UNINSTALL | ENVIRONMENT_AND_REGISTRY |
10 environment variable(s).
INI FILE
INI | Dir | Section | Key | Value | Component |
---|---|---|---|---|---|
MenuMsi.INI | INSTALLDIR | MAKEMSI | Install | Normal Installation|{?:MSIEXEC.EXE} /i "{?}" /l*v "{?}.INST.MsiLog" | RIGHT_CLICK_VERBOSE.CMD |
MenuMsi.INI | INSTALLDIR | MAKEMSI | Install-10-Silent | Basic Installation|{?:MSIEXEC.EXE} /i "{?}" /l*v "{?}.BINST.MsiLog" /qb | RIGHT_CLICK_VERBOSE.CMD |
MenuMsi.INI | INSTALLDIR | MAKEMSI | Install-20-Silent | Silent Installation|{?:MSIEXEC.EXE} /i "{?}" /l*v "{?}.SINST.MsiLog" /qn | RIGHT_CLICK_VERBOSE.CMD |
MenuMsi.INI | INSTALLDIR | MAKEMSI | Install-30-PerMachine | Normal Installation (PER-MACHINE)|{?:MSIEXEC.EXE} /i "{?}" /l*v "{?}.InstPm.MsiLog" ALLUSERS=1 | RIGHT_CLICK_VERBOSE.CMD |
MenuMsi.INI | INSTALLDIR | MAKEMSI | Install-40-PerUser | Normal Installation (PER-USER)|{?:MSIEXEC.EXE} /i "{?}" /l*v "{?}.InstPu.MsiLog" ALLUSERS="" | RIGHT_CLICK_VERBOSE.CMD |
MenuMsi.INI | INSTALLDIR | MAKEMSI | Install-70-Admin | Administrative Installation|{?:MSIEXEC.EXE} /a "{?}" /l*v "{?}.ADMIN.MsiLog" | RIGHT_CLICK_VERBOSE.CMD |
MenuMsi.INI | INSTALLDIR | MAKEMSI | Install-80-Admin_HERE | Administrative Installation - Extract "HERE"|{?:MSIEXEC.EXE} /a "{?}" /l*v "{?}.ADMIN.MsiLog" TARGETDIR="{!:MD}{?:P}\AdminInstall\{?:B}{!:MD}" | RIGHT_CLICK_VERBOSE.CMD |
MenuMsi.INI | INSTALLDIR | MAKEMSI | Uninstall | Uninstallation|{?:MSIEXEC.EXE} /x "{?}" /l*v "{?}.UNINST.MsiLog" | RIGHT_CLICK_VERBOSE.CMD |
Where | Title | Target | Arguments | Working Directory |
Component |
---|---|---|---|---|---|
SendToFolder | Display File Properties Displays file properties (version 22.0.147.0000). |
[INSTALLDIR_ |
INSTALLDIR_ |
FileInfoSendToIconForNT | |
SendToFolder | Display MD5 Calculate the MD5 values for file(s). |
[INSTALLDIR_ |
INSTALLDIR_ |
MD5SendToIconForNT | |
SCDIR_ |
GUID Conversion Converts between MSI and mangled GUID formats. |
Feature "ALL. |
INSTALLDIR | ShortCutMangled | |
SCDIR_ |
General Script Tests Tests for assorted scripting issues I have seen. |
Feature "ALL. |
BUG_ |
BugDiagnostics | |
SCDIR_ |
MAKEMSI Home Page Opens the "MAKEMSI" homepage on the internet (http://dennisbareis.com/makemsi.htm). |
http:/ |
Shortcuts | ||
SCDIR_ |
MAKEMSI's Documentation Documents the MAKEMSI tool (version 22.0.147.0000). |
Feature "ALL. |
INSTALLDIR | ShortCutDocoMAKEMSI | |
SCDIR_ |
MmWiGuid|GUID Generation Generates new GUIDs which you can cut and paste into your code. |
Feature "ALL. |
INSTALLDIR | ShortCutMmWiGuid | |
SCDIR_ |
Open Installation directory Opens the "MAKEMSI" installation directory. |
[INSTALLDIR] | Shortcuts | ||
SCDIR_ |
PPWIZARD Home Page Opens the "PPWIZARD" homepage on the internet (http://dennisbareis.com/ppwizard.htm). |
http:/ |
Shortcuts | ||
SCDIR_ |
PPWIZARD's Documentation Documents the PPWIZARD tool |
Feature "ALL. |
INSTALLDIR | ShortCutDocoPPWIZARD | |
SCDIR_ |
Regina's (rexx interpreter) Documentation Documents the PPWIZARD tool |
Feature "ALL. |
INSTALLDIR | ShortCutDocoReginaRexx | |
SCDIR_ |
Regular expression tester Tests regular Expressions you may wish to use in 'MsiValFilter' commands etc. |
[INSTALLDIR]RegularE |
Shortcuts | ||
SCDIR_ |
Samples|Open YOUR SAMPLES directory Opens YOUR "samples" folder (your code is copied here if you have defined its location). |
Feature "ALL. |
INSTALLDIR | ShortCutOpenSamples | |
SCDIR_ |
Test for AntiVirus Issues Tests for antivirus or antispyware issues. |
Feature "ALL. |
INSTALLDIR | ShortCutDocoTestForAntiVirus | |
SCDIR_ |
The MAKEMSI Licence You agreed to this licence during the install! |
Feature "ALL. |
INSTALLDIR | ShortCutLicence | |
SCDIR_ |
Versions|Display Versions Display Windows, WSH & Windows Installer version information. |
Feature "ALL. |
INSTALLDIR | ShortCutVersionInformationBox | |
SCDIR_ |
Watch Uninstall Keys Very handy if you use the "WrapInstall" command! Compares uninstall keys from a BEFORE and AFTER snapshot. |
[INSTALLDIR]MonitorU |
Shortcuts | ||
SCDIR_ |
Windows Installer Documentation Online documentation on Microsoft web site (has downloadable PDF) |
https:/ |
INSTALLDIR | ShortCutDocoWindowsInstaller_SCDIR_INTERNET_LINKS | |
SCDIR_ |
Windows Installer Documentation Online documentation on Microsoft web site (has downloadable PDF) |
https:/ |
INSTALLDIR | ShortCutDocoWindowsInstaller_SCDIR_DOCO |
19 shortcut(s).
CHANGE HISTORY
Version | Date | Changes Made |
---|---|---|
22.0.147.0000 | Thu May 26 2022 at 1:21:35pm | Please see the MAKEMSI documentation for a complete change history (at "http://makemsi-manual.dennisbareis.com/changehistory.htm"). |
1 changes.
MSI VALIDATION FILTERS
Lists all validations performed and the order they are applied. Validation filters can cause messages to be "ignored" (green) or "escalated" (red) as definately being bad. The validation process doesn't know the full context under which your msi will install (and can also be buggy) so any messages need to be evaluated.
Order | Text of Matching ICE Messages | Filter Details |
---|---|---|
1 |
|
FILTER: Complete functionality of the Shortcut table is only available with Windows Installer version 4.0 Ignore it ✓ Case sensitive Compare as text Defined at Tables.MMH(284) WHY: Prevents nagging if not generating msis requiring Windows Installer version 4 |
2 | FILTER: Aust_DB.22.0.147.0000.ico.exe Ignore it ✓ Case sensitive Compare as text Defined at COMPANY.MMH(919) WHY: Microsoft bug in the validation. Ignore any messages mentioning this product icon's key (ICE36 "Icon Bloat" warning). |
|
3 | FILTER: Column: ExtendedType of Table: CustomAction is not defined in database Ignore it ✓ Case sensitive Compare as text Defined at COMPANY.MMH(1092) WHY: This column is optional |
|
4 |
|
FILTER: will be installed to the per user directory Ignore it ✓ Case sensitive Compare as text Defined at MAKEMSI.mm(1717) WHY: Not true, this MSI installs per-machine |
5 | FILTER: will be installed to the per user directory Ignore it ✓ Case sensitive Compare as text Defined at MAKEMSI.mm(1760) WHY: Not true, this MSI installs per-machine |
|
6 | FILTER: The file '.*' will be installed to the per user directory '.*' that doesn't vary based on ALLUSERS value Ignore it ✓ Case sensitive Compare as regular expression Defined at MAKEMSI.mm(1892) WHY: *** NO REASON PROVIDED FOR THIS FILTER *** |
|
7 | FILTER: Row 'VerifyRepairDlg.Repair' in table 'Control' has bits set in the 'Attributes' column that are reserved Ignore it ✓ Case sensitive Compare as text Defined at UiSample.MMH(1141) WHY: Work around Microsoft's bug in latest validation CUB files (_ReservedBits table) |
|
8 | FILTER: Row 'VerifyRemoveDlg.Remove' in table 'Control' has bits set in the 'Attributes' column that are reserved Ignore it ✓ Case sensitive Compare as text Defined at UiSample.MMH(1142) WHY: Work around Microsoft's bug in latest validation CUB files (_ReservedBits table) |
|
9 | FILTER: Row 'VerifyReadyDlg.Install' in table 'Control' has bits set in the 'Attributes' column that are reserved Ignore it ✓ Case sensitive Compare as text Defined at UiSample.MMH(1143) WHY: Work around Microsoft's bug in latest validation CUB files (_ReservedBits table) |
|
10 | FILTER: UNKNOWN ICE Internal Error Ignore it ✓ Case sensitive Compare as text Defined at MakeMsi.FLT(45) WHY: KNOWN MICROSOFT BUG: The validation itself failed and "FILTER_SEE_ICE_INTERNAL_ERRORS" was not defined |
|
11 | FILTER: Based on the tables and columns in your database, it should be marked with a schema between Ignore it ✓ Case sensitive Compare as text Defined at MakeMsi.FLT(48) WHY: KNOWN MICROSOFT BUG: Simply incorrect and "FILTER_SEE_ICE_INTERNAL_ERRORS" was not defined |
|
12 |
|
FILTER: has a directory that is a public property (ALL CAPS) and is under user profile directory. Ignore it ✓ Case sensitive Compare as text Defined at MakeMsi.FLT(57) WHY: KNOWN MICROSOFT BUG IN "darice.cub": Simply incorrect |
13 | FILTER: Property `AdminUser` found in column `ControlCondition`.`Condition` Ignore it ✓ Case sensitive Compare as text Defined at MakeMsi.FLT(60) WHY: KNOWN MICROSOFT BUG IN "darice.cub": Simply incorrect |
|
14 | FILTER: Property `AdminUser` found in column `ControlEvent`.`Condition` Ignore it ✓ Case sensitive Compare as text Defined at MakeMsi.FLT(63) WHY: KNOWN MICROSOFT BUG IN "darice.cub": Simply incorrect |
|
15 |
|
FILTER: This product should remove only older versions of itself. No Maximum version was detected for the current product. Ignore it ✓ Case sensitive Compare as text Defined at MakeMsi.FLT(67) WHY: KNOWN MICROSOFT BUG IN "darice.cub": Incorrect in that it works (for 15+ years) in the context of how MAKEMSI performs major upgrades |
16 |
|
FILTER: Upgrade.VersionMin and Upgrade.VersionMax cannot both be null. UpgradeCode is Ignore it ✓ Case sensitive Compare as text Defined at MakeMsi.FLT(70) WHY: KNOWN MICROSOFT BUG IN "darice.cub": Incorrect in that it works (for 15+ years) in the context of how MAKEMSI performs major upgrades |
17 |
|
FILTER: Complete functionality of the MsiFileHash table is only available with Windows Installer version 1.5. Your schema is Ignore it ✓ Case sensitive Compare as text Defined at MakeMsi.FLT(73) WHY: Incorrect in that it works (for 15+ years) |
18 | FILTER: ERROR Ignore it ✗ Case sensitive Compare as text Defined at MakeMsi.FLT(90) WHY: All messages containing " ERROR " and not previously filtered out are treated as errors. |
|
19 | FILTER: --------- Ignore it ✓ Case sensitive Compare as text Defined at MakeMsi.FLT(107) WHY: This line exists because of MAKEMSI filter processing (via FIND.EXE) |
|
20 | FILTER: Ignore it ✓ Case sensitive Compare as text Defined at MakeMsi.FLT(114) WHY: Blank lines are ignored |
|
21 | FILTER: appears to be hardcoded in the property table to a local drive Ignore it ✓ Case sensitive Compare as text Defined at MakeMsi.FLT(125) WHY: ANZ frequently forces hardcoding via it's standards such as "D:" being a server data drive and "FILTER_NO_WARNING_FOR_HARDCODED_DIRECTORY_ENTRIES" was not defined |
|
22 |
|
FILTER: REINSTALLMODE is defined in the Property table Ignore it ✓ Case sensitive Compare as text Defined at MakeMsi.FLT(134) WHY: MAKEMSI is performing major updates so this message doesn't matter and "FILTER_WANT_WARNING_FOR_RESINSTALLMODE_IN_PROP_TABLE" was not defined |
23 |
|
FILTER: Icon associations should be registered via the ProgId and Icon tables Ignore it ✓ Case sensitive Compare as text Defined at MakeMsi.FLT(144) WHY: MAKEMSI registers associations via registry and "FILTER_NO_WARNING_FOR_SHOULD_BE_REGISTERED_VIA_PROGID" was not defined. |
24 |
|
FILTER: Shell extension verbs info should be registered via the Verb table. Ignore it ✓ Case sensitive Compare as text Defined at MakeMsi.FLT(147) WHY: MAKEMSI registers associations via registry and "FILTER_NO_WARNING_FOR_SHOULD_BE_REGISTERED_VIA_PROGID" was not defined. |
25 |
|
FILTER: should be registered via the ProgId table Ignore it ✓ Case sensitive Compare as text Defined at MakeMsi.FLT(150) WHY: MAKEMSI registers associations via registry and "FILTER_NO_WARNING_FOR_SHOULD_BE_REGISTERED_VIA_PROGID" was not defined. |
26 | FILTER: ProgId - CLSID associations should be registered via the ProgId and Class tables Ignore it ✓ Case sensitive Compare as text Defined at MakeMsi.FLT(153) WHY: MAKEMSI registers associations via registry and "FILTER_NO_WARNING_FOR_SHOULD_BE_REGISTERED_VIA_PROGID" was not defined. |
|
27 |
|
FILTER: should be registered via the Extension table Ignore it ✓ Case sensitive Compare as text Defined at MakeMsi.FLT(159) WHY: MAKEMSI registers associations via registry and "FILTER_NO_WARNING_FOR_SHOULD_BE_REGISTERED_VIA_EXTENSION" was not defined. |
28 | FILTER: WARNING Ignore it ✗ Case sensitive Compare as text Defined at MakeMsi.FLT(173) WHY: All messages containing " WARNING" and not previously filtered out are treated as errors. |
|
29 | FILTER: * Ignore it ✗ Case sensitive Compare as text Defined at MakeMsi.FLT(185) WHY: Don't really expect to get this far but anything not already filtered is treated as an error |
29 filter(s), Validation: ✓ SUCCESSFUL, 122 ICE messages ignored
This HTML page along with the MSI
it documents was automatically generated
using the freeware
"MAKEMSI"
tool (version 22.147).
No Windows Installer skills are required to rebuild new
versions of existing MSI files and you can do so
while having your morning "cuppa".
Given the automated build process and its extensive error
handling MAKEMSI reliably builds MSIs, any bugs in the
generated installer are not only consistant but likely to be
in your script and can be fixed
(it may help to think of a compiler, the source can be
incorrect but the result is consistant and can be tested and
fixed if required).
No human need remember the correct procedure for creating a
reliable standard package as these rules/procedures can be
inbuilt.
The creation of new installers can frequently be simplified
to a small trivial number of lines as often most MSIs
created by any particular author (or team of) are very similar
(particularly in a corporate environment).
For example I have helped a team set up two line scripts for
their many J2EE server installs (built via automated ANT processes).
Yet another team has a set of about 40 two line scripts
to build their workstation RIS packages.
This meant that these teams don't need any skills to create
new packages!
It also means that the installer's logic can be incrementally
improved (if required) in one single location and any future
builds will automatically pick up these improvements.
Even if you can't reduce all installers this way, MAKEMSI
encourages reuse and any huge (or miniscule) fragments of
common logic can be centralised
("fragments" can take parameters and make decisions).
SOURCE CODE
;----------------------------------------------------------------------------
;
; MODULE NAME: MAKEMSI.MM
;
; $Author: USER "Dennis" $
; $Revision: 1.122 $
; $Date: 07 Apr 2018 16:58:16 $
; $Logfile: D:/DBAREIS/Projects.PVCS/Win32/MakeMsi/MAKEMSI.mm.pvcs $
; COPYRIGHT: (C)opyright Dennis Bareis, Australia, 2003
; All rights reserved.
;
; DESCRIPTION
; ~~~~~~~~~~~
; This is the source script actually used to build the MAKEMSI MSI.
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
;--- I am not maintaining VERSION info in the ".VER" file -------------------
;----------------------------------------------------------------------------
#include "MmVersion.mmh" ;;Just include the MAKEMSI version #
#DefineRexx ''
;--- Manipulate the MAKEMSI version number into a product version number ---
@@Ver = '<$MAKEMSI_VERSION>'
parse var @@Ver @@YY '.' +1 @@DDD +3 @@Fix
@@YY = right(@@YY, 2, '0');
@@DDD = right(@@DDD, 3, '0');
if @@Fix = '' then
@@Fix = '0'
else
do
@@Fix = translate(@@Fix);
if pos(@@Fix, xrange('A', 'Z')) = 0 then
error('Invalid version fix letter of "' || @@Fix || '"');
@@Fix = c2d(translate(@@Fix)) - c2d('A') + 1
end;
@@Fix = right(@@Fix, 4, '0');
;--- The "VER" file will refer to this -----------------------------------
call MacroSet 'HistoryVersion', @@YY || '.0.' || @@DDD || '.' || @@Fix
#DefineRexx
#undef MAKEMSI_VERSION
;--------------------------------------------------------------------------------
;--- Replace the default left side (vertical) graphic defined by "DENNIS.MMH" ---
;--------------------------------------------------------------------------------
#define? UISAMPLE_DIALOG_FILE_dlgbmp LeftSide-MakeMsi.bmp
;----------------------------------------------------------------------------
;--- I will be using this below... ------------------------------------------
;----------------------------------------------------------------------------
;---[4Doco.ZipDirectoryTreeImageMacro]---
#(
#define UnzipImage ;;Version 10.015
;--- Make sure that "iunzip.exe" exists (user can override shortname with "EXE_IUNZIP.EXE") ---
<$GetFullBuildTimeFileName RcVar="@@FullMakeIUnZipExeName" Macro="EXE_IUNZIP.EXE" File="<$@@IUnzipExeShortName>" MustExist="N">
#if [@@FullMakeIUnZipExeName = '']
;--- Report error -------------------------------------------------------
#error ^Could not find "<$@@IUnzipExeShortName>"!{NL}Please download the Info-zip "unzip.exe" from "http://www.info-zip.org/UnZip.html"^
#endif
;--- The tool exists so lets unzip away! --------------------------------
#evaluate ^^ ^<$@@Rexx2UnzipDirectoryTree {$?}>^
#)
#define? UnzipImageOutputColor {CYAN} ;;Output of the unzipping process..
#define @@IUnzipExeShortName iunzip.exe ;;We rename info-zip's "unzip.exe" to "iunzip.exe' to remove any doubt as to what it is...
#DefineRexx '@@Rexx2UnzipDirectoryTree'
;--- Get parameters -----------------------------------------------------
{$!:ZIPFILE,DIR,CLEAR,Options} ;;Validate passed parameters
@@ZipFile = '{$ZipFile}';
@@DestinationDirectory = '{$Dir}';
if FileQueryExists(@@ZipFile) = '' then
error('The zip file "' || @@ZipFile || '" doesn''t exist!');
;--- Almost always want to start with a clean directory -----------------
if '{$Clear=^Y^}' = 'N' then ;;Allow for multiple zips unpacking into a single location.
call Info 'Adding unpacked image to the destination directory.'
else
do
;--- We expect to start from scratch --------------------------------
call Info 'Clearing the unzip destination directory'
call AddressCmd 'rd "' || @@DestinationDirectory || '" /q /s >nul <$Stderr2Out>'
;--- We will need to create the directory ---------------------------
call AddressCmd 'md "' || @@DestinationDirectory || '" >nul <$Stderr2Out>'
end;
;--- Unzip --------------------------------------------------------------
call Info 'Unpacking ZIP (' || @@ZipFile || ')'
call ColorCfg '?UNZIPSRCIMG', '<$UnzipImageOutputColor>';
call ColorSet '?UNZIPSRCIMG';
@@UnzipCmd = '"<??@@FullMakeIUnZipExeName>" {$Options=^-o^} "' || @@ZipFile || '" -d "' || @@DestinationDirectory || '"'
<$DBG_SAY> 'UNZIP command: ' || @@UnzipCmd; ;;If it fails user can copy from log and manually retry etc!
@@UnzipCmd = '"' || @@UnzipCmd || '"' ;;Got to love Windows...
@@Rc = AddressCmd(@@UnzipCmd)
call ColorSet 'DEFAULT';
if @@Rc <> 0 then
error('The unzip of "' || @@ZipFile || '" failed with return code ' || @@Rc);
else
do
;--- Make sure we find at least one (non-hidden) file (double check) ---
call Files4Mask @@DestinationDirectory || "\*.*", "@@ZipImage", "Y", "N"
if @@ZipImage.0 = 0 then
error('The unzip of "' || @@ZipFile || '" probably failed as no files seem to have been extracted to the directory "' || @@DestinationDirectory || '"');
end;
#DefineRexx
;---[4Doco.ZipDirectoryTreeImageMacro]---
;----------------------------------------------------------------------------
;--- We want link to installation installations on the "welcome dialog" -----
;----------------------------------------------------------------------------
#define UISAMPLE_ADD_INSTALL_INSTRUCTIONS_BUTTON_URL http://makemsi-manual.dennisbareis.com/install.htm
#define HTTP_MAKEMSI_CHANGE_HISTORY http://makemsi-manual.dennisbareis.com/changehistory.htm
#define UISAMPLE_ADD_INSTALL_INSTRUCTIONS_BUTTON_TOOLTIP \
See MAKEMSI install instructions (online)
;** [CommentBlockStart (20 March 2006 18:03:24, Dennis)
;**+----------------------------------------------------------------------
;**|#define UISAMPLE_ADD_INSTALL_INSTRUCTIONS_BUTTON_TOOLTIP \
;**| <$UISAMPLE_ADD_INSTALL_INSTRUCTIONS_BUTTON_URL>
;**|
;**+----------------------------------------------------------------------
;** CommentBlockEnd] (20 March 2006 18:03:24, Dennis)
;----------------------------------------------------------------------------
;--- Load Common Definitions and MAKEMSI Support ----------------------------
;----------------------------------------------------------------------------
#define COMPANY_SUMMARY_SCHEMA 110 ;;Minimum v1.1 Installer
#include "MAKEMSI.MM.H"
;----------------------------------------------------------------------------
;--- Include False AntiVirus Information ------------------------------------
;----------------------------------------------------------------------------
#include "PossibleFalseAntiVirusAlerts.DH"
;----------------------------------------------------------------------------
;--- External HTTP Links ----------------------------------------------------
;----------------------------------------------------------------------------
;#include "MAKEMSI.D" "[External-Links]"
#define HTTP_MICROSOFT_MSI_WINDOWS_INSTALLER_REFERENCE https://docs.microsoft.com/en-us/windows/win32/msi/windows-installer-reference
;----------------------------------------------------------------------------
;--- Don't want to affect any existing rexx interpreters etc -------------
;----------------------------------------------------------------------------
#define REXX_ProgID ReginaScript4MM ;;Don't touch "ReginaScript"
;----------------------------------------------------------------------------
;--- Default Install dir ----------------------------------------------------
;----------------------------------------------------------------------------
<$DirectoryTree Key="INSTALLDIR" Dir="C:\Program Files\MakeMsi" Change="\">
;----------------------------------------------------------------------------
;--- PER USER Install dir ---------------------------------------------------
;----------------------------------------------------------------------------
<$Component "INSTALLDIR_PERUSER" Create="Y" Directory_="<$AnyDir>" CU="Y">
<$DirectoryTree Key="INSTALLDIR_PERUSER" Dir="[AppDataFolder]\MAKEMSI" MAKE="Y" REMOVE="Y">
<$/Component>
;----------------------------------------------------------------------------
;--- Name Icons uniquely to work around windows bugs ------------------------
;----------------------------------------------------------------------------
#option PUSH DefineMacroReplace=ON
#define RandomishIconBit - <??@@Ver> - <?=time('s')> ;;Prevents Windows accessing old icons (incorrectly)
#define MM.ICO MM <$RandomishIconBit>.ICO
#define MMH.ICO MMH <$RandomishIconBit>.ICO
#define VER.ICO VER <$RandomishIconBit>.ICO
#define 4MM.ICO 4MM (rexx) <$RandomishIconBit>.ICO
#define RE4MM.ICO RE4MM <$RandomishIconBit>.ICO
#define IniMM.ICO IniMM <$RandomishIconBit>.ICO
#define IDT.ICO IDT <$RandomishIconBit>.ICO
#define CMDPROMPT.ICO CMDPRMT <$RandomishIconBit>.ICO
#option POP
;----------------------------------------------------------------------------
;--- MAKEMSI.DLL needs "msvbvm60.dll" (may not exist, thats OK) -------------
;----------------------------------------------------------------------------
<$FileFind File="MSVBVM60.DLL" Property="MSVBVM60.DLL" PATH="[WindowsFolder]" Depth="1" DEFAULT="">
;----------------------------------------------------------------------------
;--- Exclude some ".MMH" ----------------------------------------------------
;----------------------------------------------------------------------------
<$FilesExclude "*dutch*.mmh" EXLIST="XL_MMH">
<$FilesExclude "selfreg_.mmh" EXLIST="XL_MMH">
<$FilesExclude "SelfRegImport.MMH" EXLIST="XL_MMH">
<$FilesExclude "HotFix4WinXpSp2.mmh" EXLIST="XL_MMH"> ;;Sample Header
;----------------------------------------------------------------------------
;--- Extensions -------------------------------------------------------------
;----------------------------------------------------------------------------
<$DirectoryTree Key="USER_SUPPLIED_EXTENSIONS" Dir="[INSTALLDIR]\UserExtns">
<$Component "USER_SUPPLIED_EXTENSIONS" Create="Y" Directory_="USER_SUPPLIED_EXTENSIONS">
;--- Readme.txt ----------------------------------------------------------
#( '<?NewLine>'
#define /ReadMe+ProgramFilesWarning
<?NewLine><?NewLine><?NewLine>
================================================
==================[ WARNING ]===================
================================================
Its possible you will not be able to build the samples from the
"program files" directory as not all users will have write access here.<?NewLine>
If you can't build anything then please copy the samples to a your
"My Documents" and try again.
<$/ReadMe>
#)
<$ReadMe KeyFile=Y>
This directory tree contains MAKEMSI extensions supplied and
maintained by others.
While I do want to know of any problems you should probably
contact the author with comments or for help if possible.
<$/ReadMe+ProgramFilesWarning>
<$/Component>
;----------------------------------------------------------------------------
;--- Extensions: Julian Onions ----------------------------------------------
;----------------------------------------------------------------------------
<$DirectoryTree Key="BY_JULIAN_ONIONS" Dir="[USER_SUPPLIED_EXTENSIONS]\JulianOnions">
<$Component "BY_JULIAN_ONIONS" Create="Y" Directory_="BY_JULIAN_ONIONS">
<$FileComment Comment="Supplied and maintained by Julian Onions (thanks).">
<$File Source="patch[JulianOnions].mmh" Destination="patch.mmh" EXLIST="XL_MMH" KeyPath="Y">
<$File Source="patch[JulianOnions].mmh.txt" Destination="patch.txt">
<$/FileComment>
<$/Component>
;----------------------------------------------------------------------------
;--- Extensions: Christoph Mockenhaupt --------------------------------------
;----------------------------------------------------------------------------
<$DirectoryTree Key="BY_CHRISTOPH_MOCKENHAUPT" Dir="[USER_SUPPLIED_EXTENSIONS]\ChristophMockenhaupt">
<$Component "BY_CHRISTOPH_MOCKENHAUPT" Create="Y" Directory_="BY_CHRISTOPH_MOCKENHAUPT">
<$FileComment Comment="Supplied and maintained by Christoph Mockenhaupt (thanks).">
<$File Source="FireWall[ChristophMockenhaupt].mmh" Destination="FireWall.mmh" EXLIST="XL_MMH" KeyPath="Y">
<$/FileComment>
<$/Component>
;----------------------------------------------------------------------------
;--- We use the freeware (and distributable) RUNPROCESS.EXE -----------------
;----------------------------------------------------------------------------
<$Component "RUNPROCESS.EXE" Create="Y" Directory_="INSTALLDIR">
<$FileComment Comment="Freeware tool by Frank P. Westlake.">
<$File Source="RunProcess.exe" Destination="RunProcess_.exe" KeyPath="Y">
<$File Source="RunProcess.txt" Destination="RunProcess_.txt">
<$/FileComment>
<$/Component>
;----------------------------------------------------------------------------
;--- Main Files -------------------------------------------------------------
;----------------------------------------------------------------------------
<$Component "MainFiles" Create="Y" Directory_="INSTALLDIR">
;--- Add ".MMH" (header) files -------------------------------------------
<$cabinet "!">
<$Files "MmVersion.mmh" EXLIST="XL_MMH" Comment=^Contains MAKEMSI's version number.^>
<$/cabinet>
<$cabinet "MOST_MAIN_FILES_MMH">
<$Files "MAKEMSI.MMH" EXLIST="XL_MMH" Comment=^Include this to create an MSI with full control (most people will want to use "DEPT.MMH" instead).^ KeyFile="*" >
<$Files "MAKEMSM.MMH" EXLIST="XL_MMH" Comment=^Include this to create a MSM (merge module).^>
<$Files "TEMPLATE_MSI-*.MMH" EXLIST="XL_MMH" Comment=^Contains all of the code required to create a simple msi following a certain pattern.^>
<$Files "OPENMSI.MMH" EXLIST="XL_MMH" Comment=^Include this to update an existing Windows Installer database of any type (not just MSI)^>
<$Files "ICE.MMH" EXLIST="XL_MMH" Comment=^Include this to create/update an CUB file (ICE validator)^>
<$Files "ME.MMH" EXLIST="XL_MMH" Comment=^An example (template?) for a file it is recommended you create to front end "DEPT.MMH" and "COMPANY.MMH" for MSI creation. A large company could probably have two front ends, one for company options and branding and the other for individual team options and branding. See "DENNIS.MMH" for a more complex example (its actually what I use).^>
<$Files "DENNIS.MMH" EXLIST="XL_MMH" Comment=^A more complex branding and configuration file than "ME.MMH".^>
<$Files "HotFix.MMH" EXLIST="XL_MMH" Comment=^A hotfix framework (not automatically included by MAKEMSI). Definately "beta" code at best at this stage, please report improvements or issues.^>
<$Files "FreeExtractor.MMH" EXLIST="XL_MMH" Comment=^A MSI2EXE framework based on the open source FreeExtractor.^>
<$Files "ListMsi.vbs" Comment=^useful script to list installed products.^>
<$FileComment Comment="One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!">
<$Files "*.mmh" EXLIST="XL_MMH" KeyFile="*">
<$Files "AdsiDumpObject.H" Comment="Needed by ADSI.MMH">
<$/FileComment>
<$/cabinet>
;--- Used By DENNIS.MMH --------------------------------------------------
<$cabinet "USED_BY_DENNIS_MMH">
<$File Source="Aust_DB.bmp" Comment=^My replacement bitmap for top right of install dialog.^>
<$File Source="Aust_DB.ico" Comment=^Sample icon as used by Dennis Bareis.^>
<$File Source="LeftSide.bmp" Comment=^My replacement bitmap for the left side of some dialogs (like "welcome" and "finish" dialogs).^>
<$File Source="LeftSide-Dennis.bmp" Comment=^The graphic that "DENNIS.MMH" (my MSIs) use (please don't use.^>
<$File Source="LeftSide-Purple.bmp" Comment=^A alternative graphic you can use.^>
<$File Source="PrettyBanner.bmp" Comment=^Replacement "white bar" on top of install dialogs.^>
<$/cabinet>
;--- Add other support files, bitmaps, filters etc -----------------------
<$cabinet "OTHER_MAIN_FILES">
<$File Source="MM_SUPPORT_TEXT.txt" Comment=^Used by "MM.CMD" which inserts basic support information into the "console" file (user can choose alternative text file for support informtion).^>
<$File Source="PrettyMd5.VH" Comment=^Common VBSCRIPT functions to create a pretty MD5 given an installer MD5 record.^>
<$File Source="MakeMsi.FLT" Comment=^The base Windows Installer/msi validation filter (removed "stupid" messages we don't care about).^>
<$File Source="white.bmp" Comment=^Replacement "white bar" on top of install dialogs.^>
<$File Source="ErrorTemplates.TXT" Comment=^The default "error templates" which are used to format standard Windows Installer errors if an MSI build fails.^>
<$File Source="MmDefaultProductIcon.ico" Comment=^Default Product Icon. I use one because I have seen a Windows Installer or Add remove bug cause the first icon to be used if no product icon defined!^>
<$File Source="MmCustomSetup.ico" Comment=^Better custom setup icon than that provided by "UISAMPLE.MSI".^>
<$File Source="UiSample.msi" Comment=^Template MSI used by "COMPANY.MMH".^>
<$File Source="MsmTemplate-Schema-120.MSM" Comment=^Template MSM used by "MAKEMSM.MMH".^>
<$File Source="out\MonitorUninstallKey.VBS" Comment=^Used to report what install key a product uses.^>
<$File Source="out\IisDumpMetaBase.VBS" Comment=^Run via CSCRIPT to dump the IIS metabase (redirect output).^>
<$File Source="iZip.exe" Comment=^INFO ZIP'S (zip.exe).^>
<$File Source="<?=FindFile('HTMLPRE.IH')>" Comment=^Enables source code to be listed in the generated HTML report.^>
<$FileComment Comment="Tests regular expressions">
<$File source="out\RegularExpTestMm.hta">
<$File source="RegularExpTestMm.ico">
<$/FileComment>
<$/cabinet>
<$/Component>
;----------------------------------------------------------------------------
;--- Some Shortcuts ---------------------------------------------------------
;----------------------------------------------------------------------------
<$Component "Shortcuts" Create="Y" Directory_="INSTALLDIR" CU="Y">
;--- OPEN Installation DIR Shortcut --------------------------------------
<$DirectoryTree Key="SCDIR_MAKEMSI" Dir="[ProgramMenuFolder]\MakeMSI" Remove="Y">
#(
<$Shortcut
Dir="SCDIR_MAKEMSI"
Target="[INSTALLDIR]"
Title="Open Installation directory"
Description=^Opens the "MAKEMSI" installation directory.^
>
#)
;--- Just execute "MonitorUninstallKey.VBS" ------------------------------
<$Icon KEY="@MonitorUninstallKey" ".\MonitorUninstallKey.ico">
#(
<$Shortcut
Dir="SCDIR_MAKEMSI"
Target="[INSTALLDIR]MonitorUninstallKey.VBS"
Title="Watch Uninstall Keys"
Description=^Very handy if you use the "WrapInstall" command! Compares uninstall keys from a BEFORE and AFTER snapshot.^
Icon="@MonitorUninstallKey"
>
#)
;--- Shortcut for Regular Expression Tester ------------------------------
#(
<$Shortcut
Dir="SCDIR_MAKEMSI"
Target="[INSTALLDIR]RegularExpTestMm.hta"
Title="Regular expression tester"
Description=^Tests regular Expressions you may wish to use in 'MsiValFilter' commands etc.^
Icon="@RegularExpTestMm.ico"
>
#)
;--- Some WEB directories ------------------------------------------------
<$DirectoryTree Key="SCDIR_INTERNET_LINKS" Dir="[SCDIR_MAKEMSI]\Internet Links" Remove="Y">
#(
<$Shortcut
Dir="SCDIR_INTERNET_LINKS"
Target="<$MAKEMSI_HOMEPAGE>"
Title="MAKEMSI Home Page"
Description=^Opens the "MAKEMSI" homepage on the internet (<$MAKEMSI_HOMEPAGE>).^
>
#)
#define PPWIZARD_HOMEPAGE <?PpwizardAuthorBaseWebDir>ppwizard.htm
#(
<$Shortcut
Dir="SCDIR_INTERNET_LINKS"
Target="<$PPWIZARD_HOMEPAGE>"
Title="PPWIZARD Home Page"
Description=^Opens the "PPWIZARD" homepage on the internet (<$PPWIZARD_HOMEPAGE>).^
>
#)
<$/Component>
#(
;--- Macro for Windows Installer doco link (I'm creating twice) ---------
#define Link2WindowsInstallerDoco
<$Component "ShortCutDocoWindowsInstaller_{$#1}" Create="Y" Directory_="INSTALLDIR" CU="Y">
#(
<$Shortcut
Dir="{$#1}"
Target="<$HTTP_MICROSOFT_MSI_WINDOWS_INSTALLER_REFERENCE>"
Title="Windows Installer Documentation"
Description="Online documentation on Microsoft web site (has downloadable PDF)"
;; Icon="@Help"
WorkDir="INSTALLDIR"
>
#)
<$/Component>
#)
<$Link2WindowsInstallerDoco "SCDIR_INTERNET_LINKS">
;----------------------------------------------------------------------------
;--- Operating specific files -----------------------------------------------
;----------------------------------------------------------------------------
<$cabinet "WINDOWS VERSION SPECIFIC FILES">
<$Component "ForNT" Create="Y" Directory_="INSTALLDIR" Condition="not Version9X">
<$File Source="MM.CMD" KeyPath="Y" Comment='A small "sample" batch file to build an MSI (eventually I will also add explorer right click option for building MSIs).'>
<$File Source="ConSetBuffer.exe" Comment=^A free utility by Frank P. Westlake to set buffer size.^>
<$/Component>
<$Component "ForDOS" Create="Y" Directory_="INSTALLDIR" Condition="Version9X">
<$File Source="MM9X.BAT" KeyPath="Y" Destination="MM.BAT" Comment='A small "sample" batch file to build an MSI (eventually I will also add explorer right click option for building MSIs).'>
<$File Source="MM9X.PPW" Comment='Used by MM9X.BAT (alias "MM.BAT").'>
<$/Component>
<$/cabinet>
;----------------------------------------------------------------------------
;--- SAMPLES - ROOT DIR -----------------------------------------------------
;----------------------------------------------------------------------------
<$DirectoryTree Key="SAMPLESDIR" Dir="[INSTALLDIR]\Samples">
#define SAMPLESRELDIR_TRYME TryMe
#define SAMPLESRELDIR_OTHER Other
#define SAMPLESRELDIR_MAKEMSI_SOURCE <$SAMPLESRELDIR_OTHER>\MakeMSI Source
#define SAMPLESRELDIR_TRYME_CREATE_MSI <$SAMPLESRELDIR_TRYME>\Create MSI Installers
#define SAMPLESRELDIR_TRYME_CREATE_MSM <$SAMPLESRELDIR_TRYME>\Create Merge Modules
#define SAMPLESRELDIR_TRYME_CREATE_CUB <$SAMPLESRELDIR_TRYME>\Create Validation Suites
#define SAMPLESRELDIR_TRYME_UPDATE_DB <$SAMPLESRELDIR_TRYME>\Update Databases (including MSI)
<$Component "SAMPLESDIR" Create="Y" Directory_="SAMPLESDIR">
;--- Readme.txt ----------------------------------------------------------
<$ReadMe KeyFile=Y>
This directory tree contains all example scripts or other files
installed by MAKEMSI.
I recommend that you at least have a quick look at each one as each
one demonstrates something that others don't.
DIRECTORY "<$SAMPLESRELDIR_TRYME_CREATE_MSI>"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This contains "TRYME.MM" and many other scripts that you can execute
to build complete MSIs.
Simply right click on any ".MM" file and select a build option.
I highly recommend that you at least build the "TryMe.MM" MSI.
DIRECTORY "<$SAMPLESRELDIR_TRYME_CREATE_MSM>"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you are interested in building merge modules then this directory
is for you!
DIRECTORY "<$SAMPLESRELDIR_TRYME_CREATE_CUB>"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This directory contains a sample creation and/or update to an MSI
validation suite.
It demonstrates how to add your own validations.
DIRECTORY "<$SAMPLESRELDIR_TRYME_UPDATE_DB>"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you are more interested in the manipulation of already existing
MSI (or other windows installer databases) then first build "TryMe.MM"
(see above) then "run" the "Tweek.MM" script.
This script manipulates an MSI but this could have been any type of
windows Installer database. It also demonstates some pre and post
processing.
DIRECTORY "<$SAMPLESRELDIR_MAKEMSI_SOURCE>"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This contains the complete source for the MAKEMSI MSI you have
installed. It is provided as a more complex example which demonstrates
a number of interesting things.
<$/ReadMe+ProgramFilesWarning>
<$/Component>
;----------------------------------------------------------------------------
;--- SAMPLES - TRYME/OTHER -------------------------------------------------
;----------------------------------------------------------------------------
<$DirectoryTree Key="SAMPLESDIR_TRYME" Dir="[SAMPLESDIR]\<$SAMPLESRELDIR_TRYME>">
<$DirectoryTree Key="SAMPLESDIR_OTHER" Dir="[SAMPLESDIR]\<$SAMPLESRELDIR_OTHER>">
<$Component "SAMPLESDIR_TRYME" Create="Y" Directory_="SAMPLESDIR_TRYME">
;--- Readme.txt ----------------------------------------------------------
<$ReadMe KeyFile=Y>
This directory tree contains scripts which in almost all cases can
be immediately built without any effort.
The odd one or two (as documented in any other "readme" may require
some minor initialization to have taken place).
<$/ReadMe+ProgramFilesWarning>
<$/Component>
<$Component "SAMPLESDIR_OTHER" Create="Y" Directory_="SAMPLESDIR_OTHER">
;--- Readme.txt ----------------------------------------------------------
<$ReadMe KeyFile=Y>
This directory tree contains scripts which I don't really expect you
to be able to build (without major effort at least).
The samples are provided purely as example code.
DO NOT TRY TO BUILD THEM.
<$/ReadMe+ProgramFilesWarning>
<$/Component>
;----------------------------------------------------------------------------
;--- SAMPLES - MAKEMSI SOURCE -----------------------------------------------
;----------------------------------------------------------------------------
#define MAKEMSI_SOURCECODE makemsi.mm;makemsi.mm.h;makemsi.ver;LeftSide-MakeMsi.bmp;PossibleFalseAntiVirusAlerts.DH
#define MSIDIFF_SOURCECODE msidiff.mm;msidiff.ver
<$DirectoryTree Key="SAMPLESDIR_MAKEMSI_SOURCE" Dir="[SAMPLESDIR]\<$SAMPLESRELDIR_MAKEMSI_SOURCE>">
<$Component "SamplesMakeMsiSource" Create="Y" Directory_="SAMPLESDIR_MAKEMSI_SOURCE">
;--- Add the source ------------------------------------------------------
<$Files "<$MAKEMSI_SOURCECODE>" Comment="This is the source actually used to build this MAKEMSI tool's MSI. It will fail if you try to use it..." KeyFile="*">
<$Files "<$MSIDIFF_SOURCECODE>" Comment="This is the source actually used to build this MSIDIFF tool's MSI. It will fail if you try to use it..." KeyFile="*">
;--- Readme.txt ----------------------------------------------------------
<$ReadMe>
This directory contains the actual MAKEMSI source code used to build the
currently installed release.
You will not be able to successfully build this, it is provided as
a sample only.
For something as big as the MAKEMSI script if I wasn't trying to also
provide it as a "real life" sample I'd have split it up into separate
".MMH" modules with at least each feature being in its own file.
<$/ReadMe+ProgramFilesWarning>
<$/Component>
;----------------------------------------------------------------------------
;--- SAMPLES - TRYME MSI ----------------------------------------------------
;----------------------------------------------------------------------------
<$cabinet "TRYME SAMPLES">
<$DirectoryTree Key="SAMPLESDIR_TRYME_CREATE_MSI" Dir="[SAMPLESDIR]\<$SAMPLESRELDIR_TRYME_CREATE_MSI>">
<$Component "SAMPLESDIR_TRYME_CREATE_MSI" Create="Y" Directory_="SAMPLESDIR_TRYME_CREATE_MSI">
;--- The samples ---------------------------------------------------------
<$File Source="TryMe.MM" Comment=^A very simple sample and test script which you can try to build an MSI with. I recommend you try to build it before making any changes or building your own.^ KeyPath="Y">
<$File Source="TryMeShortcuts.MM" Comment=^Demonstrates shortcut creation.^>
<$File Source="TryMeDualPurposePackage-SupportsWinXP.MM" Comment=^Single Package Authoring example.^>
<$File Source="TryMeExtnAction.MM" Comment=^Demonstrates file association (and New shortcut) creation.^>
<$File Source="TryMeExcelAddIn.MM" Comment=^A sample for adding an Excel add-in.^>
<$File Source="TryMeExcelAddIn.xla" Comment=^The "TryMeExcelAddIn.MM" sample needs this.^>
<$File Source="TryMeUpdateRegistry00-99.MM" Comment=^Demonstrates finding a "suitable" registry location (conditional logic without custom action).^>
<$File Source="TryMeTaskSchedules.MM" Comment=^A sample that uses JT.EXE to create task schedules.^>
<$File Source="TryMeTemplate-SimpleSchedule.MM" Comment=^A sample uses "TEMPLATE_MSI-SimpleSchedule.MMH" to create a single scheduled task.^>
<$File Source="TryMeUserInputUsed2CreateFile.MM" Comment=^A sample that asks for user input at BUILD time.^>
<$File Source="TryMeCreateIisSite.MM" Comment=^A sample that demonstrates creating IIS web sites.^>
<$File Source="TryMeDllCustomAction.MM" Comment=^A sample that demonstrates a DLL custom action.^>
<$File Source="TryMeUseMergeModule.MM" Comment=^A sample which uses the merge module created with "TryMeCreateMergeModule.mm".^>
<$File Source="TryMeWithUserDialog.MM" Comment=^The same as "TryMe.MM" but also inserts a user dialog into the user interface.^>
<$File Source="TryMeConditionDialogs.MM" Comment=^Demonstrates conditional dialog flow.^>
<$File Source="TryMeWithNonAdvShortcutPlusMore.MM" Comment=^Most advanced sample installed, creates non-advertised shortcut plus demos other things.^>
<$File Source="TryMeWithNoRootFeature.MM" Comment=^Demonstrates disabling "complete" feature creation and so doco manipulations.^>
<$File Source="TryMeWithMultipleMedia.MM" Comment=^Demonstrates generating MSI with external CABs over myultiple media.^>
<$File Source="TryMeWithFixedGuids.MM" Comment=^Demonstrates control over the GUIDs used (required if upgrade types other than "major" are desired).^>
<$File Source="TryMeAddVersionKeywordAndLaunchCondition.MM" Comment=^Demonstrates adding a version file keyword and adding launch conditions via the VERSION file!^>
<$File Source="TryMeLoadDirTreeMaintainingAttributes.MM" Comment=^Demonstrates loading a whole tree of files while maintaining both file and folder attributes. It also recreates empty directories.^>
<$File Source="TryMeCreate[START]OfMsiFromScratch.MM" Comment=^Demonstrates creation of MSI with full control (no framework). It generates a partial MSI which will not install.^>
<$File Source="TryMe.VER" Comment=^The version file for the sample/test scripts "TryMe.MM" and "TryMeShortcuts.MM" etc!^>
<$File Source="TryMe.ICO" Comment=^Icon only used by the MSI created by "TryMeShortcuts.MM".^>
<$File Source="TryMe.rtf" Comment=^Licence file (specified by "TryMe.ver").^>
;--- Readme.txt ----------------------------------------------------------
<$ReadMe>
This directory contains sample MSI creation scripts which you
should be able to execute to successfully build a ".MSI" file
Right click on the ".MM" file and select a build option.
I suggest that since "TRYME.MM" is the simplest script that you
try it first. All the scripts use the same "TryMe.VER" and other
resources (as these would be near identical and are not what I
am demonstrating).
The scripts are supplied so that within minutes of installing
MAKEMSI you should have been able to create your first working
MSIs. Generally the hardest part with anything new is getting
the first "item" working.
Most scripts don't require any preparation but if any is required
they will tell you.
The scripts provide a working starting point which you can modify
to test changes while you are learning MAKEMSI. When trying
different commands you should expect error messages while learning,
I have gone to a lot of work to provide enough detail with good
messages so that you should be able to solve it. If not send me the
script and error details and I'll probably improve it.
MAKEMSI does not validate absolutely everything up front and so it
is possible that a build will fail during the execution of the
VBS it generates. If so it will identify the exact location which
should enable you to work out what faulty imput you supplied on
which command.
As I detect these I am improving up front validation to remove them
(on the theory that anything seen or reported may be a common issue
deserving more and better validation).
You are expected to test your MSI like any other piece of software,
given the same script and environment MAKEMSI will consistently
build a "correct" (or "wrong" MSI).
Think of a compiler (Garbage in means Garbage out).
<$/ReadMe+ProgramFilesWarning>
<$/Component>
<$/cabinet>
;----------------------------------------------------------------------------
;--- SAMPLES - TRYME MSI (DUTCH) --------------------------------------------
;---------------------------------------------------------------------------
<$cabinet "TRYME SAMPLES - DUTCH">
<$DirectoryTree Key="SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH" Dir="[SAMPLESDIR_TRYME_CREATE_MSI]\Localisation to Dutch">
<$Component "SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH" Create="Y" Directory_="SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH">
;--- The main files which I PVCS along with all others as individual files ---
#define DUTCH.ZIP .\Dutch.NLD.zip
<$FilesExclude "<$DUTCH.ZIP>" EXLIST="DUTCH.ZIP">
<$Files "*Dutch*" Comment=^Dutch localisation example file.^ KeyFile="*" EXLIST="DUTCH.ZIP">
;--- Readme.txt ----------------------------------------------------------
<$ReadMe>
This example shows how CF vd Berg localised the MSIs created by
MAKEMSI for the dutch language.
Its quite likely that there are still english strings that need
translation or that MAKEMSI has changed since this example was
created, Please use this example as a guide as how localisation
can be done.
<$/ReadMe+ProgramFilesWarning>
<$/Component>
<$MacroCfg "DEFAULT_ROW_VALIDATE_NO_WHERE" VALUE="FIELD">
#define UNZIPPED_IMAGE_DIR <$MAKEMSI_OTHER_DIR>\UnpackedZips\dutch.idt ;;This directory ERASED then recreated
<$UnzipImage ZipFile="<$DUTCH.ZIP>" Dir="<$UNZIPPED_IMAGE_DIR>">
<$Files "<$UNZIPPED_IMAGE_DIR>\*.NLD" EXLIST="EX_NLDDIR" DESTDIR="SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH" SubDir="TREE" Comment=^Windows Installer ".IDT" files with dutch text, imported by "TryMe_Dutch.MM" to convert text from english.^>
<$Files "<$UNZIPPED_IMAGE_DIR>\*.*" EXLIST="EX_NLDDIR" DESTDIR="SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH" SubDir="TREE" Comment=^Part of the dutch example.^>
<$/MacroCfg>
<$/cabinet>
;----------------------------------------------------------------------------
;--- SAMPLES - TRYME MSM (Merge Module) -------------------------------------
;----------------------------------------------------------------------------
<$DirectoryTree Key="SAMPLESDIR_TRYME_CREATE_MSM" Dir="[SAMPLESDIR]\<$SAMPLESRELDIR_TRYME_CREATE_MSM>">
<$Component "SAMPLESDIR_TRYME_CREATE_MSM" Create="Y" Directory_="SAMPLESDIR_TRYME_CREATE_MSM">
;--- Sample Merge Modules -----------------------------------------------
<$Files "TryMeCreateMergeModule.*" Comment="Simple Sample to create a merge module." KeyFile="*">
;--- Readme.txt ----------------------------------------------------------
<$ReadMe>
This directory contains sample merge module creation scripts which
you should be able to execute to successfully build a ".MSM" file.
Right click on the ".MM" file and select a build option.
They are supplied so that within minutes of installing MAKEMSI you could
have created your first working MSM.
The scripts provide a working starting point which you can modify to test
changes while you are learning MAKEMSI.
<$/ReadMe+ProgramFilesWarning>
<$/Component>
;----------------------------------------------------------------------------
;--- SAMPLES - TRYME CUB (Validation Databases, for ORCA, MSIVAL2) ----------
;----------------------------------------------------------------------------
<$DirectoryTree Key="SAMPLESDIR_TRYME_CUB" Dir="[SAMPLESDIR]\<$SAMPLESRELDIR_TRYME_CREATE_CUB>">
<$Component "SAMPLESDIR_TRYME_CUB" Create="Y" Directory_="SAMPLESDIR_TRYME_CUB">
;--- Sample Merge Modules -----------------------------------------------
<$Files "ICE.mm" Comment="Source for a working addition to normal MSI validations.">
<$Files "IceAddToOrca.*" Comment=^Used to Add the CUB generated by "ICE.MM" to the ORCA tool's menu.^>
;--- Readme.txt ----------------------------------------------------------
<$ReadMe>
The "ICE.MM" script builds a new validation suite based on an existing
one. It adds a single extra validation and does some other manipulation
on the original database.
Note that the "ICE.MM" script expects (by default) that MSIVAL2
(from the platform SDK) has been installed to the
"C:\Program Files\MsiVal2" directory.
The generate CUB file is suitable for use by MSIVAL2.EXE or "ORCA.EXE".
The "IceAddToOrca.MM" script takes the "CUB" file generated by "ICE.MM"
and creates an MSI which when installed makes the CUB file available
via Microsoft's ORCA tool.
<$/ReadMe+ProgramFilesWarning>
<$/Component>
;----------------------------------------------------------------------------
;--- SAMPLES - UPDATE MSI ---------------------------------------------------
;----------------------------------------------------------------------------
<$DirectoryTree Key="SAMPLESDIR_TRYME_UPDATE_DB" Dir="[SAMPLESDIR]\<$SAMPLESRELDIR_TRYME_UPDATE_DB>">
<$Component "SAMPLESDIR_TRYME_UPDATE_DB" Create="Y" Directory_="SAMPLESDIR_TRYME_UPDATE_DB">
<$Files "Tweek.mm" Comment="Source for a script which makes one simple change to an MSI." KeyFile="*">
;--- Readme.txt ----------------------------------------------------------
<$ReadMe>
This directory contains sample scripts which update Windows Installer databases.
Given that they need something to "work on", the "TRYME.MM" script must have
been previously executed as this creates a database which the script will use.
<$/ReadMe+ProgramFilesWarning>
<$/Component>
;----------------------------------------------------------------------------
;--- "Regression Test" SAMPLES ----------------------------------------------
;----------------------------------------------------------------------------
<$Component "SAMPLESDIR_REGRESSION_TESTS" Create="Y" Directory_="[SAMPLESDIR_OTHER]\Regression Tests">
<$Files "RegressionTests*.*" Comment="Regression Test source code.">
;--- Readme.txt ----------------------------------------------------------
<$ReadMe>
This contains sundry regression test scripts.
I have installed them as they will also provide good examples.
Feel free to send in any improvements...
<$/ReadMe+ProgramFilesWarning>
<$/Component>
;----------------------------------------------------------------------------
;--- "OTHER SUNDRY" SAMPLES -------------------------------------------------
;----------------------------------------------------------------------------
<$DirectoryTree Key="SAMPLESDIR_OTHER_SUNDRY" Dir="[SAMPLESDIR_OTHER]\Sundry">
<$Component "SAMPLESDIR_OTHER_SUNDRY" Create="Y" Directory_="SAMPLESDIR_OTHER_SUNDRY">
<$Files "FixMergeModules.mm" Comment="Source for a script which fixes some badly written Visual Studio .NET merge modules.">
;--- Readme.txt ----------------------------------------------------------
<$ReadMe>
This contains sundry scripts.
I do not expect you to simply right click and build them
(or in fact to build them at all), without performing appropriate
modifications and work first.
<$/ReadMe+ProgramFilesWarning>
<$/Component>
<$Component "SAMPLESDIR_OTHER_SERVICE" Create="Y" Directory_="[SAMPLESDIR_OTHER_SUNDRY]\Service">
<$Files "VbscriptBasedService.*" Comment="Installs a VBSCRIPT based program as a service.">
;--- Readme.txt ----------------------------------------------------------
<$ReadMe>
Complete script to install a VBSCRIPT based program as a service.
You need to supply the "sc.exe" and "srvstart.exe" tools, MAKEMSI
script expects to find (default locations):
.\sc.exe
.\srvstart.exe\srvstart.exe
.\srvstart.exe\srvstart.dll
.\srvstart.exe\logger.dll
<$/ReadMe+ProgramFilesWarning>
<$/Component>
<$Component "SAMPLESDIR_OTHER_KB12345" Create="Y" Directory_="[SAMPLESDIR_OTHER_SUNDRY]\KB872942">
<$Files "TryMeWindowsHotFix.MM" Comment="Sample script for hotfix MSI creation (uses common version file).">
;--- Readme.txt ----------------------------------------------------------
<$ReadMe>
For this script to complete you must obtain/download the
KB872942 hotfix EXE from Microsoft.
As a further example see the "COMMON FILES" subdirectory, this is
a proposed structure for organising your hotfixes.
If you download "qfecheck.exe", then the extended state logging will
automically be added.
This hot fix (KB872942) requires WINXP SP2 to install.
In a "real" script I would not use the line:
<?Space> <?Hash>evaluate ^^ ^call IncludePath 'COMMON FILES'^
But use the "MAKEMSI_USER_FILES_PATH" or other external
configuration to point MAKEMSI at common files...
<$/ReadMe+ProgramFilesWarning>
<$/Component>
<$Component "SAMPLESDIR_OTHER_KB12345_COMMON_FILES" Create="Y" Directory_="[SAMPLESDIR_OTHER_SUNDRY]\KB872942\COMMON FILES">
<$Files "HotFix4WinXpSp2.mmh" Comment=^Used by "TryMeWindowsHotFix.MM"^>
<$Files "HotFix4WinXpSp2.ver" Comment=^Used by "HotFix4WinXpSp2.mmh" (at least by default).^>
<$/Component>
;----------------------------------------------------------------------------
;--- MSI Policies -----------------------------------------------------------
;----------------------------------------------------------------------------
<$DirectoryTree Key="MSI_POLICIES" Dir="[INSTALLDIR]\Registry Policies">
<$Component "MSI_POLICIES" Create="Y" Directory_="MSI_POLICIES">
<$File Source=^MsiLogging-ON.reg^ Comment="REGEDIT4 script to turn on verbose Windows Installer Logging (to temp directory)." KeyPath="Y">
<$File Source=^MsiLogging-OFF.reg^ Comment="REGEDIT4 script to turn off Windows Installer Logging.">
;--- Readme.txt ----------------------------------------------------------
<$ReadMe>
This directory contains REGEDIT4 scripts to modify Windows Installer
options.
Simply double click (and confirm) to install.
<$/ReadMe+ProgramFilesWarning>
<$/Component>
;----------------------------------------------------------------------------
;--- More Work --------------------------------------------------------------
;----------------------------------------------------------------------------
<$DirectoryTree Key="MORE_WORK" Dir="[INSTALLDIR]\More Work (or help) Required">
<$Component "MORE_WORK" Create="Y" Directory_="MORE_WORK">
;--- Readme.txt ----------------------------------------------------------
<$ReadMe KeyFile=Y>
I've started or possibly nearly completed some work but am stuck...
See the "MAKEMSI.HTM" documentation (via control panel if you wish)
to see any info about particular files in this directory.
Also see the "Regression tests", if you want to create or improve any
then feel free!
Contact me for more details if required...
<$/ReadMe+ProgramFilesWarning>
<$/Component><$DirectoryTree Key="MORE_WORK_CAPTURE_SELF_REGISTRATION" Dir="[MORE_WORK]\Capture of Self Registration Information">
<$Component "MORE_WORK_CAPTURE_SELF_REGISTRATION" Create="Y" Directory_="MORE_WORK_CAPTURE_SELF_REGISTRATION">
<$File Source=^SelfRegImport.MMH^ Comment=^Uses "SelfRegCapture.exe" to capture registry, exports and manipulates output (Intended to be used to pupulate "Registry" table with captured info).^>
<$File Source=^selfreg_.mmh^ Comment=^Include by "SelfRegImport.MMH".^>
;--- Supporting MM/VER file ------------------------------------------------
<$FileMake "<$MAKEMSI_OTHER_DIR>\SelfReg.MM">
<?SemiColon>--- Load MAKEMSI (via wrapper) --------------------------------------
<?Hash>include "DEPT.MMH"
<?NewLine>
<?SemiColon>--- Load Unfinished supporting code ---------------------------------
<?Hash>include "SelfRegImport.MMH"
<?NewLine>
<?SemiColon>--- Try Code --------------------------------------------------------
<<?_>$SelfRegImport "..\..\MakeMSI.DLL" INSTALLEDNAME="[INSTALLDIR]\makemsi.dll">
<$/FileMake>
<$FileMake "<$MAKEMSI_OTHER_DIR>\SelfReg.VER">
<?SemiColon>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<?SemiColon> ProductName = SelfReg
<?SemiColon> DESCRIPTION = SelfReg (contents of this file doesn't matter much).
<?SemiColon> Installed = WINDOWS_ALL
<?SemiColon> Guid.UpgradeCode = {7FF333CB-3BB9-457D-831E-8482E50F2969}
<?SemiColon>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<?NewLine>
<?SemiColon>############################################################################
VERSION : 3.076.0000
DATE : 17 Mar 2003
CHANGES : This is a fictional second release of this MSI.
<$/FileMake>
<$File Source="<$MAKEMSI_OTHER_DIR>\SelfReg.VER" Comment=^Supporting VER file, details irrelevant!^>
<$File Source="<$MAKEMSI_OTHER_DIR>\SelfReg.MM" Comment=^Test script to exercise code.^>
;--- Readme.txt ----------------------------------------------------------
<$ReadMe>
This demonstrates the capture of self registration information without
actually self registering the executable and conversion of this to
appropriate "Registry" commands.
Build the "SelfReg.MM" script to test.
<$/ReadMe+ProgramFilesWarning>
<$/Component>
;----------------------------------------------------------------------------
;--- Files for "MmValidate.VBS" ---------------------------------------------
;----------------------------------------------------------------------------
<$CompPerFile "out\MmValidate.VBS" Comment='Used for command line or explorer based validation.'>
<$CompPerFile "FFFE.HEX" Comment='Used by "MmValidate.VBS".'>
;** [CommentBlockStart (4 August 2017 10:59:34 AM, Dennis)
;**+----------------------------------------------------------------------
;**|#define DefaultFilterFile <$MAKEMSI_OTHER_DIR>\MmValidate.FLT
;**|<$FileMake "<$DefaultFilterFile>">
;**| #include "MakeMsi.FLT"
;**| #ifdef MAKEMSI_FLT_VERSION
;**| ;--- Remove the "I've already been included flag..." -------------
;**| #undef MAKEMSI_FLT_VERSION
;**| #elseif
;**| #error ^I expected to see the "MAKEMSI_FLT_VERSION" macro defined!^
;**| #endif
;**|<$/FileMake>
;**|<$CompPerFile "<$DefaultFilterFile>" Comment='Default filter used by "MmValidate.VBS".'>
;**+----------------------------------------------------------------------
;** CommentBlockEnd] (4 August 2017 10:59:34 AM, Dennis)
;----------------------------------------------------------------------------
;--- Other bits -------------------------------------------------------------
;----------------------------------------------------------------------------
<$cabinet "OTHER BITS">
<$CompPerFile "<$NAME_TEE.REX>" Comment='Used during compile to capture cab compression details (for debugging only).'>
<$CompPerFile "<$NAME_PPWIZARD.REX>" Comment='The PPWIZARD tool. A very powerful preprocessor (also used to generate the MAKEMSI documentation).'>
<$CompPerFile "<$NAME_REGINA.EXE>" Comment='A renamed "regina.exe" (rexx interpreter), required by "PPWIZARD". File patched to load "<$NAME_REGINA.DLL>".'>
<$CompPerFile "<$NAME_REGINA.DLL>" Comment='A renamed "regina.dll", required by "<$NAME_REGINA.EXE>" (rexx interpreter)'>
;<$CompPerFile "out\MsiVal2Fix.VBS" Comment='Used to touch up MSIVAL2.EXE output.'> ;;VBSCRIPT can't reliably read the output
<$CompPerFile "out\MmMD5.VBS" Comment='Displays the MD5 hash for a file (useful for comparing against generated HTML reports).'>
<$CompPerFile "out\MmLockFile.VBS" Comment='Can be used to lock a file to test Windows Installer Installation etc.'>
<$CompPerFile "out\OrcaView.VBS" Comment='This tool is used for the right click MSI "view" option.'>
<$CompPerFile "out\_LogView.VBS" Comment='Not intended for user use (used internally).'>
<$CompPerFile "out\_MM.VBS" Comment='This is called via Explorer associations (used internally).'>
<$CompPerFile "CTEXT.EXE" Comment='If exists, "PPWIZARD" will use for coloured console output.'>
<$CompPerFile "out\DelOlderRE.VBS" Comment='Can be used by schedules etc to delete old log files etc.'>
<$CompPerFile "<?=FindFile('FindMult.vbs', '!')>" Comment='Used to filter MSI validation results.'>
<$CompPerFile "ShouldBeEmpty.vbs" Comment=^Used to check if the generated file is empty (validation by MM.CMD).^>
<$CompPerFile "StrFInfo.exe" Comment=^Used to dump executable file information in the HTML report (not used for MSI version information in "File" table). Also see "MmDocumentProperties.VBS".^>
<$CompPerFile "out\MmDocumentProperties.VBS" Comment=^Can be used to dump document properties of office or other files. Similar to "StrFInfo.exe"^>
;<$CompPerFile "D.T.Reg.zip" Comment=^The enclosed EXE (DtReg.exe) is used by "SelfRegImport", you need to unzip into MAKEMSI directory yourself if you wish to use. Command line registry manipulation tool.<$AVRPT_DTREG_EXE>. Documentation for "DTREG.EXE" is included in the zip (licence requires it be included).^>
<$CompPerFile "SelfRegCapture.exe" Comment='Used by "SelfRegImport". Captures self registration info to HKCU\Software\RegSpy without registering the DLL etc.'>
<$/cabinet>
;----------------------------------------------------------------------------
;--- Put MsiSync.VBS in a "safe location" -----------------------------------
;----------------------------------------------------------------------------
<$Component "MsiSync" Create="Y" Directory_="[INSTALLDIR]\MsiSyncTool">
<$File Source="out\MsiSync.VBS" KeyPath="Y" Comment='A tool which you can use to keep installed MSIs up to date. A common file share could be updated with many MSIs which you want all users to have installed on their boxes. When executed this tool will look at all MSIs in the same tree as the VBS and install if required.'>
<$File Source="MsiSync.XML" Comment='"MsiSync.VBS" xml Configuration file which safely points to a non-existant directory. Good example.'>
<$File Source="MsiSync.XSD" Comment='Style sheet for the "MsiSync.VBS" XML configuration file.'>
;--- Readme.txt ----------------------------------------------------------
<$ReadMe KeyFile=Y>
I have placed the "MSISYNC.VBS" in a directory of its own as people
were executing it before they understood what it was and what it
does!
The program is documented in the MAKEMSI manual but basically it can
be used to install one or many MSI files, it will "syncronise" your
computer with the MSI's in the directory tree.
It will uninstall and install as required and order of installation
can be controlled.
As a second "safety" feature I have put an invalid directory as the
MSI source directory in the XML configuration file.
<$/ReadMe+ProgramFilesWarning>
<$/Component>
;----------------------------------------------------------------------------
;--- Bug Diagnostics --------------------------------------------------------
;----------------------------------------------------------------------------
<$DirectoryTree Key="BUG_DIAGNOSTICS" Dir="[INSTALLDIR]\Bug Diagnostics">
<$Component "BugDiagnostics" Create="Y" Directory_="BUG_DIAGNOSTICS">
<$FileComment Comment="Can be used to test for a specific bug.">
<$Files "BugDetectionForShortNameAttribute.vbs">
<$Files "BugDetectionForRegExpFails.vbs">
<$Files "BugDetectionForCreateObject.vbs">
<$Files "$$$RunAllTests$$$.CMD" KeyFile="*">
<$/FileComment>
<$DirectoryTree Key="SCDIR_DIAGDIR" Dir="[SCDIR_MAKEMSI]\Diagnostics" Remove="Y">
#(
<$Shortcut
Dir="SCDIR_DIAGDIR"
Feature="." ;;Advertise current
Title="General Script Tests"
Description="Tests for assorted scripting issues I have seen."
Icon="@ScriptDiag.ico"
WorkDir="BUG_DIAGNOSTICS"
>
#)
;--- Readme.txt ----------------------------------------------------------
<$ReadMe>
This directory contains bug detection code for some of the issues
I have encountered and managed to create a simple detection script
for.
If you report an issue with MAKEMSI I may ask you to run one of
these!
<$/ReadMe+ProgramFilesWarning>
<$/Component>
<$DirectoryTree Key="DIAGDIR_ANTIVIRUS" Dir="[BUG_DIAGNOSTICS]\Look4AntiVirusIssues">
<$Component "ShortCutDocoTestForAntiVirus" Create="Y" Directory_="DIAGDIR_ANTIVIRUS">
<$File Source="OUT\_Anti.vbs" Comment='Run via shortcut to test for anti-virus or anti-spyware issues' KeyPath="Y">
#(
<$Shortcut
Dir="SCDIR_DIAGDIR"
Feature="." ;;Advertise current
Title="Test for AntiVirus Issues"
Description="Tests for antivirus or antispyware issues."
Icon="@Anti.ico"
WorkDir="INSTALLDIR"
>
#)
<$/Component>
;----------------------------------------------------------------------------
;--- Doco Shortcuts ---------------------------------------------------------
;----------------------------------------------------------------------------
;@@@[ChmShortcutsDisplayedInMakeMsiDoco]@@@
<$cabinet "!">
#(
#define CHM
The document is in Windows Compiled Help format and so
has a contents, an index and can be searched.
#)
<$DirectoryTree Key="DOCODIR" Dir="[INSTALLDIR]\Documentation">
<$Icon KEY="@Help" ".\help.ico">
<$Component "ShortCutDocoMAKEMSI" Create="Y" Directory_="DOCODIR">
<$DirectoryTree Key="SCDIR_DOCO" Dir="[SCDIR_MAKEMSI]\Documentation" Remove="Y">
<$File Source="OUT\DOCO\MakeMsi\MakeMsi.chm" Comment='MAKEMSI documentation. <$CHM>' KeyPath="Y">
#(
<$Shortcut
Dir="SCDIR_DOCO"
Feature="." ;;Advertise current
Title="MAKEMSI's Documentation"
Description="Documents the MAKEMSI tool (version <$ProductVersion>)."
Icon="@Help"
WorkDir="INSTALLDIR"
>
#)
<$/Component>
<$/cabinet>
;@@@[ChmShortcutsDisplayedInMakeMsiDoco]@@@
<$Component "ShortCutDocoPPWIZARD" Create="Y" Directory_="DOCODIR">
<$File Source="ppwizard.chm" Comment=^PPWIZARD's documentation. <$CHM>^ KeyPath="Y">
#(
<$Shortcut
Dir="SCDIR_DOCO"
Feature="." ;;Advertise current
Title="PPWIZARD's Documentation"
Description="Documents the PPWIZARD tool"
Icon="@Help"
WorkDir="INSTALLDIR"
>
#)
<$/Component>
<$Component "ShortCutDocoReginaRexx" Create="Y" Directory_="DOCODIR">
<$File Source="Rexx (regina).chm" Comment=^Regina's (rexx interpreter) documentation. <$CHM>^ KeyPath="Y">
#(
<$Shortcut
Dir="SCDIR_DOCO"
Feature="." ;;Advertise current
Title="Regina's (rexx interpreter) Documentation"
Description="Documents the PPWIZARD tool"
Icon="@Help"
WorkDir="INSTALLDIR"
>
#)
<$/Component>
<$Link2WindowsInstallerDoco "SCDIR_DOCO">
<$Component "ShortCutLicence" Create="Y" Directory_="DOCODIR">
<$File Source="MakeMsi.Licence.RTF" Destination="Licence.rtf" Comment='The MAKEMSI licence file you agreed to during the install.' KeyPath="Y">
<$Icon KEY="@Licence" ".\licence.ico">
#(
<$Shortcut
Dir="SCDIR_DOCO"
Feature="." ;;Advertise current
Title="The MAKEMSI Licence"
Description="You agreed to this licence during the install!"
Icon="@Licence"
WorkDir="INSTALLDIR"
>
#)
<$/Component>
;----------------------------------------------------------------------------
;--- OPEN "SAMPLES" Folder Shortcut -----------------------------------------
;----------------------------------------------------------------------------
<$Icon KEY="@OSAMPLES" ".\OSamples.ico">
<$Component "ShortCutOpenSamples" Create="Y" Directory_="INSTALLDIR">
<$File Source="out\OSamples.vbs" Comment='Opens the "samples" folder (your code is copied here).' KeyPath="Y">
#(
<$Shortcut
Dir="SCDIR_MAKEMSI"
Feature="." ;;Advertise current
Title="Samples|Open YOUR SAMPLES directory"
Description=^Opens YOUR "samples" folder (your code is copied here if you have defined its location).^
Icon="@OSAMPLES"
WorkDir="INSTALLDIR"
>
#)
<$/Component>
;----------------------------------------------------------------------------
;--- NEW GUID ShortCut ------------------------------------------------------
;----------------------------------------------------------------------------
<$Icon KEY="@MmWiGuid" ".\MmWiGuid.ico">
<$Component "ShortCutMmWiGuid" Create="Y" Directory_="INSTALLDIR">
<$File Source="out\MmWiGuid.vbs" Comment='Simple tool to create Windows Installer Guids, useful if you wish to specify guids in the VER file.' KeyPath="Y">
#(
<$Shortcut
Dir="SCDIR_MAKEMSI"
Feature="." ;;Advertise current
Title="MmWiGuid|GUID Generation"
Description="Generates new GUIDs which you can cut and paste into your code."
Icon="@MmWiGuid"
WorkDir="INSTALLDIR"
>
#)
<$/Component>
;----------------------------------------------------------------------------
;--- Show Windows Installer Version -----------------------------------------
;----------------------------------------------------------------------------
<$Icon KEY="@VersionInformationBox" ".\VersionInformationBox.ico">
<$Component "ShortCutVersionInformationBox" Create="Y" Directory_="INSTALLDIR">
<$File Source="out\VersionInformationBox.vbs" Comment='Simple tool to create Windows Installer Guids, useful if you wish to specify guids in the VER file.' KeyPath="Y">
#(
<$Shortcut
Dir="SCDIR_MAKEMSI"
Feature="." ;;Advertise current
Title="Versions|Display Versions"
Description="Display Windows, WSH & Windows Installer version information."
Icon="@VersionInformationBox"
WorkDir="INSTALLDIR"
>
#)
<$/Component>
;----------------------------------------------------------------------------
;--- Mangle/Unmangle GUIDs --------------------------------------------------
;----------------------------------------------------------------------------
<$Icon KEY="@Mangled" ".\_Mangled.ico">
<$Component "ShortCutMangled" Create="Y" Directory_="INSTALLDIR">
<$File Source="out\_Mangled.vbs" KeyPath="Y" Comment=^Converts GUIDs between MSI and "mangled" formats.^>
#(
<$Shortcut
Dir="SCDIR_MAKEMSI"
Feature="." ;;Advertise current
Title="GUID Conversion"
Description="Converts between MSI and mangled GUID formats."
Icon="@Mangled"
WorkDir="INSTALLDIR"
>
#)
<$/Component>
;----------------------------------------------------------------------------
;--- Environment/path setup -------------------------------------------------
;----------------------------------------------------------------------------
<$Component "ENVIRONMENT_AND_REGISTRY_4_DOS" Condition="Version9X" Create="Y" Directory_="INSTALLDIR">
;--- Update the "PATH" ---------------------------------------------------
<$Path '"[INSTALLDIR]"'> ;;Dos requires quotes around directory, example "@PATH=blah;..." will fail if quotes missing)
;--- Component Key path --------------------------------------------------
#(
<$Registry
HKEY="LOCAL_MACHINE"
KEY="Software\MAKEMSI\KeyPaths"
NAME="ENVIRONMENT_AND_REGISTRY_4_DOS"
KEYPATH="Y"
>
#)
<$/Component>
<$Component "ENVIRONMENT_AND_REGISTRY_4_NT" Condition="not Version9X" Create="Y" Directory_="INSTALLDIR">
;--- Update the "PATH" ---------------------------------------------------
<$Path '[INSTALLDIR]'> ;;No special requirements for NT based
;--- Set up PATHEXT so Windows can find the rexx code --------------------
<$Path ".<$EXTN_REXX>" NAME="PATHEXT">
;--- Component Key path --------------------------------------------------
#(
<$Registry
HKEY="LOCAL_MACHINE"
KEY="Software\MAKEMSI\KeyPaths"
NAME="ENVIRONMENT_AND_REGISTRY_4_NT"
KEYPATH="Y"
>
#)
<$/Component>
<$Component "ENVIRONMENT_AND_REGISTRY" Create="Y" Directory_="INSTALLDIR">
;--- Point to the install directory --------------------------------------
<$Environment NAME="MAKEMSI_DIR" VALUE="[INSTALLDIR]">
;--- Point to the default location (users should not update, override macro instead) ---
<$Environment NAME="MAKEMSI_MSIVAL2_DIR" VALUE="[ProgramFilesFolder]MSIVAL2">
;--- Tell "MSIDIFF" where a default MSI template is ----------------------
<$Environment NAME="MAKEMSI_DB_COMPARE_TEMPLATE.MSI" VALUE="[INSTALLDIR]UiSample.MSI">
;--- Help PPWIZARD find the MAKEMSI headers ------------------------------
<$Path "[INSTALLDIR]" NAME="PPWIZARD_INCLUDE">
;--- Help regina find rexx code ------------------------------------------
<$Path "[INSTALLDIR]" NAME="REGINA_MACROS">
;--- Regina 3.3 RC2 is OK ------------------------------------------------
;<$Path "3.3RC2(MT)" NAME="PPWIZARD_TEST_REGINA_VER" Delimiter=",">
;<$Path "3.3(MT)" NAME="PPWIZARD_TEST_REGINA_VER" Delimiter=",">
<$Path "3.3(JULIAN)(MT)" NAME="PPWIZARD_TEST_REGINA_VER" Delimiter=",">
;--- Set up association for our "unusual" rexx code extension ------------
<$File Destination="<$4MM.ICO>" Source="4mm.ico" Comment="Icon for .4MM files (rexx files for MAKEMSI)." cabinet="!">
#(
;--- ".REX" association ----------------------------------------------
<$Registry
HKEY="CLASSES_ROOT"
KEY=".<$EXTN_REXX>"
VALUE="<$REXX_ProgID>"
KEYPATH="Y"
>
#)
#(
;--- ".REX" ftype ----------------------------------------------------
<$Registry
HKEY="CLASSES_ROOT"
KEY="<$REXX_ProgID>\Shell\Open\Command"
VALUE=^"[INSTALLDIR]<$NAME_REGINA.EXE>" "%1" %*^
MsiFormatted="VALUE"
>
#)
#(
;--- The ICON --------------------------------------------------------
<$Registry
HKEY="CLASSES_ROOT"
KEY="<$REXX_ProgID>\DefaultIcon"
VALUE=^[INSTALLDIR]<$4mm.ico>^
MsiFormatted="VALUE"
>
#)
<$Registry HKEY="CLASSES_ROOT" KEY="<$REXX_ProgID>\AlwaysShowExt" VALUE=^^>
<$/Component>
;----------------------------------------------------------------------------
;--- Handle/create ".RE4MM" files -------------------------------------------
;----------------------------------------------------------------------------
<$Component "ForNT_RE4MM" Create="Y" Directory_="INSTALLDIR" Condition="not Version9X">
;--- Add the "program" file ---------------------------------------------
<$File Source="_re4mm.cmd" Comment=^Batch file to convert a regedit4 formatted file to MAKEMSI format (used via Explorer).^>
<$File Source="re4mm.p" Comment=^PPWIZARD script used by "_re4mm.cmd".^>
;--- Add the ICON files -------------------------------------------------
<$File Destination="<$RE4MM.ICO>" Source="re4mm.ico" Comment=^Icon for .RE4MM files (exported ".reg" files converted to MAKEMSI format).^ cabinet="!">
;--- Open ".RE4MM" files in a Text editor -------------------------------
<$Extn ".RE4MM" ProgId="RE4MM" KEYPATH="Y" Description="Converted REGEDIT4 registry file" Icon="[INSTALLDIR]<$re4mm.ico>" AlwaysShow="Y">
<$ExtnAction Key="Open" Description="Edit RE4MM file" Command=^[DEFAULT_TEXT_EDITOR_CMDLINE]^>
<$/Extn>
;--- How to create ".RE4MM" files ---------------------------------------
<$Extn ProgId="regfile">
#(
<$ExtnAction
Key="ZZZConvertToMakeMsiFormat"
Description="Convert to MAKEMSI format"
Command=^"[INSTALLDIR]_RE4MM.CMD" %1^
>
#)
<$/Extn>
<$/Component>
;----------------------------------------------------------------------------
;--- Handle/create ".INIMM" files -------------------------------------------
;----------------------------------------------------------------------------
<$Component "ForNT_INIMM" Create="Y" Directory_="INSTALLDIR" Condition="not Version9X">
;--- Add the "program" file ---------------------------------------------
<$File Source="_IniMM.cmd" Comment=^Batch file to convert a .INI file to MAKEMSI format (used via Explorer).^>
<$File Source="IniMM.p" Comment=^PPWIZARD script used by "_IniMM.cmd".^>
;--- Add the ICON files -------------------------------------------------
<$File Destination="<$IniMM.ICO>" Source="inimm.ico" Comment=^Icon for .INIMM files (exported ".ini" files converted to MAKEMSI format).^ cabinet="!">
;--- Open ".RE4MM" files in a Text editor -------------------------------
<$Extn ".INIMM" ProgId="INIMM" KEYPATH="Y" Description="Converted INI file (MAKEMSI formatted)" Icon="[INSTALLDIR]<$inimm.ico>" AlwaysShow="Y">
<$ExtnAction Key="Open" Description="Edit INIMM file" Command=^[DEFAULT_TEXT_EDITOR_CMDLINE]^>
<$/Extn>
;--- How to create ".RE4MM" files ---------------------------------------
<$Extn ProgId="inifile">
#(
<$ExtnAction
Key="ZZZConvertToMakeMsiFormat"
Description="Convert to MAKEMSI format"
Command=^"[INSTALLDIR]_INIMM.CMD" %1^
>
#)
<$/Extn>
<$/Component>
;----------------------------------------------------------------------------
;--- Handle/create ".IDT" files ---------------------------------------------
;----------------------------------------------------------------------------
<$Component "ForNT_IDT2DEFN" Create="Y" Directory_="INSTALLDIR" Condition="not Version9X">
;--- Add the "program" file ---------------------------------------------
<$File Source="out\_ExportDb.VBS" Comment='Exports a windows Installer database to .IDT (extracts binaries).<$AVRPT_EXPORTDB_VBS>' KeyPath="Y">
<$File Source="_IDT2DEFN.cmd" Comment=^Batch file to convert .IDT files to MAKEMSI table definitions format (used via Explorer).^>
<$File Source="IDT2DEFN.p" Comment=^PPWIZARD script used by "_IDT2DEFN.cmd".^>
;--- Open ".MmTable" files in a Text editor -----------------------------
<$File Destination="<$IDT.ICO>" Source="IDT.ICO" Comment=^Icon for .RE4MM files (exported ".reg" files converted to MAKEMSI format).^ cabinet="!">
<$Extn ".MmTable" ProgId="MmTable" KEYPATH="Y" Description="MAKEMSI TableDefinition" Icon="[INSTALLDIR]<$IDT.ICO>" AlwaysShow="Y">
<$ExtnAction Key="Open" Description="Edit TABLE DEFINITION file" Command=^[DEFAULT_TEXT_EDITOR_CMDLINE]^>
<$/Extn>
;--- How to handle .IDT files -------------------------------------------
<$Extn ProgId=".idt">
<$ExtnAction Key="Open" Description="Edit TABLE DEFINITION file" Command=^[DEFAULT_TEXT_EDITOR_CMDLINE]^>
<$ExtnAction Key="ZZZConvertToMakeMsiTableDef" Description="Convert to MAKEMSI Table Defn" Command=^"[INSTALLDIR]_IDT2DEFN.CMD" %1^>
<$/Extn>
;--- How are ".IDT" generated -------------------------------------------
#{ SET ^TYPE={ }<$MSI_DATABASE_TYPES> Msi.Patch^
;--- Create a component for each type --------------------------------
<$Component "RIGHT_CLICK_MSIEXPORT_<??SET_TYPE>_ALL" Create="Y" Directory_="INSTALLDIR">
;--- Export whole database ---------------------------------------
#(
<$Registry
HKEY="CLASSES_ROOT"
KEY="<??SET_TYPE>\shell\Z_MAKEMSI_38_MSIEXPORT"
VALUE="Export to .IDT"
KEYPATH="Y"
>
#)
#(
<$Registry
HKEY="CLASSES_ROOT"
KEY="<??SET_TYPE>\shell\Z_MAKEMSI_38_MSIEXPORT\command"
VALUE='"[WSCRIPT.EXE]" "[INSTALLDIR]_ExportDB.VBS" "%1"'
MsiFormatted="VALUE"
>
#)
<$/Component>
#}
<$/Component>
;----------------------------------------------------------------------------
;--- PERUSER.VBS ------------------------------------------------------------
;----------------------------------------------------------------------------
<$Component "PerUser.VBS" Create="Y" Directory_="INSTALLDIR">
<$File Source="out\PerUser.VBS" Comment=^VBSCRIPT which will report per user installed products and identify the users (used SidToName.exe if available).^ KeyPath="Y">
<$File Source="SidToName.exe" Comment=^Free program from www.joeware.net (used by PerUser.VBS)^>
<$/Component>
;----------------------------------------------------------------------------
;--- MAKEMSI .MM , .MMH etc -------------------------------------------------
;----------------------------------------------------------------------------
#(
<$Feature "MakeMsiAssociations"
Directory_="INSTALLDIR"
Title="Associate .MM, .MMH & .VER"
Description="MAKEMSI .MM, .MMH & .VER associations.
Allow you to easily edit scripts
and generate MSIs etc."
;; Level="5" ;;Not installed by default
>
#)
;--- Work out the default text editor ------------------------------------
<$FIND_DEFAULT_TEXT_EDITOR_CMDLINE>
;--- Set up some "right click" actions -----------------------------------
<$Component "MakeMsiAssociations" Create="Y" Directory_="INSTALLDIR">
;--- Add the ICON files ---------------------------------------------
<$File Destination="<$MM.ICO>" Source="mm.ico" Comment="Icon for .MMH files" cabinet="!">
<$File Destination="<$MMH.ICO>" Source="mmh.ico" Comment="Icon for .MM files" cabinet="!">
<$File Destination="<$VER.ICO>" Source="ver.ico" Comment="Icon for .VER files" cabinet="!">
;--- Set up the associations ----------------------------------------
<$Extn ".MM" ProgId="MAKEMSI.MM" KEYPATH="Y" Description="<$PROGID_MAKEMSI_MM>" Icon="[INSTALLDIR]<$mm.ico>" AlwaysShow="Y">
<$ExtnAction Key="Open" Description="Edit MAKEMSI Script" Command=^[DEFAULT_TEXT_EDITOR_CMDLINE]^>
<$ExtnAction Key="ZZ_100_Build_D" Description="Build MSI - Development" Command=^"[WSCRIPT.EXE]" "[INSTALLDIR]_MM.VBS" "%1" D^>
<$ExtnAction Key="ZZ_100_Build_P" Description="Build MSI - Production" Command=^"[WSCRIPT.EXE]" "[INSTALLDIR]_MM.VBS" "%1" P^>
<$/Extn>
<$Extn ".MMH" ProgId="MAKEMSI.MMH" Description="<$PROGID_MAKEMSI_MMH>" Icon="[INSTALLDIR]<$mmh.ico>" AlwaysShow="Y">
<$ExtnAction Key="Open" Description="Edit MAKEMSI Header" Command=^[DEFAULT_TEXT_EDITOR_CMDLINE]^ >
<$/Extn>
<$Extn ".VER" ProgId="MAKEMSI.VER" Description="MAKEMSI Product/Version File" Icon="[INSTALLDIR]<$ver.ico>" AlwaysShow="Y">
<$ExtnAction Key="Open" Description="Edit Product/Version FILE" Command=^[DEFAULT_TEXT_EDITOR_CMDLINE]^ >
<$/Extn>
<$/Component>
<$/Feature>
;----------------------------------------------------------------------------
;--- RIGHT CLICK Option for VIEWING with ORCA -------------------------------
;----------------------------------------------------------------------------
#(
<$Feature "ViewMsiInOrca"
Directory_="INSTALLDIR"
Title="View MSI in ORCA"
Description="Right Click Explorer option.
Allows you to view a file without Orca
updating it (even when you don't change anything)!"
;; Level="5" ;;Not installed by default
>
#)
;--- Set up some "right click" actions -----------------------------------
<$Component "RIGHT_CLICK_ORCAVIEW" Create="Y" Directory_="INSTALLDIR">
#{ SET ^TYPE={ }<$MSI_DATABASE_TYPES>^
#(
<$Registry
HKEY="CLASSES_ROOT"
KEY="<??SET_TYPE>\shell\Z_MAKEMSI_10_ORCA_VIEW"
VALUE="VIEW With Orca"
KEYPATH="Y"
>
#)
#(
<$Registry
HKEY="CLASSES_ROOT"
KEY="<??SET_TYPE>\shell\Z_MAKEMSI_10_ORCA_VIEW\command"
VALUE='"[WSCRIPT.EXE]" "[INSTALLDIR]OrcaView.VBS" "%1" %*'
MsiFormatted="VALUE"
>
#)
#}
<$/Component>
<$/Feature>
;----------------------------------------------------------------------------
;--- RIGHT CLICK Option for MSI/MSM Validation ------------------------------
;----------------------------------------------------------------------------
#(
<$Feature "MmValidate"
Directory_="INSTALLDIR"
Title="Validate MSI/MSM"
Description="Right Click Explorer option.
Allows you to verify an MSI or merge module."
;; Level="5" ;;Not installed by default
>
#)
;--- Set up some "right click" actions -----------------------------------
<$Component "RIGHT_CLICK_MMVALIDATE" Create="Y" Directory_="INSTALLDIR" Condition="not Version9X">
#{ SET ^TYPE={ }<$PROGIDS_MSI> <$PROGIDS_MSM>^
#(
<$Registry
HKEY="CLASSES_ROOT"
KEY="<??SET_TYPE>\shell\Z_MAKEMSI_15_MMVALIDATE"
VALUE="Validate It"
KEYPATH="Y"
>
#)
#(
<$Registry
HKEY="CLASSES_ROOT"
KEY="<??SET_TYPE>\shell\Z_MAKEMSI_15_MMVALIDATE\command"
VALUE='"[CSCRIPT.EXE]" //NoLogo "[INSTALLDIR]MmValidate.VBS" /ErrorsInMsgBox "%1"'
MsiFormatted="VALUE"
>
#)
#}
<$/Component>
<$/Feature>
;----------------------------------------------------------------------------
;--- RIGHT CLICK Option -> New Command prompt -------------------------------
;----------------------------------------------------------------------------
#define NEW_CMD_PROMPT_KEY aaaa-NewCmdPrompt
#(
<$Feature "NewCommandPrompt"
Directory_="INSTALLDIR"
Title="New Command Prompt"
Description="Right Click -> NEW Command Prompt Explorer option.
Allows you to open a command prompt easily!"
;; Level="5" ;;Not installed by default
>
#)
;--- Set up some "right click" actions -----------------------------------
<$Component "RIGHT_CLICK_NEW_CMDPROMPT" Create="Y" Directory_="INSTALLDIR" Condition="not Version9X">
#(
;--- Need to define an extension (use "dummy") -------------------
<$Registry
HKEY="CLASSES_ROOT"
KEY=".<$NEW_CMD_PROMPT_KEY>"
VALUE="<$NEW_CMD_PROMPT_KEY>"
KEYPATH="Y"
>
#)
#(
;--- The "NEW" command to execute --------------------------------
<$Registry
HKEY="CLASSES_ROOT"
KEY=".<$NEW_CMD_PROMPT_KEY>\ShellNew"
NAME="Command"
VALUE=^"%COMSPEC%" /K ""[INSTALLDIR]CmdPrompt.cmd" "%1""^
MsiFormatted="VALUE"
>
#)
<$File Source="CmdPrompt.ico" Destination="<$CMDPROMPT.ICO>" Comment="Icon for New->Command Prompt" cabinet="!">
<$File Source="CmdPrompt.cmd" Comment="Command for New->Command Prompt">
#(
;--- "NEW" descriptive text --------------------------------------
<$Registry
HKEY="CLASSES_ROOT"
KEY="<$NEW_CMD_PROMPT_KEY>"
VALUE=^Command Prompt (here)^
>
#)
#(
;--- The "NEW" icon ----------------------------------------------
<$Registry
HKEY="CLASSES_ROOT"
KEY="<$NEW_CMD_PROMPT_KEY>\DefaultIcon"
VALUE=^[INSTALLDIR]<$CmdPrompt.ico>^
MsiFormatted="VALUE"
>
#)
#(
;--- WIN2000 needs "OPEN" entry for "NEW" item to appear ---------
<$Registry
HKEY="CLASSES_ROOT"
KEY="<$NEW_CMD_PROMPT_KEY>\Shell\Open\Command"
VALUE=^"%COMSPEC%" /c echo **** OOPS: %1• & pause^ ;;Anything will do (extension never used)
MsiFormatted="VALUE"
>
#)
<$/Component>
<$/Feature>
;----------------------------------------------------------------------------
;--- RIGHT CLICK MSI LOGGING Options ----------------------------------------
;----------------------------------------------------------------------------
#(
<$Feature "MsiVerboseLogging"
Directory_="INSTALLDIR"
Title="Verbose MSI/MSP Logging"
Description="Right Click Explorer option.
Very useful for diagnosing install problems.
Highly recommended."
;; Level="5" ;;Not installed by default
>
#)
;--- Set up some "right click" actions -----------------------------------
#(
#define VERBOSE_LOGGING
#(
<$Registry
HKEY="CLASSES_ROOT"
KEY="{$#1}\shell\Z_MAKEMSI_20_INSTALL_VERBOSE"
VALUE="Install - &VERBOSE Logging!"
>
#)
#(
<$Registry
HKEY="CLASSES_ROOT"
KEY="{$#1}\shell\Z_MAKEMSI_20_INSTALL_VERBOSE\command"
VALUE='"[SystemFolder]msiexec.exe" {$Switches} "%1" /l*v "%1.MsiLog" %*'
MsiFormatted="VALUE"
KEYPATH="Y"
>
#)
#)
<$Component "RIGHT_CLICK_VERBOSE" Create="Y" Directory_="INSTALLDIR">
<$Registry HKEY="CLASSES_ROOT" KEY=".MsiLog" VALUE="txtfile" KeyPath="Y">
<$VERBOSE_LOGGING "Msi.Patch" Switches="/p">
<$VERBOSE_LOGGING "Msi.Package" Switches="/i">
<$/Component>
<$/Feature>
;----------------------------------------------------------------------------
;--- RIGHT CLICK MSI MENU Options ----------------------------------------
;----------------------------------------------------------------------------
#(
<$Feature "MsiRightClickMenu"
Directory_="INSTALLDIR"
Title="MSI Menu"
Description="Right Click Explorer option.
Very useful for diagnosing install problems.
Highly recommended."
;; Level="5" ;;Not installed by default
>
#)
;--- Set up some "right click" actions -----------------------------------
#(
#define MSI_MENU
#(
<$Registry
HKEY="CLASSES_ROOT"
KEY="{$#1}\shell\Z_MAKEMSI_25_MSI_MENU"
VALUE="MSI MENU..."
>
#)
#(
<$Registry
HKEY="CLASSES_ROOT"
KEY="{$#1}\shell\Z_MAKEMSI_25_MSI_MENU\command"
VALUE='"[MSHTA_EXE]" "[INSTALLDIR]MsiExecMm.hta" (=)%1(=)[INSTALLDIR]MenuMsi.INI(=)'
MsiFormatted="VALUE"
KEYPATH="Y"
>
#)
#)
<$FileFind File="Mshta.EXE" Property="MSHTA_EXE" Default="!" PATH="[SystemFolder]" Depth="0">
#define CONDITION_CAN_USE_HTA VersionNT and MSHTA_EXE
<$Component "RIGHT_CLICK_VERBOSE.CMD" Create="Y" Directory_="INSTALLDIR" Condition="<$CONDITION_CAN_USE_HTA>">
<$MSI_MENU "Msi.Package">
<$IniFile "MenuMsi.INI" DIR="[INSTALLDIR]">
<$IniSection "MAKEMSI">
#define MmMenuItem <$Ini #1=^{$SortKey}^ Value=^{$Visible}|{$Cmd}^>
;----[4DocoMmMenuItems]---
<$MmMenuItem SortKey=^Install^ Visible=^Normal Installation^ Cmd=^{?:MSIEXEC.EXE} /i "{?}" /l*v "{?}.INST.MsiLog"^>
<$MmMenuItem SortKey=^Install-10-Silent^ Visible=^Basic Installation^ Cmd=^{?:MSIEXEC.EXE} /i "{?}" /l*v "{?}.BINST.MsiLog" /qb^>
<$MmMenuItem SortKey=^Install-20-Silent^ Visible=^Silent Installation^ Cmd=^{?:MSIEXEC.EXE} /i "{?}" /l*v "{?}.SINST.MsiLog" /qn^>
<$MmMenuItem SortKey=^Install-30-PerMachine^ Visible=^Normal Installation (PER-MACHINE)^ Cmd=^{?:MSIEXEC.EXE} /i "{?}" /l*v "{?}.InstPm.MsiLog" ALLUSERS=1^>
<$MmMenuItem SortKey=^Install-40-PerUser^ Visible=^Normal Installation (PER-USER)^ Cmd=^{?:MSIEXEC.EXE} /i "{?}" /l*v "{?}.InstPu.MsiLog" ALLUSERS=""^>
<$MmMenuItem SortKey=^Install-70-Admin^ Visible=^Administrative Installation^ Cmd=^{?:MSIEXEC.EXE} /a "{?}" /l*v "{?}.ADMIN.MsiLog"^>
<$MmMenuItem SortKey=^Install-80-Admin_HERE^ Visible=^Administrative Installation - Extract "HERE"^ Cmd=^{?:MSIEXEC.EXE} /a "{?}" /l*v "{?}.ADMIN.MsiLog" TARGETDIR="{!:MD}{?:P}\AdminInstall\{?:B}{!:MD}"^>
<$MmMenuItem SortKey=^Uninstall^ Visible=^Uninstallation^ Cmd=^{?:MSIEXEC.EXE} /x "{?}" /l*v "{?}.UNINST.MsiLog"^>
;----[4DocoMmMenuItems]---
<$/IniSection>
<$/IniFile>
<$/Component>
<$Component "RIGHT_CLICK_VERBOSE.MSHTA" Create="Y" Directory_="INSTALLDIR" Condition="<$CONDITION_CAN_USE_HTA>">
<$File source="out\MsiExecMm.hta" KeyPath="Y">
<$File source="MsiExecMm.ico">
<$/Component>
<$/Feature>
;----------------------------------------------------------------------------
;--- VERBOSE LOG VIEWER -----------------------------------------------------
;----------------------------------------------------------------------------
#(
<$Feature "VerboseLogViewer"
Directory_="INSTALLDIR"
Title="Verbose Log Viewer"
Description=^Right Click Explorer option.
Uses the Microsoft SDK "WILOGUTL.EXE" program to
view verbose logs.^
;; Level="5" ;;Not installed by default
>
#)
;--- Find the SDK utility and point an environment variable to it -------
<$FileFind File="WiLogUtl.EXE" Property="WILOGUTL_EXE" Default="!" PATH="[ProgramFilesFolder]" Depth="3">
<$Component "ENVIRONMENT_WiLogUtl.EXE" Create="Y" Directory_="INSTALLDIR" LM="Y" Condition=^WILOGUTL_EXE <> "!"^>
<$Environment NAME="MAKEMSI_WILOGUTL_EXE" VALUE="[WILOGUTL_EXE]">
<$/Component>
;--- Set up some "right click" actions -----------------------------------
<$Component "RIGHT_CLICK_VIEW_LOG" Create="Y" Directory_="INSTALLDIR">
#(
<$Registry
HKEY="CLASSES_ROOT"
KEY="txtfile\shell\Z_MAKEMSI_20_VIEW_VERBOSE_LOG"
VALUE="View Verbose MSI Log"
KEYPATH="Y"
>
#)
#(
<$Registry
HKEY="CLASSES_ROOT"
KEY="txtfile\shell\Z_MAKEMSI_20_VIEW_VERBOSE_LOG\command"
VALUE='"[WSCRIPT.EXE]" "[!_LogView.VBS]" "%1"'
MsiFormatted="VALUE"
>
#)
<$/Component>
<$/Feature>
;----------------------------------------------------------------------------
;--- FILE INFO --------------------------------------------------------------
;----------------------------------------------------------------------------
#(
<$Feature "DisplayFileInfo"
Directory_=""
Title="Display File Properties"
Description=^Useful Explorer option for displaying file properties
that can be displayed in the generated HTML report.^
;; Level="5" ;;Not installed by default
>
#)
<$Component "FileInfoSendToIconForNT" Condition="not Version9X" Create="Y" Directory_="INSTALLDIR_PERUSER" CU="Y">
;--- Add as a user file (so only deleted if shortcut is!) -----------
<$File source="FileInfo.cmd" Comment=^Dumps STRFINFO and Document Properties for a file.^>
<$File source="StrFInfo.exe" Comment=^Used to dump executable file information in the HTML report (not used for MSI version information in "File" table). Also see "MmDocumentProperties.VBS".^>
<$File source="out\MmDocumentProperties.VBS" Comment=^Can be used to dump document properties of office or other files. Similar to "StrFInfo.exe"^>
<$Icon KEY="@FileInfo" ".\FileInfo.ico">
#(
<$Shortcut
Dir="SendToFolder"
Target="[INSTALLDIR_PERUSER]FileInfo.cmd"
Title="Display File Properties"
Description="Displays file properties (version <$ProductVersion>)."
Icon="@FileInfo"
WorkDir="INSTALLDIR_PERUSER"
ShowCmd="SHOWMINNOACTIVE"
>
#)
<$/Component>
<$MsiValFilter "will be installed to the per user directory" Comment=^Not true, this MSI installs per-machine^>
<$/Feature>
;----------------------------------------------------------------------------
;--- MD5 stuff --------------------------------------------------------------
;----------------------------------------------------------------------------
#(
<$Feature "GenerateMD5"
Directory_="INSTALLDIR"
Title="Generate MD5"
Description=^Useful Explorer option for comparing files
("Send To" shortcut or "right click" option for DOS).
Note that MAKEMSI generated HTML reports list
MD5 information for files.^
;; Level="5" ;;Not installed by default
>
#)
;--- DOS -----------------------------------------------------------------
<$Component "Md5RightClickForDos" Condition="Version9X" Create="Y" Directory_="INSTALLDIR">
<$Extn ProgId="AllFilesystemObjects">
<$ExtnAction Key="ZMAKEMSI_MD5" Description="Display MD5" Command=^"[WSCRIPT.EXE]" "[INSTALLDIR]MmMD5.VBS" "%1"^ KEYPATH="Y">
<$/Extn>
<$/Component>
;--- NT ------------------------------------------------------------------
#define SendToShortCutName Display MD5
#define SendToShortCutDesc Calculate the MD5 values for file(s)
<$Component "MD5SendToIconForNT" Condition="not Version9X" Create="Y" Directory_="INSTALLDIR_PERUSER" CU="Y">
;--- Add as a user file (so only deleted if shortcut is!) -----------
<$File source="out\MmMD5.vbs" Comment=^Displays MD5 for file.^>
#(
<$Shortcut
Dir="SendToFolder"
Target="[INSTALLDIR_PERUSER]MmMD5.vbs"
Title="<$SendToShortCutName>"
Description="<$SendToShortCutDesc>."
Icon="@5.ico"
WorkDir="INSTALLDIR_PERUSER"
ShowCmd="SHOWMINNOACTIVE"
>
#)
<$/Component>
<$MsiValFilter "will be installed to the per user directory" Comment=^Not true, this MSI installs per-machine^>
;** [CommentBlockStart (September 16, 2005 5:26:26 PM EST, Dennis)
;**+----------------------------------------------------------------------
;**| <$Component "Md5SendToIconForNT" Condition="not Version9X" Create="Y" Directory_="INSTALLDIR">
;**| <$File source="5.ico" KeyPath="Y">
;**| <$/Component>
;**| <$Component "Md5SendToForNT" Condition="not Version9X" Create="Y" Directory_="INSTALLDIR" ComponentId=""> ;;VBS must continue to run after our uninstall (to remove the shortcuts)
;**| ;--- Create the VBS --------------------------------------------------
;**| #define @@VBS_NAME <$SendToShortCutName>.VBS
;**| <$FileMake "<$MAKEMSI_VBSCRIPT_DIR>\<$@@VBS_NAME>">
;**| ;--- Insert Syntax Checking Stub here ----------------------------
;**| <?SyntaxCheck>
;**| <?NewLine>
;**|
;**| ;--- Get the parameters ------------------------------------------
;**| #define HKLM_RUN_DISPLAY_MD5_KEY SOFTWARE\Microsoft\Windows\CurrentVersion\Run
;**| #define HKLM_RUN_DISPLAY_MD5_VALUENAME MAKEMSI
;**| if wscript.arguments.count <> 3 then
;**| dim Title : Title = "<$@@VBS_NAME> (MAKEMSI v<$ProductVersion>)"
;**| dim Text : Text = "MAKEMSI user setup failed. "
;**| Text = Text & "An incorrect number of arguments was passed to ""<$@@VBS_NAME>"" "
;**| Text = Text & "(we expected 3). This script is normally executed during Windows logon processing "
;**| Text = Text & "(see ""HKLM\<$HKLM_RUN_DISPLAY_MD5_KEY>\<$HKLM_RUN_DISPLAY_MD5_VALUENAME>"")."
;**| Text = Text & vbCRLF & vbCRLF & "We were passed " & wscript.arguments.count & " parameters"
;**| if wscript.arguments.count = 0 then
;**| Text = Text & "."
;**| else
;**| Text = Text & ":" & vbCRLF
;**| dim i
;**| for i = 0 to wscript.arguments.count-1
;**| Text = Text & vbCRLF & "#" & i+1 & ": " & wscript.arguments(i)
;**| next
;**| end if
;**| msgbox Text, VbWarning, Title
;**| wscript.quit 999
;**| end if
;**| dim ProductCode : ProductCode = wscript.arguments(0)
;**| dim InstallDir : InstallDir = wscript.arguments(1)
;**| dim RegVersion : RegVersion = wscript.arguments(2) 'Not used but will be displayed in the above diagnostic
;**|
;**| ;--- Initialization ----------------------------------------------
;**| dim oInstaller : set oInstaller = CreateObject("WindowsInstaller.Installer")
;**| dim oShell : set oShell = CreateObject("WScript.Shell")
;**| dim oFs : set oFs = CreateObject("Scripting.FileSystemObject")
;**|
;**| ;--- Ignore any (other) errors -----------------------------------
;**| on error resume next
;**|
;**| ;--- Work out the shortcut name ----------------------------------
;**| dim ShortcutFile, TargetFile, IconFile
;**| ShortcutFile = oShell.SpecialFolders("SendTo") & "\<$SendToShortCutName>.lnk"
;**| TargetFile = InstallDir & "MmMD5.VBS"
;**| IconFile = InstallDir & "5.ico"
;**|
;**| ;--- Create or delete the icon -----------------------------------
;**| const msiInstallStateDefault = 5
;**| dim ProductState : ProductState = oInstaller.ProductState(ProductCode)
;**| if ProductState <> msiInstallStateDefault then
;**| ;--- Delete the shortcut -------------------------------------
;**| if oFs.FileExists(ShortcutFile) then
;--- | ;--- Shortcut exists so delete it ------------------
;**| oFs.DeleteFile ShortcutFile
;**| end if
;**| else
;**| ;--- Create the shortcut -------------------------------------
;**| set oSc = oShell.CreateShortcut(ShortcutFile)
;**| oSc.TargetPath = TargetFile
;**| oSc.WindowStyle = 1
;**| oSc.Description = "<$SendToShortCutDesc>"
;**| oSc.WorkingDirectory = InstallDir
;**| oSc.IconLocation = IconFile & ",0"
;**| oSc.Save
;**| end if
;**| <$/FileMake>
;**|
;**| ;--- Add the VBS to the component ------------------------------------
;**| <$File RowKey="SendToMd5.vbs" source="<$MAKEMSI_VBSCRIPT_DIR>\<$@@VBS_NAME>" COMMENT=^Run at user logon to create or delete the MD5 "Send To" shortcut. This file and the "run" registry entry not removed at uninstall.^>
;**|
;**| ;--- Setup the registry to run our VBS -------------------------------
;**| #(
;**| ;--- MSI version passed for sanity checks on error ---------------
;**| <$Registry
;**| HKEY="LOCAL_MACHINE"
;**| Key="<$HKLM_RUN_DISPLAY_MD5_KEY>"
;**| Name='<$HKLM_RUN_DISPLAY_MD5_VALUENAME>'
;**| Value=^[!SendToMd5.vbs] "[ProductCode]" "[INSTALLDIR]" "<$ProductVersion>"^
;**| MsiFormatted="VALUE"
;**| KeyPath="Y"
;**| >
;**| #)
;**| <$/Component>
;**+----------------------------------------------------------------------
;** CommentBlockEnd] (September 16, 2005 5:26:26 PM EST, Dennis)
<$/Feature>
;----------------------------------------------------------------------------
;--- MAKEMSI ActiveX Control ------------------------------------------------
;----------------------------------------------------------------------------
<$Cabinet "MakeMSI.DLL">
#(
<$Feature "InstallActiveXDll"
Directory_="INSTALLDIR"
Title="Install ActiveX DLL"
Description=^Useful but optional DLL. Used to determine if dll has self registration entry points.^
;; Level="5" ;;Not installed by default
>
#)
<$Component "ActiveXControl" Create="Y" Directory_="INSTALLDIR">
<$File RowKey="MakeMSI.DLL" Source="..\MAKEMSI_ActiveXControl\out\MakeMSI.DLL" KeyPath="Y" Comment=^MAKEMSI's 32 BIT Active-X DLL. Note that on a 64 bit OS, you must call via the 32 bit version of "cscript.exe"^>
<$/Component>
<$SelfRegister "MakeMSI.DLL">
<$/Feature>
<$Table "Condition">
#(
;--- Disable this feature if the required DLL can't be located ----------
<$Row
Feature_="InstallActiveXDll"
Level="0"
Condition=^not MSVBVM60.DLL^
>
#)
<$/Table>
<$/Cabinet>
;----------------------------------------------------------------------------
;--- Not sure why this is now required in 2017 (new MS validation?) ---------
;----------------------------------------------------------------------------
<$MsiValFilter RE="Y" "The file '.*' will be installed to the per user directory '.*' that doesn't vary based on ALLUSERS value">
SOURCE CODE - MAKEMSI.MM.H
;----------------------------------------------------------------------------
;
; MODULE NAME: MAKEMSI.MM.H
;
; $Author: USER "Dennis" $
; $Revision: 1.9 $
; $Date: 28 Apr 2022 09:05:18 $
; $Logfile: D:/DBAREIS/Projects.PVCS/Win32/MakeMsi/Makemsi.mm.h.pvcs $
; COPYRIGHT: (C)opyright Dennis Bareis, Australia, 2003
; All rights reserved.
;
; DESCRIPTION
; ~~~~~~~~~~~
; I had to get a bit creative with the filename as I have many files with
; similar names!
;
; This file is a common header file included by MAKEMSI.MM and other
; related build scripts.
;
; It supplies some common definitions as well as loading MAKEMSI support.
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
;--- Apply most department/company standards and include "MAKEMSI" support --
;----------------------------------------------------------------------------
#define? DEPT_ARP_URL_PUBLISHER <?PpwizardAuthorHomePage>
#define? DEPT_ARP_URL_TECHNICAL_SUPPORT <$MAKEMSI_HOMEPAGE>
#define COMPILE_CABDDF_CompressionType <$COMPRESS_BEST>
#define COMPANY_HTMLRPT_DOCO_INSTALL_DIR_KEY INSTALLDIR
#define+ MmMODE P ;;Always want to build in production mode!
#include "DENNIS.MMH" ;;Include MAKEMSI support (customised for me)
#define+ DEFAULT_ROW_VALIDATE_NO_WHERE NEW
;----------------------------------------------------------------------------
;--- MAKEMSI Program IDs ----------------------------------------------------
;----------------------------------------------------------------------------
#define PROGID_MAKEMSI_MM MAKEMSI Script Source
#define PROGID_MAKEMSI_MMH MAKEMSI Script Header
;----------------------------------------------------------------------------
;--- Windows Installer database types (HKCR) --------------------------------
;----------------------------------------------------------------------------
#(
#define PROGIDS_MSI
Msi.Package ;;MSI (one of the few MS got right)
#)
#(
#define PROGIDS_MSM
;--- Merge Modules (lots of aliases - Thanks again MS) ------------------
.msm ;;Native state (as Windows installs)
Msi.MergeModule ;;When Orca installed
MaSaIModule.Document ;;When MaSaI Editor installed
WiseModule.Document ;;When Wise Installer PRO Installed
#)
#(
;--- Orca edits these file types ----------------------------------------
#define MSI_DATABASE_TYPES
<$PROGIDS_MSI>
<$PROGIDS_MSM>
.pcp ;;Windows Installer Patch Creation File
.cub ;;Validation Database
#)
#(
#define MSI_TRANSFORM_TYPES
;--- TRANSFORMS ---------------------------------------------------------
.mst ;;Native state (as Windows installs)
MaSaITransform.Document ;;When MaSaI Editor installed
WiseTransform.Document ;;When Wise Installer PRO Installed
Msi.Transform ;;When "InstEd" (MSI Editor) is installed
#)
#(
#define MSI_PATCH_TYPES
;--- PATCHES ------------------------------------------------------------
Msi.Patch ;;Standard Windows Installer progtype
#)
; .MSP => Msi.Patch
;----------------------------------------------------------------------------
;--- MSIDIFF.VBS Extensions -------------------------------------------------
;----------------------------------------------------------------------------
#define MSIDUMP_OUTPUT_DIFFERENCE MmDiffTxt
#define MSIDUMP_OUTPUT_COMPLETE MmDumpTxt
;----------------------------------------------------------------------------
;--- Find "WSCRIPT.EXE" (see Dennis.MMH) ------------------------------------
;----------------------------------------------------------------------------
;<$CSCRIPT.EXE>
;<$WSCRIPT.EXE>
<$FileFindInListedDirs Property="CSCRIPT.EXE" File="CSCRIPT.EXE" DIRS="[System64Folder];[SystemFolder];[WindowsFolder]">
<$FileFindInListedDirs Property="WSCRIPT.EXE" File="WSCRIPT.EXE" DIRS="[System64Folder];[SystemFolder];[WindowsFolder]">
;----------------------------------------------------------------------------
;--- Handy macro to create a component for each file passed -----------------
;----------------------------------------------------------------------------
#(
#define CompPerFile
#evaluate+ ^COMPONENT_NAME^ ^FilePart('n', '{$#1}')^
<$Component "<$COMPONENT_NAME>" Create="Y" Directory_="{$Dir=^INSTALLDIR^}">
<$File Source="{$#1}" Comment=~{$Comment=^^}~ KeyPath="Y">
<$/Component>
#)
;----------------------------------------------------------------------------
;--- Handy macro to find text editor ----------------------------------------
;----------------------------------------------------------------------------
#(
#define FIND_DEFAULT_TEXT_EDITOR_CMDLINE
<$RegistryRead
Property="DEFAULT_TEXT_EDITOR_CMDLINE"
Default=^notepad.exe "%1"^
HKEY="CLASSES_ROOT"
Key="txtfile\shell\open\command" ;;Probably still notepad...
>
#)
;----------------------------------------------------------------------------
;--- Include this header file as source in the generated HTML doco ----------
;----------------------------------------------------------------------------
<$SourceForReport>