MakeMsi v15.0.137.0000
MakeMsi v15.0.137.0000

SUMMARY

AttributeContents
Product NameMakeMsi
Version15.0.137.0000
DescriptionMAKEMSI 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 ChangePlease see the MAKEMSI documentation for a complete change history (at "http://makemsi-manual.dennisbareis.com/changehistory.htm").
MSID:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\MSI\MakeMsi.msi
Built AtThu May 21 2015 at 7:38:23pm (USER "Dennis" on CN-DENNIS-MBOX)
Supported
Platforms
SUPPORTED on:

  1. Any Windows workstations or servers
NoteMAKEMSI 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{FE504DA3-2554-45BE-8709-B44266F0381A} ("3AD405EF4552EB5478904B24660F83A1")
Product Code{046C83E6-2D5B-4FBA-8A53-0C744F813A03} ("6E38C640B5D2ABF4A835C047F418A330")
Upgrade Code{D89869CB-2A7C-4296-9CC9-028A0DEC79B8}
Processing ModeProduction

Files

Name Ext Time Size Destination
Directory
Source Comment
MakeMsi chm 21 May 2015 7:35:59pm* 4,872,907
C:\Program Files\MakeMsi\Documentation

[INSTALLDIR]\Documentation

DOCODIR
D:\DBAREIS\Projects\Win32\MakeMsi\OUT\DOCO\MakeMsi\MakeMsi.chm
Component ShortCutDocoMAKEMSI MD5 4EE372DF-8487DF0A-F0F2DD9B-7FD0EC12 Install Time 21 May 2015 7:35:58pm

MAKEMSI documentation. The document is in Windows Compiled Help format and so has a contents, an index and can be searched.
TryMeDualPurposePackage-SupportsWinXP MM 17 May 2015 4:21:18pm 7,128
C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers

[SAMPLESDIR]\TryMe\Create MSI Installers

SAMPLESDIR_TRYME_CREATE_MSI
D:\DBAREIS\Projects\Win32\MakeMsi\TryMeDualPurposePackage-SupportsWinXP.MM
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 F0418042-4CC7ECED-81CF3F12-A05C9171

Single Package Authoring example.
MAKEMSI mm 17 May 2015 3:20:20pm 98,015
C:\Program Files\MakeMsi\Samples\Other\MakeMSI Source

[SAMPLESDIR]\Other\MakeMSI Source

SAMPLESDIR_MAKEMSI_SOURCE
D:\DBAREIS\Projects\Win32\MakeMsi\MAKEMSI.mm
Component SamplesMakeMsiSource MD5 5096CF47-D34482A3-5A793D8B-5A1DC989

This is the source actually used to build this MAKEMSI tool's MSI. It will fail if you try to use it...
MmVersion mmh 17 May 2015 2:40:21pm* 617
C:\Program Files\MakeMsi

[ProgramFilesFolder]\MakeMsi

INSTALLDIR
D:\DBAREIS\Projects\Win32\MakeMsi\MmVersion.mmh
Component MainFiles MD5 292E305D-5DCAF447-C3EFB54A-892ACD6E Install Time 17 May 2015 2:40:22pm

Contains MAKEMSI's version number.
ppwizard chm 6 May 2015 6:45:56pm 1,437,000 C:\Program Files\MakeMsi\Documentation D:\DBAREIS\Projects\Win32\MakeMsi\ppwizard.chm
Component ShortCutDocoPPWIZARD MD5 079B5CB4-AA403EBB-C4E0D353-BA625C4E

PPWIZARD's documentation. The document is in Windows Compiled Help format and so has a contents, an index and can be searched.
PpWiz4MM 4mm 6 May 2015 6:11:43pm* 445,437 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\PpWiz4MM.4mm
Component PpWiz4MM.4mm MD5 16C94C7C-ED1676E0-BB70C090-DB7202BC Install Time 6 May 2015 6:11:44pm

The PPWIZARD tool. A very powerful preprocessor (also used to generate the MAKEMSI documentation).
extn mmh 6 May 2015 5:16:56pm 8,439 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\extn.mmh
Component MainFiles MD5 B180A530-B00A472C-7D3EDDC6-FBED86A7

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
MakeMSI DLL 3 May 2015 6:51:56pm 36,864 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MAKEMSI_ActiveXControl\out\MakeMSI.DLL
Component ActiveXControl MD5 45BDE883-960674F1-F9441B02-2335EAFB Version 15.5.0.3 Self Registration yes

MAKEMSI 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:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMeExcelAddIn.MM
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 3FA97A19-4567817C-EF1F083B-5D9C422C

A sample for adding an Excel add-in.
location mmh 30 Apr 2015 7:23:14pm 7,846 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\location.mmh
Component MainFiles MD5 B9B7C377-3BC4A008-6352791D-65E74810

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 30 Apr 2015 7:23:12pm 26,992 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\DENNIS.mmh
Component MainFiles MD5 A24CFCE1-4CA58B20-2868F631-F0EEF583

A more complex branding and configuration file than "ME.MMH".
MmValidate FLT 29 Apr 2015 6:31:26pm 1,432 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\Other\MmValidate.FLT
Component MmValidate.FLT MD5 7A15BB66-7FC7AC1E-5E3820CA-6BCA73C8

Default filter used by "MmValidate.VBS".
Tee4MM 4mm 23 Apr 2015 5:57:16pm 5,773 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Tee4MM.4mm
Component Tee4MM.4mm MD5 5749F0A7-9E5F7363-71A92C4D-DD32CC4F

Used during compile to capture cab compression details (for debugging only).
_MM VBS 22 Apr 2015 7:34:29pm* 4,112 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\out\_MM.VBS
Component _MM.VBS MD5 2879E8C5-46E362A7-84C1BCB1-2B2A73AE Install Time 22 Apr 2015 7:34:30pm

This is called via Explorer associations (used internally).
_LogView VBS 22 Apr 2015 7:34:29pm* 3,981 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\out\_LogView.VBS
Component _LogView.VBS MD5 0347108C-6B825887-0910A007-F26CD1F3 Install Time 22 Apr 2015 7:34:30pm

Not intended for user use (used internally).
MonitorUninstallKey VBS 22 Apr 2015 7:34:28pm 3,849 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\out\MonitorUninstallKey.VBS
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\out\MmValidate.VBS
Component MmValidate.VBS MD5 7A0742C9-CB5C2AD3-435D4BE7-D95046FF Install Time 22 Apr 2015 7:34:28pm

Used for command line or explorer based validation.
_Mangled vbs 22 Apr 2015 7:34:26pm 3,550 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\out\_Mangled.vbs
Component ShortCutMangled MD5 113F24CD-D17113C1-D2485745-6F3846FB

Converts GUIDs between MSI and "mangled" formats.
_ExportDb VBS 22 Apr 2015 7:34:25pm* 10,337 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\out\_ExportDb.VBS
Component ForNT_IDT2DEFN MD5 D6E18502-9F294150-F31692DB-5AD556B4 Install Time 22 Apr 2015 7:34:26pm

Exports a windows Installer database to .IDT (extracts binaries).

Although not a virus it may be flagged as "probably unknown SCRIPT virus" by NOD32

_Anti vbs 22 Apr 2015 7:34:24pm 3,077
C:\Program Files\MakeMsi\Bug Diagnostics\Look4AntiVirusIssues

[BUG_DIAGNOSTICS]\Look4AntiVirusIssues

DIAGDIR_ANTIVIRUS
D:\DBAREIS\Projects\Win32\MakeMsi\OUT\_Anti.vbs
Component ShortCutDocoTestForAntiVirus MD5 64B08AA9-2AB31AB5-7A6C6665-87FE902F

Run via shortcut to test for anti-virus or anti-spyware issues
OrcaView VBS 22 Apr 2015 7:34:22pm 4,059 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\out\OrcaView.VBS
Component OrcaView.VBS MD5 C4CEC00F-097CECC1-4134D793-60D0B88B

This tool is used for the right click MSI "view" option.
DelOlderRE VBS 22 Apr 2015 7:34:21pm* 10,279 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\out\DelOlderRE.VBS
Component DelOlderRE.VBS MD5 F14F689B-1DB2EBA6-5280A4D6-ED0CE158 Install Time 22 Apr 2015 7:34:22pm

Can be used by schedules etc to delete old log files etc.
MsiSync VBS 22 Apr 2015 7:34:20pm 26,057
C:\Program Files\MakeMsi\MsiSyncTool

[INSTALLDIR]\MsiSyncTool

_INSTALLDIR_MSISYNCTOOL
D:\DBAREIS\Projects\Win32\MakeMsi\out\MsiSync.VBS
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.
VersionInformationBox vbs 22 Apr 2015 7:34:19pm* 4,372 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\out\VersionInformationBox.vbs
Component ShortCutVersionInformationBox MD5 CB0AE284-52854EA5-B18D1EE6-5B27BBEF 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.
MmWiGuid vbs 22 Apr 2015 7:34:19pm* 1,442 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\out\MmWiGuid.vbs
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\out\OSamples.vbs
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]\MAKEMSI

INSTALLDIR_PERUSER
D:\DBAREIS\Projects\Win32\MakeMsi\out\MmMD5.vbs
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\out\MmMD5.VBS
Component MmMD5.VBS MD5 FA7B25A5-48024383-C7064DF4-0C7EB667 Install Time 22 Apr 2015 7:34:18pm

Displays the MD5 hash for a file (useful for comparing against generated HTML reports).
PerUser VBS 22 Apr 2015 7:34:16pm 8,941 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\out\PerUser.VBS
Component PerUser.VBS MD5 FCC48379-193EF67C-57DB7457-B2A56BCE

VBSCRIPT which will report per user installed products and identify the users (used SidToName.exe if available).
MmLockFile VBS 22 Apr 2015 7:34:14pm 1,391 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\out\MmLockFile.VBS
Component MmLockFile.VBS MD5 91C27030-17140D1C-0665C19F-492753CD

Can be used to lock a file to test Windows Installer Installation etc.
MmDocumentProperties VBS 22 Apr 2015 7:34:13pm* 9,121 [AppDataFolder]\MAKEMSI D:\DBAREIS\Projects\Win32\MakeMsi\out\MmDocumentProperties.VBS
Component FileInfoSendToIconForNT MD5 5C0F9501-83E065CA-C33CEF66-ED8B1CBB Install Time 22 Apr 2015 7:34:14pm

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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\out\MmDocumentProperties.VBS
Component MmDocumentProperties.VBS MD5 5C0F9501-83E065CA-C33CEF66-ED8B1CBB Install Time 22 Apr 2015 7:34:14pm

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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\out\IisDumpMetaBase.VBS
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).
RegularExpTestMm hta 22 Apr 2015 7:34:10pm 18,114 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\out\RegularExpTestMm.hta
Component MainFiles MD5 B4D5C87D-D95B1770-E3C8D3D7-814F426C

Tests regular expressions
MsiExecMm hta 22 Apr 2015 7:34:09pm* 8,530 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\out\MsiExecMm.hta
Component RIGHT_CLICK_VERBOSE.MSHTA MD5 3EDEDA7D-0BEFF0EB-C4522561-CD492CDF Install Time 22 Apr 2015 7:34:10pm
TryMeExcelAddIn xla 22 Apr 2015 5:52:24pm 23,040 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMeExcelAddIn.xla
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 8AA14034-702E85E5-F9DBC962-1A4523A7

The "TryMeExcelAddIn.MM" sample needs this.
TryMeExtnAction MM 13 Apr 2015 5:34:50pm 6,272 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMeExtnAction.MM
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 46C4B969-1C57860A-CF422F42-E83EAFA9

Demonstrates file association (and New shortcut) creation.
Tables mmh 13 Apr 2015 5:34:48pm 41,988 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Tables.mmh
Component MainFiles MD5 E0992373-A2801F2F-7C07A421-34FA5DAD

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 13 Apr 2015 5:34:44pm 27,945 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\ShortCut.mmh
Component MainFiles MD5 A308BC0F-5DC72CFC-59D38091-FD095EDA

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 13 Apr 2015 5:34:44pm 13,773 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\SelfReg.mmh
Component MainFiles MD5 B593215E-5196432C-4D8C8D74-D44FF348

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 13 Apr 2015 5:34:44pm 24,329 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Registry.mmh
Component MainFiles MD5 351CC304-4A39F939-7A5CDD11-98EE95A2

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 13 Apr 2015 5:34:34pm 18,816 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Files.mmh
Component MainFiles MD5 CEF91135-37107EF3-14052DD6-B8B717F5

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
File mmh 13 Apr 2015 5:34:34pm 105,674 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\File.mmh
Component MainFiles MD5 71A041EA-9647099F-05000FB7-AA39D049

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 13 Apr 2015 5:34:32pm 20,455 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\component.mmh
Component MainFiles MD5 B486DAF6-8ADF16BD-98F47350-C959E783

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 13 Apr 2015 5:34:32pm 54,009 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Company.mmh
Component MainFiles MD5 BA3B4CE7-1F3A9779-A16A915E-A9515622

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
TEMPLATE_MSI-SimpleSchedule MMH 24 Mar 2015 6:35:32pm 15,049 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\TEMPLATE_MSI-SimpleSchedule.MMH
Component MainFiles MD5 6E0A9330-769B3514-47E80849-87114A2E

Contains all of the code required to create a simple msi following a certain pattern.
ShortcutUrl MMH 24 Mar 2015 6:35:30pm 41,298 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\ShortcutUrl.MMH
Component MainFiles MD5 17489DBF-C741F9D7-D2C70E3D-E1B5B90A

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
RunCmd mmh 24 Mar 2015 6:35:26pm 12,960 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\RunCmd.mmh
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)!
RemFile mmh 24 Mar 2015 6:35:26pm 4,571 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\RemFile.mmh
Component MainFiles MD5 7F0AA7FF-E91A50F7-54D86FC4-820AB844

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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\MergeMod.mmh
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)!
MakeMsi mmh 24 Mar 2015 6:35:10pm 21,924 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\MakeMsi.mmh
Component MainFiles MD5 879650EF-689B162C-5A70B672-4B42F821

Include this to create an MSI with full control (most people will want to use "DEPT.MMH" instead).
INI mmh 24 Mar 2015 6:35:04pm 15,217 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\INI.mmh
Component MainFiles MD5 AA33C4A1-C809B315-2C65E09B-C6B0CABA

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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\ExeCA.mmh
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)!
DirTree mmh 24 Mar 2015 6:35:00pm 23,528 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\DirTree.mmh
Component MainFiles MD5 221424B1-109AE664-9D45808B-6C0DF210

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
TryMeTemplate-SimpleSchedule MM 3 Mar 2015 6:44:46pm 4,471 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMeTemplate-SimpleSchedule.MM
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 07F86773-EBAB4CF1-F8AFCF53-30AC9B9A

A sample uses "TEMPLATE_MSI-SimpleSchedule.MMH" to create a single scheduled task.
Compile mmh 17 Nov 2013 1:13:12pm 72,375 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Compile.mmh
Component MainFiles MD5 BA0AE1E3-4EC8AD2D-A874596C-A967FB18

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 8 Sep 2013 6:06:46pm 11,070 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\MM.CMD
Component ForNT MD5 3DD1E708-C9029E9F-665C0B51-04232B48

A small "sample" batch file to build an MSI (eventually I will also add explorer right click option for building MSIs).
RegImport mmh 19 Nov 2011 1:59:02pm 25,216 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\RegImport.mmh
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\DialogTemplate.MMH
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)!
VbsCa mmh 25 Mar 2011 7:50:42pm 33,090 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\VbsCa.mmh
Component MainFiles MD5 960CF866-B3994412-CD3DD4E4-E8B18704

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 19 Mar 2011 10:41:24am 69,807 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\VbsCa-StartEnd.MMH
Component MainFiles MD5 973D0C41-B751C2D8-F234DBCD-F6F2341B

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 29 Aug 2010 11:43:24am 23,934 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Valid.mmh
Component MainFiles MD5 140E5F2B-C551D6FF-4CF7E577-CF9F63D1

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:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMeDllCustomAction.MM
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 11B4EDF7-23A9FDA2-AE893CF8-F99252BE

A sample that demonstrates a DLL custom action.
DllCa-C MMH 18 Jun 2010 5:50:42pm 37,163 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\DllCa-C.MMH
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\DllCa.mmh
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)!
AbortIf mmh 20 Feb 2010 6:12:42pm 4,718 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\AbortIf.mmh
Component MainFiles MD5 7030158C-0890B40C-DB1245DD-817B998E

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:\Program Files\MakeMsi\UserExtns\ChristophMockenhaupt

[USER_SUPPLIED_EXTENSIONS]\ChristophMockenhaupt

BY_CHRISTOPH_MOCKENHAUPT
D:\DBAREIS\Projects\Win32\MakeMsi\FireWall[ChristophMockenhaupt].mmh
Component BY_CHRISTOPH_MOCKENHAUPT MD5 9909CD20-47C9C6BF-A15DFD48-3FBFB5BA

Supplied and maintained by Christoph Mockenhaupt (thanks).
DEBUG MMH 30 Jan 2010 3:53:20pm 3,265 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\DEBUG.MMH
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\SelfRegImport-TEST.MMH
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:\Program Files\MakeMsi\More Work (or help) Required\Capture of Self Registration Information

[MORE_WORK]\Capture of Self Registration Information

MORE_WORK_CAPTURE_SELF_REGISTRATION
D:\DBAREIS\Projects\Win32\MakeMsi\SelfRegImport.MMH
Component MORE_WORK_CAPTURE_SELF_REGISTRATION MD5 D46AEC83-594AFDDE-0A7AFCFF-DC4ED2F1

Uses "SelfRegCapture.exe" to capture registry, exports and manipulates output (Intended to be used to pupulate "Registry" table with captured info).
PossibleFalseAntiVirusAlerts DH 24 Nov 2009 5:42:06pm 2,163 C:\Program Files\MakeMsi\Samples\Other\MakeMSI Source D:\DBAREIS\Projects\Win32\MakeMsi\PossibleFalseAntiVirusAlerts.DH
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...
AutoTag mmh 24 Nov 2009 5:41:40pm 23,838 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\AutoTag.mmh
Component MainFiles MD5 5B224341-99C3C8B8-86F93804-84C3977D

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 12 Nov 2009 5:45:30pm 57,988 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\uisample.mmh
Component MainFiles MD5 F508EFD1-12962D50-408144CB-FE8F0695

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 12 Nov 2009 5:45:12pm 14,136 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\OnExit.mmh
Component MainFiles MD5 EF03D344-8F36FF72-D6183D5B-BB29CBA5

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 12 Nov 2009 5:45:08pm 73,540 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\msi.mmh
Component MainFiles MD5 ED9587D2-F19689A5-14F8D50D-4D1FFB48

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
sundry mmh 23 Oct 2009 2:47:28pm 32,040 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\sundry.mmh
Component MainFiles MD5 8684DE87-13CCC3E0-5C878309-2C59FF24

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 16 Oct 2009 9:59:16am 18,864 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\property.mmh
Component MainFiles MD5 2D5ADE66-DC1BB774-46C168B4-7270ECAE

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
ToolTips mmh 21 Sep 2009 4:09:46pm 27,992 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\ToolTips.mmh
Component MainFiles MD5 AA9DC49E-9107FAE9-F537F0DC-2F8314A4

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
MsiDiff ver 21 Sep 2009 4:09:28pm 4,624 C:\Program Files\MakeMsi\Samples\Other\MakeMSI Source D:\DBAREIS\Projects\Win32\MakeMsi\MsiDiff.ver
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...
find mmh 20 Sep 2009 4:17:18pm 17,652 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\find.mmh
Component MainFiles MD5 3738F3FB-6C3A4D37-0698EE39-EAE8DE29

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
HtmlMsiTable mmh 4 Jun 2009 6:37:08pm 19,314 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\HtmlMsiTable.mmh
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\schedule.mmh
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\jsca.mmh
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\WrapInst.mmh
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:\Program Files\MakeMsi\Samples\Other\Sundry\Service

[SAMPLESDIR_OTHER_SUNDRY]\Service

_SAMPLESDIR_OTHER_SUNDRY_SERVICE
D:\DBAREIS\Projects\Win32\MakeMsi\VbscriptBasedService.MM
Component SAMPLESDIR_OTHER_SERVICE MD5 95339A56-CF857BA7-D79F8A06-33B3FFF5

Installs a VBSCRIPT based program as a service.
JsCa-StartEnd MMH 30 May 2009 3:07:00pm 20,466 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\JsCa-StartEnd.MMH
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\CaType.MMH
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)!
ReadMe TXT 22 Apr 2009 6:12:32pm 675 C:\Program Files\MakeMsi\Samples\Other\Sundry\Service D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\ReadmeFiles\Readme-SAMPLESDIR_OTHER_SERVICE.TXT
Component SAMPLESDIR_OTHER_SERVICE MD5 E74F6CD5-41654E54-3ECA044D-8D91BF63
FileInfo mmh 14 Feb 2009 9:40:38am 21,677 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\FileInfo.mmh
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)!
ReadMe TXT 14 Feb 2009 8:50:36am 613
C:\Program Files\MakeMsi\Bug Diagnostics

[INSTALLDIR]\Bug Diagnostics

BUG_DIAGNOSTICS
D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\ReadmeFiles\Readme-BugDiagnostics.TXT
Component BugDiagnostics MD5 4CDE3ADF-CF49D3E6-F084E482-681882FC
ReadMe TXT 14 Feb 2009 8:50:34am 941 C:\Program Files\MakeMsi\MsiSyncTool D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\ReadmeFiles\Readme-MsiSync.TXT
Component MsiSync MD5 5F214316-27FB110E-1E32EBA2-41C2C0CC
ReadMe TXT 14 Feb 2009 8:50:30am 613 C:\Program Files\MakeMsi\More Work (or help) Required\Capture of Self Registration Information D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\ReadmeFiles\Readme-MORE_WORK_CAPTURE_SELF_REGISTRATION.TXT
Component MORE_WORK_CAPTURE_SELF_REGISTRATION MD5 637A8D71-F930D54A-2861867F-EDD4E3A5
SelfReg VER 14 Feb 2009 8:50:29am* 528 C:\Program Files\MakeMsi\More Work (or help) Required\Capture of Self Registration Information D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\Other\SelfReg.VER
Component MORE_WORK_CAPTURE_SELF_REGISTRATION MD5 639BA52F-AA016308-C9AFC24C-DE49EE5C Install Time 14 Feb 2009 8:50:30am

Supporting VER file, details irrelevant!
SelfReg MM 14 Feb 2009 8:50:29am* 350 C:\Program Files\MakeMsi\More Work (or help) Required\Capture of Self Registration Information D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\Other\SelfReg.MM
Component MORE_WORK_CAPTURE_SELF_REGISTRATION MD5 B82BA6C2-0783FD87-A7130439-A24549D7 Install Time 14 Feb 2009 8:50:30am

Test script to exercise code.
ReadMe TXT 14 Feb 2009 8:50:29am* 732
C:\Program Files\MakeMsi\More Work (or help) Required

[INSTALLDIR]\More Work (or help) Required

MORE_WORK
D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\ReadmeFiles\Readme-MORE_WORK.TXT
Component MORE_WORK MD5 3C234C02-B7B70ADD-4EC87FCC-62F0740F Install Time 14 Feb 2009 8:50:30am
ReadMe TXT 14 Feb 2009 8:50:28am 526
C:\Program Files\MakeMsi\Registry Policies

[INSTALLDIR]\Registry Policies

MSI_POLICIES
D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\ReadmeFiles\Readme-MSI_POLICIES.TXT
Component MSI_POLICIES MD5 D2C8AC14-5F5074C3-D22B1ABE-D11F4839
ReadMe TXT 14 Feb 2009 8:50:27am* 977
C:\Program Files\MakeMsi\Samples\Other\Sundry\KB872942

[SAMPLESDIR_OTHER_SUNDRY]\KB872942

_SAMPLESDIR_OTHER_SUNDRY_KB872942
D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\ReadmeFiles\Readme-SAMPLESDIR_OTHER_KB12345.TXT
Component SAMPLESDIR_OTHER_KB12345 MD5 F5FDB62A-EDBD614A-017C45FE-8D595FBD Install Time 14 Feb 2009 8:50:28am
ReadMe TXT 14 Feb 2009 8:50:25am* 586
C:\Program Files\MakeMsi\Samples\Other\Sundry

[SAMPLESDIR_OTHER]\Sundry

SAMPLESDIR_OTHER_SUNDRY
D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\ReadmeFiles\Readme-SAMPLESDIR_OTHER_SUNDRY.TXT
Component SAMPLESDIR_OTHER_SUNDRY MD5 765E67E0-47DA2BBF-5CDDF1CC-B9A1B79C Install Time 14 Feb 2009 8:50:26am
ReadMe TXT 14 Feb 2009 8:50:24am 552
C:\Program Files\MakeMsi\Samples\Other\Regression Tests

[SAMPLESDIR_OTHER]\Regression Tests

_SAMPLESDIR_OTHER_REGRESSION_TESTS
D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\ReadmeFiles\Readme-SAMPLESDIR_REGRESSION_TESTS.TXT
Component SAMPLESDIR_REGRESSION_TESTS MD5 500681F0-30DF5CE5-9B06269C-4BF28385
ReadMe TXT 14 Feb 2009 8:50:23am* 639
C:\Program Files\MakeMsi\Samples\TryMe\Update Databases (including MSI)

[SAMPLESDIR]\TryMe\Update Databases (including MSI)

SAMPLESDIR_TRYME_UPDATE_DB
D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\ReadmeFiles\Readme-SAMPLESDIR_TRYME_UPDATE_DB.TXT
Component SAMPLESDIR_TRYME_UPDATE_DB MD5 047D3DE3-18292E41-711A2DE3-81CC78A4 Install Time 14 Feb 2009 8:50:24am
ReadMe TXT 14 Feb 2009 8:50:22am 975
C:\Program Files\MakeMsi\Samples\TryMe\Create Validation Suites

[SAMPLESDIR]\TryMe\Create Validation Suites

SAMPLESDIR_TRYME_CUB
D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\ReadmeFiles\Readme-SAMPLESDIR_TRYME_CUB.TXT
Component SAMPLESDIR_TRYME_CUB MD5 2E206666-F10D45DC-BDBBCEAE-3C1C7718
ReadMe TXT 14 Feb 2009 8:50:21am* 823
C:\Program Files\MakeMsi\Samples\TryMe\Create Merge Modules

[SAMPLESDIR]\TryMe\Create Merge Modules

SAMPLESDIR_TRYME_CREATE_MSM
D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\ReadmeFiles\Readme-SAMPLESDIR_TRYME_CREATE_MSM.TXT
Component SAMPLESDIR_TRYME_CREATE_MSM MD5 DE2E0A19-644D21BF-D80936C8-40A11B17 Install Time 14 Feb 2009 8:50:22am
ReadMe TXT 14 Feb 2009 8:50:18am 705
C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers\Localisation to Dutch

[SAMPLESDIR_TRYME_CREATE_MSI]\Localisation to Dutch

SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH
D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\ReadmeFiles\Readme-SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH.TXT
Component SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH MD5 ECBB6422-E9F956F8-889EC7FE-8EC54B2D
ReadMe TXT 14 Feb 2009 8:50:17am* 2,178 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\ReadmeFiles\Readme-SAMPLESDIR_TRYME_CREATE_MSI.TXT
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 8C1A7AD6-48771B1F-BB59D2C7-6F70961D Install Time 14 Feb 2009 8:50:18am
ReadMe TXT 14 Feb 2009 8:50:14am 797 C:\Program Files\MakeMsi\Samples\Other\MakeMSI Source D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\ReadmeFiles\Readme-SamplesMakeMsiSource.TXT
Component SamplesMakeMsiSource MD5 0767BD49-4FA30A47-3DBAA023-05B8ADC2
ReadMe TXT 14 Feb 2009 8:50:12am 600
C:\Program Files\MakeMsi\Samples\Other

[SAMPLESDIR]\Other

SAMPLESDIR_OTHER
D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\ReadmeFiles\Readme-SAMPLESDIR_OTHER.TXT
Component SAMPLESDIR_OTHER MD5 BD1286B2-23F8360A-8FBAD586-F784C111
ReadMe TXT 14 Feb 2009 8:50:12am 627
C:\Program Files\MakeMsi\Samples\TryMe

[SAMPLESDIR]\TryMe

SAMPLESDIR_TRYME
D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\ReadmeFiles\Readme-SAMPLESDIR_TRYME.TXT
Component SAMPLESDIR_TRYME MD5 B6D4C3AA-22D12EA7-1A12A09F-6A4FBC44
ReadMe TXT 14 Feb 2009 8:50:11am* 2,142
C:\Program Files\MakeMsi\Samples

[INSTALLDIR]\Samples

SAMPLESDIR
D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\ReadmeFiles\Readme-SAMPLESDIR.TXT
Component SAMPLESDIR MD5 299A7310-FD379A85-5EAC64D4-A2C3B131 Install Time 14 Feb 2009 8:50:12am
ReadMe TXT 14 Feb 2009 8:49:54am 604
C:\Program Files\MakeMsi\UserExtns

[INSTALLDIR]\UserExtns

USER_SUPPLIED_EXTENSIONS
D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\ReadmeFiles\Readme-USER_SUPPLIED_EXTENSIONS.TXT
Component USER_SUPPLIED_EXTENSIONS MD5 26557021-B9B87E11-EF0AD430-241E9722
Dialog mmh 10 Dec 2008 8:10:52pm 11,664 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Dialog.mmh
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\TableIE.mmh
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:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMeWithUserDialog.MM
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 8B6F2A70-47DA3242-07345FAA-8DF15F6F

The same as "TryMe.MM" but also inserts a user dialog into the user interface.
TryMeAddVersionKeywordAndLaunchCondition MM 7 Nov 2008 6:48:00pm 12,449 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMeAddVersionKeywordAndLaunchCondition.MM
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 BEF10643-A7F29E87-282D279B-5003E43F

Demonstrates adding a version file keyword and adding launch conditions via the VERSION file!
TryMeConditionDialogs MM 5 Nov 2008 5:29:24pm 8,369 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMeConditionDialogs.MM
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 DEF505DA-C3F05C68-CB24A8D7-0462E9EA

Demonstrates conditional dialog flow.
Ver mmh 24 Oct 2008 9:54:40am 24,808 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Ver.mmh
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\ListMsi.vbs
Component MainFiles MD5 60FDF20C-365A3856-17FB6E40-D04AD9B0

useful script to list installed products.
TryMeLoadDirTreeMaintainingAttributes MM 30 Aug 2008 12:29:48pm 19,081 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMeLoadDirTreeMaintainingAttributes.MM
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 B6A32C73-2EBDEA30-F96293D0-0A8648E5

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:\Program Files\MakeMsi\Samples\TryMe\Update Databases (including MSI) D:\DBAREIS\Projects\Win32\MakeMsi\Tweek.mm
Component SAMPLESDIR_TRYME_UPDATE_DB MD5 357E2D91-EBFD42EF-7ADB6006-1EC01560

Source for a script which makes one simple change to an MSI.
Makemsi.mm h 23 Aug 2008 2:19:50pm 5,565 C:\Program Files\MakeMsi\Samples\Other\MakeMSI Source D:\DBAREIS\Projects\Win32\MakeMsi\Makemsi.mm.h
Component SamplesMakeMsiSource MD5 9F946577-2723C7A5-29881EB2-450E8DF6

This is the source actually used to build this MAKEMSI tool's MSI. It will fail if you try to use it...
Dir1 mmh 23 Aug 2008 2:19:42pm 13,278 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Dir1.mmh
Component MainFiles MD5 D83F499D-5CD82092-F576DAD3-4AEACF9B

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 23 Aug 2008 2:19:42pm 15,991 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\CommonFrameWork.mmh
Component MainFiles MD5 4F431498-C2C73845-3143E475-F06E7286

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
MsiDiff MM 20 Aug 2008 5:17:46pm 8,788 C:\Program Files\MakeMsi\Samples\Other\MakeMSI Source D:\DBAREIS\Projects\Win32\MakeMsi\MsiDiff.MM
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...
Samples mmh 19 Aug 2008 7:02:56pm 7,058 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Samples.mmh
Component MainFiles MD5 BDFE1C85-811E56F8-F9E63154-F81A745E

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
Seq# mmh 16 Aug 2008 1:44:14pm 8,186 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Seq#.mmh
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\MacroCfg.mmh
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\HookInto.MMH
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)!
FindMult vbs 13 Aug 2008 6:54:42pm 10,242 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\FindMult.vbs
Component FindMult.vbs MD5 287F0179-38D1F98D-D129A26D-D0527977

Used to filter MSI validation results.
ProductValidation MMH 17 Jul 2008 10:09:52am 17,347 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\ProductValidation.MMH
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\UiSample.msi
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
TableRow mmh 6 May 2008 6:04:50pm 52,699 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\TableRow.mmh
Component MainFiles MD5 428295F9-63745E7C-E380BB9E-54B9D7B8

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
Access MMH 1 May 2008 6:41:28pm 9,405 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Access.MMH
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\TableDef.mmh
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\ErrorTemplates.TXT
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_SUPPORT_TEXT txt 23 Jan 2008 5:36:06pm 2,088 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\MM_SUPPORT_TEXT.txt
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:\Program Files\MakeMsi\Documentation D:\DBAREIS\Projects\Win32\MakeMsi\MakeMsi.Licence.RTF
Component ShortCutLicence MD5 00BAD493-7645D7DF-EF1BB6C3-D9907DFD

The MAKEMSI licence file you agreed to during the install.
TryMeUserInputUsed2CreateFile MM 19 Nov 2007 7:28:58pm 2,930 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMeUserInputUsed2CreateFile.MM
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 662443EF-D13FD5A5-06493D96-8390C859

A sample that asks for user input at BUILD time.
ADSI mmh 6 Nov 2007 9:47:20am 31,682 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\ADSI.mmh
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:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMe.VER
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 D3190916-91052145-9776C1D9-9C963FA6

The version file for the sample/test scripts "TryMe.MM" and "TryMeShortcuts.MM" etc!
ME mmh 27 Sep 2007 5:38:34pm 4,737 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\ME.mmh
Component MainFiles MD5 A536B249-ACD30EE8-A63C1942-FCCC11EB

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).
HtmlRpt mmh 27 Sep 2007 5:38:32pm 22,088 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\HtmlRpt.mmh
Component MainFiles MD5 A24BA2AC-4E839F76-4C629B1B-A461F638

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
Feature mmh 27 Sep 2007 5:38:20pm 11,551 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Feature.mmh
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)!
InvalidMacros MMH 15 Sep 2007 6:31:20pm 3,395 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\InvalidMacros.MMH
Component MainFiles MD5 1E9CDDD1-84DE960F-77AAF8C7-4D04EB3F

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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\FreeExtractor.MMH
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\CmdPrompt.cmd
Component RIGHT_CLICK_NEW_CMDPROMPT MD5 C16FB815-6E936C5E-717D0298-C297505C

Command for New->Command Prompt
Guid mmh 1 Sep 2007 10:25:16am 12,037 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Guid.mmh
Component MainFiles MD5 4BD11400-CE44CB9D-6D5259AA-18656AB3

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
COMPLUS mmh 23 Aug 2007 5:55:06pm 40,645 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\COMPLUS.mmh
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\summary.mmh
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\MmMode.mmh
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\re4mm.p
Component ForNT_RE4MM MD5 6FDB5FC1-D76FCF6B-FEE17B65-97FDECF3

PPWIZARD script used by "_re4mm.cmd".
srccode mmh 23 Jun 2007 6:18:56pm 6,144 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\srccode.mmh
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Icon.mmh
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)!
TryMeShortcuts MM 4 Jun 2007 5:40:56pm 9,002 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMeShortcuts.MM
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 1B2DE57B-37D928AD-D8FAADB7-5152D68D

Demonstrates shortcut creation.
TryMeDutch ver 4 Jun 2007 5:40:56pm 1,165 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers\Localisation to Dutch D:\DBAREIS\Projects\Win32\MakeMsi\TryMeDutch.ver
Component SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH MD5 72E0FBCE-0753C4D4-B8897506-4143E6C9

Dutch localisation example file.
TryMeDutch MM 26 May 2007 1:58:22pm 3,849 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers\Localisation to Dutch D:\DBAREIS\Projects\Win32\MakeMsi\TryMeDutch.MM
Component SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH MD5 4DEE8C2D-34700E32-B1A3E7B8-E300F1F2

Dutch localisation example file.
TryMeDutch rtf 26 May 2007 10:03:58am 296 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers\Localisation to Dutch D:\DBAREIS\Projects\Win32\MakeMsi\TryMeDutch.rtf
Component SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH MD5 BA92E218-26998A50-3A3FD6A4-630C4AF6

Dutch localisation example file.
ME_Dutch mmh 26 May 2007 10:03:14am 4,619 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers\Localisation to Dutch D:\DBAREIS\Projects\Win32\MakeMsi\ME_Dutch.mmh
Component SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH MD5 2BCADEB3-E40EEEA3-B6FF6645-774E5993

Dutch localisation example file.
TryMeUpdateRegistry00-99 MM 25 May 2007 6:01:30pm 5,436 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMeUpdateRegistry00-99.MM
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 E84FA71D-4EE5C489-FF2D23BB-317D2B43

Demonstrates finding a "suitable" registry location (conditional logic without custom action).
ReadMe_Dutch TXT 25 May 2007 1:18:42pm 6,859 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers\Localisation to Dutch D:\DBAREIS\Projects\Win32\MakeMsi\ReadMe_Dutch.TXT
Component SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH MD5 329255C6-A480CA5F-786677F9-FE493C19

Dutch localisation example file.
Control NLD 24 May 2007 7:47:00pm 13,128
C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers\Localisation to Dutch\NLD\Mine

[SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH]\NLD\Mine

_SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH_NLD_MINE
D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\Other\UnpackedZips\dutch.idt\NLD\Mine\Control.NLD
Component c1.ALL.15.0.137.00._SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH_NLD_MINE_x MD5 762896F8-11B5B4B2-6C16AC8A-1F749529

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:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers\Localisation to Dutch\NLD\Mine D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\Other\UnpackedZips\dutch.idt\NLD\Mine\Dialog.NLD
Component c1.ALL.15.0.137.00._SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH_NLD_MINE_x MD5 16BDE759-9833D859-7A710026-8D52B82B

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:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers\Localisation to Dutch\NLD

[SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH]\NLD

_SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH_NLD
D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\Other\UnpackedZips\dutch.idt\NLD\LanguageIdentifiers.txt
Component c3.ALL.15.0.137.00._SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH_NLD_x MD5 48AE5D86-4F85D2FA-649E5A28-7BAAC6B1

Part of the dutch example.
Property NLD 24 May 2007 5:56:06pm 669 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers\Localisation to Dutch\NLD\Mine D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\Other\UnpackedZips\dutch.idt\NLD\Mine\Property.NLD
Component c1.ALL.15.0.137.00._SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH_NLD_MINE_x MD5 3761B952-9ADC33E5-FBB0FD68-FB55D134

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:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers\Localisation to Dutch\NLD\Mine D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\Other\UnpackedZips\dutch.idt\NLD\Mine\UIText.NLD
Component c1.ALL.15.0.137.00._SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH_NLD_MINE_x MD5 906F5297-933DD718-BD656429-CE600D5B

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:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers\Localisation to Dutch\NLD\Mine D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\Other\UnpackedZips\dutch.idt\NLD\Mine\RadioButton.NLD
Component c1.ALL.15.0.137.00._SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH_NLD_MINE_x MD5 92DFB032-4947FD2C-231A377D-DDB46C18

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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\PY2MSI.MMH
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:\Program Files\MakeMsi\Samples\Other\Sundry\KB872942\COMMON FILES

[SAMPLESDIR_OTHER_SUNDRY]\KB872942\COMMON FILES

_SAMPLESDIR_OTHER_SUNDRY_KB872942_COMMON_FILES
D:\DBAREIS\Projects\Win32\MakeMsi\HotFix4WinXpSp2.mmh
Component SAMPLESDIR_OTHER_KB12345_COMMON_FILES MD5 AEC35D4D-EBCD4579-88847153-841EC48B

Used by "TryMeWindowsHotFix.MM"
HotFix MMH 2 Jan 2007 5:18:04pm 20,839 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\HotFix.MMH
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:\Program Files\MakeMsi\Samples\Other\Sundry\KB872942 D:\DBAREIS\Projects\Win32\MakeMsi\TryMeWindowsHotFix.mm
Component SAMPLESDIR_OTHER_KB12345 MD5 3618E689-4A8083F1-1A84FEE2-2039E4AB

Sample script for hotfix MSI creation (uses common version file).
TryMeCreate[START]OfMsiFromScratch MM 21 Dec 2006 5:54:02pm 1,958 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMeCreate[START]OfMsiFromScratch.MM
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 F7417CD5-F75FD6A7-C2FB7C55-5A22C884

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:\Program Files\MakeMsi\Samples\Other\Sundry\KB872942\COMMON FILES D:\DBAREIS\Projects\Win32\MakeMsi\HotFix4WinXpSp2.VER
Component SAMPLESDIR_OTHER_KB12345_COMMON_FILES MD5 73003ED4-087FA159-33BF1FDE-8BD68FE1

Used by "HotFix4WinXpSp2.mmh" (at least by default).
TryMeWithNoRootFeature MM 29 Nov 2006 6:31:54pm 5,167 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMeWithNoRootFeature.MM
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 40B85307-7E6697E3-7637ED27-33C34FE3

Demonstrates disabling "complete" feature creation and so doco manipulations.
TryMeUseMergeModule MM 29 Nov 2006 6:31:54pm 1,392 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMeUseMergeModule.MM
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 C7D06835-A26E63A5-36D76C40-5C11E816

A sample which uses the merge module created with "TryMeCreateMergeModule.mm".
TryMeCreateMergeModule mm 29 Nov 2006 6:31:54pm 3,367 C:\Program Files\MakeMsi\Samples\TryMe\Create Merge Modules D:\DBAREIS\Projects\Win32\MakeMsi\TryMeCreateMergeModule.mm
Component SAMPLESDIR_TRYME_CREATE_MSM MD5 EFCB7013-0425D742-A2993DC6-18285D2A

Simple Sample to create a merge module.
TryMeCreateMergeModule VER 29 Nov 2006 6:31:54pm 933 C:\Program Files\MakeMsi\Samples\TryMe\Create Merge Modules D:\DBAREIS\Projects\Win32\MakeMsi\TryMeCreateMergeModule.VER
Component SAMPLESDIR_TRYME_CREATE_MSM MD5 01740A56-308A0FDC-94CCE5F0-393FBA68

Simple Sample to create a merge module.
MAKEMSI ver 11 Nov 2006 5:14:08pm 1,742 C:\Program Files\MakeMsi\Samples\Other\MakeMSI Source D:\DBAREIS\Projects\Win32\MakeMsi\MAKEMSI.ver
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:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMeCreateIisSite.MM
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 013044B1-FD7D4319-79068B50-539BB1E1

A sample that demonstrates creating IIS web sites.
FixMergeModules mm 1 Nov 2006 5:38:04pm 3,771 C:\Program Files\MakeMsi\Samples\Other\Sundry D:\DBAREIS\Projects\Win32\MakeMsi\FixMergeModules.mm
Component SAMPLESDIR_OTHER_SUNDRY MD5 D69B63D9-695740D2-85B688D3-8CEB20C7

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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\binary.mmh
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\DirMap.mmh
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)!
Platform mmh 23 Sep 2006 4:00:56pm 22,144 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Platform.mmh
Component MainFiles MD5 0D6C7198-7931C589-8BF011CB-515F21EF

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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\MakeMsm.mmh
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\TransformMsi.MMH
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\MsiExtra.mmh
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)!
OpenMsi mmh 22 Jul 2006 10:22:16am 1,899 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\OpenMsi.mmh
Component MainFiles MD5 65DC1592-FFB91C53-1F17D8C9-F5FAA513

Include this to update an existing Windows Installer database of any type (not just MSI)
ICE mmh 22 Jul 2006 10:22:14am 21,364 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\ICE.mmh
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:\Program Files\MakeMsi\Samples\TryMe\Create Validation Suites D:\DBAREIS\Projects\Win32\MakeMsi\IceAddToOrca.MM
Component SAMPLESDIR_TRYME_CUB MD5 0BD531A4-7BA93450-F0D6BC64-34283D05

Used to Add the CUB generated by "ICE.MM" to the ORCA tool's menu.
TryMeWithNonAdvShortcutPlusMore MM 22 Jun 2006 7:14:24pm 6,659 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMeWithNonAdvShortcutPlusMore.MM
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 71D5E91A-D8FE7A11-FD3DEDA7-5D2BDC06

Most advanced sample installed, creates non-advertised shortcut plus demos other things.
TryMeWithFixedGuids MM 22 Jun 2006 7:14:24pm 3,973 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMeWithFixedGuids.MM
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 A76444A4-94BAB532-D6931EEA-C226507D

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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\LeftSide.bmp
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?
TryMe MM 2 Jun 2006 5:10:46pm 1,403 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMe.MM
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 44722FC3-F25A314D-3AA043F1-EA589CDF

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.
htmlsumm mmh 18 May 2006 4:33:06pm 26,451 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\htmlsumm.mmh
Component MainFiles MD5 14E6A5CB-3E307CAB-0BAEDEE6-6E4EC2EE

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
FileInfo cmd 15 Jan 2006 2:23:26pm 2,325 [AppDataFolder]\MAKEMSI D:\DBAREIS\Projects\Win32\MakeMsi\FileInfo.cmd
Component FileInfoSendToIconForNT MD5 FBCC54B5-E8C082CB-E1334ACC-7035E104

Dumps STRFINFO and Document Properties for a file.
selfreg_ mmh 5 Nov 2005 7:31:38pm 4,032 C:\Program Files\MakeMsi\More Work (or help) Required\Capture of Self Registration Information D:\DBAREIS\Projects\Win32\MakeMsi\selfreg_.mmh
Component MORE_WORK_CAPTURE_SELF_REGISTRATION MD5 8DD72146-581704A4-839549C2-0987ACB1

Include by "SelfRegImport.MMH".
List mmh 26 Oct 2005 6:33:00pm 3,870 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\List.mmh
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\ImportTranslations.MMH
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\HtmlSort.mmh
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)!
TryMeWithMultipleMedia MM 7 Oct 2005 5:18:08pm 2,867 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMeWithMultipleMedia.MM
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 E906C187-23026BF1-1AEF1FAC-3150774E

Demonstrates generating MSI with external CABs over myultiple media.
TryMeTaskSchedules MM 7 Oct 2005 5:18:08pm 10,206 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMeTaskSchedules.MM
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 F3EB2205-6404D273-30E9E1F7-DA9F2573

A sample that uses JT.EXE to create task schedules.
CMDPRMT - 15.137 - 70733 ICO 4 Oct 2005 7:11:50pm 766 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\CmdPrompt.ico
Component RIGHT_CLICK_NEW_CMDPROMPT MD5 EBA7F25C-F7411029-1C2F8EF9-15DFBDEE

Icon for New->Command Prompt
Dimensions ?32 x 32?
patch txt 21 Sep 2005 7:23:16pm 14,109
C:\Program Files\MakeMsi\UserExtns\JulianOnions

[USER_SUPPLIED_EXTENSIONS]\JulianOnions

BY_JULIAN_ONIONS
D:\DBAREIS\Projects\Win32\MakeMsi\patch[JulianOnions].mmh.txt
Component BY_JULIAN_ONIONS MD5 A2BE4CDC-2B5AAFC5-E29B1117-0DCAE360

Supplied and maintained by Julian Onions (thanks).
patch mmh 21 Sep 2005 7:23:16pm 12,573 C:\Program Files\MakeMsi\UserExtns\JulianOnions D:\DBAREIS\Projects\Win32\MakeMsi\patch[JulianOnions].mmh
Component BY_JULIAN_ONIONS MD5 254FB39F-E16AE1F9-46797943-CA904D96

Supplied and maintained by Julian Onions (thanks).
Stamp mmh 10 Aug 2005 6:43:44pm 3,973 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Stamp.mmh
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\service.mmh
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\SourceFile.mmh
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\RegistryCmt.mmh
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\NotMsiFmt.mmh
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\KeyPath.MMH
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\IniImport.MMH
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\HtmlDir.mmh
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)!
FileMake mmh 10 Aug 2005 6:43:36pm 11,190 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\FileMake.mmh
Component MainFiles MD5 AFAD9520-F69C6783-3E3A0F90-3CA39DB7

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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\FileCmt.mmh
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)!
Environ mmh 10 Aug 2005 6:43:36pm 10,228 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Environ.mmh
Component MainFiles MD5 CFAE058C-047CC6F9-05FD3C85-234C3741

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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\DirCompress.mmh
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)!
CodePage MMH 10 Aug 2005 6:43:34pm 2,741 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\CodePage.MMH
Component MainFiles MD5 ED3C721C-D84B22B2-4B928629-66CD3A3F

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
_IniMM cmd 2 Aug 2005 5:20:44pm 665 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\_IniMM.cmd
Component ForNT_INIMM MD5 ED4CC513-5A385B43-E8FD1765-F3883806

Batch file to convert a .INI file to MAKEMSI format (used via Explorer).
IniMM p 2 Aug 2005 5:20:34pm 1,113 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\IniMM.p
Component ForNT_INIMM MD5 211FD3B2-E42F069E-D2C6D0D9-194D8195

PPWIZARD script used by "_IniMM.cmd".
IniMM - 15.137 - 70733 ICO 27 Jul 2005 7:36:52pm 7,406 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\inimm.ico
Component ForNT_INIMM MD5 86611F35-3ECEF59A-821F8D3D-C11BE9D7

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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\AdsiDumpObject.H
Component MainFiles MD5 5EB22C4A-738BDEE4-068D0B40-F171E5DF

Needed by ADSI.MMH
MsiSync XML 28 May 2005 10:15:58am 1,421 C:\Program Files\MakeMsi\MsiSyncTool D:\DBAREIS\Projects\Win32\MakeMsi\MsiSync.XML
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:\Program Files\MakeMsi\MsiSyncTool D:\DBAREIS\Projects\Win32\MakeMsi\MsiSync.XSD
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:\Program Files\MakeMsi\Samples\Other\Regression Tests D:\DBAREIS\Projects\Win32\MakeMsi\RegressionTests.MMH
Component SAMPLESDIR_REGRESSION_TESTS MD5 4A2C4CA7-188EE532-CAB03B72-77F1E35F

Regression Test source code.
RegressionTests MMH 7 May 2005 9:10:10am 1,778 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\RegressionTests.MMH
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\MM9X.BAT
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).
MakeMsi FLT 7 May 2005 9:10:06am 8,189 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\MakeMsi.FLT
Component MainFiles MD5 5ACDECB1-C19159A7-960FAB0B-EB74D3C2

The base validation filter (removed "stupid" messages we don't care about).
DEPT mmh 7 May 2005 9:10:04am 4,275 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\DEPT.mmh
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:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMe.rtf
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 49CB8D47-4E1089D4-8DED39D7-9085EBEF

Licence file (specified by "TryMe.ver").
_re4mm cmd 8 Feb 2005 7:45:38pm 661 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\_re4mm.cmd
Component ForNT_RE4MM MD5 97FB2C59-1F1577E1-2BD80ADF-4B410518

Batch file to convert a regedit4 formatted file to MAKEMSI format (used via Explorer).
BugDetectionForShortNameAttribute vbs 12 Dec 2004 1:38:02pm 6,712 C:\Program Files\MakeMsi\Bug Diagnostics D:\DBAREIS\Projects\Win32\MakeMsi\BugDetectionForShortNameAttribute.vbs
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:\Program Files\MakeMsi\Samples\Other\Sundry\Service D:\DBAREIS\Projects\Win32\MakeMsi\VbscriptBasedService.VER
Component SAMPLESDIR_OTHER_SERVICE MD5 24FBD5B9-13EB2384-CD2D1410-B667319A

Installs a VBSCRIPT based program as a service.
IceAddToOrca VER 11 Nov 2004 6:09:44pm 1,007 C:\Program Files\MakeMsi\Samples\TryMe\Create Validation Suites D:\DBAREIS\Projects\Win32\MakeMsi\IceAddToOrca.VER
Component SAMPLESDIR_TRYME_CUB MD5 DBCFFB8E-C570CDA9-8050C56B-27624B21

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:\Program Files\MakeMsi\Samples\TryMe\Create Validation Suites D:\DBAREIS\Projects\Win32\MakeMsi\ICE.mm
Component SAMPLESDIR_TRYME_CUB MD5 8D1328BD-AEBACEA6-6E41A6FB-8CF1575B

Source for a working addition to normal MSI validations.
FFFE HEX 7 Nov 2004 11:48:18am 2 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\FFFE.HEX
Component FFFE.HEX MD5 F3B25701-FE362EC8-4616A93A-45CE9998

Used by "MmValidate.VBS".
RegressionTests-ExeCa mm 7 Oct 2004 6:09:02pm 3,386 C:\Program Files\MakeMsi\Samples\Other\Regression Tests D:\DBAREIS\Projects\Win32\MakeMsi\RegressionTests-ExeCa.mm
Component SAMPLESDIR_REGRESSION_TESTS MD5 DCF505C1-2A1BC4A8-397E1E41-6EC81A74

Regression Test source code.
RegressionTests VER 7 Oct 2004 6:09:02pm 1,081 C:\Program Files\MakeMsi\Samples\Other\Regression Tests D:\DBAREIS\Projects\Win32\MakeMsi\RegressionTests.VER
Component SAMPLESDIR_REGRESSION_TESTS MD5 B0C3EC23-37CB3ED0-F2FDBA00-268F0084

Regression Test source code.
Reg4mm exe 24 Sep 2004 8:59:06am 40,960 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Reg4mm.exe
Component Reg4mm.exe MD5 5EC68F96-3EDB0EE7-59293FD6-3B3F4850 Version 3.2.0.0

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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Reg4mm.dll
Component Reg4mm.dll MD5 5FC9549B-3A22BC97-79615FD6-060E4DE3 Version 3.2.0.0

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:\Program Files\MakeMsi\Registry Policies D:\DBAREIS\Projects\Win32\MakeMsi\MsiLogging-ON.reg
Component MSI_POLICIES MD5 4EC8B7DA-B69F5A97-D845EA4C-A363F8C1

REGEDIT4 script to turn on verbose Windows Installer Logging (to temp directory).
MsiLogging-OFF reg 8 Sep 2004 5:32:44pm 703 C:\Program Files\MakeMsi\Registry Policies D:\DBAREIS\Projects\Win32\MakeMsi\MsiLogging-OFF.reg
Component MSI_POLICIES MD5 77BDC59B-151D31B5-9AE1ACB7-BFF052A5

REGEDIT4 script to turn off Windows Installer Logging.
MmCustomSetup ico 4 Sep 2004 12:49:20pm 2,998 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\MmCustomSetup.ico
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\LeftSide-Dennis.bmp
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\MsiExecMm.ico
Component RIGHT_CLICK_VERBOSE.MSHTA MD5 768E2235-20970EFA-18468E5F-193EABA0

Dimensions ?32 x 32?
LeftSide-MakeMsi BMP 14 Aug 2004 11:27:04am 17,566 C:\Program Files\MakeMsi\Samples\Other\MakeMSI Source D:\DBAREIS\Projects\Win32\MakeMsi\LeftSide-MakeMsi.BMP
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Loop.mmh
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)!
BugDetectionForCreateObject VBS 10 Jun 2004 5:37:00pm 2,244 C:\Program Files\MakeMsi\Bug Diagnostics D:\DBAREIS\Projects\Win32\MakeMsi\BugDetectionForCreateObject.VBS
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:\Program Files\MakeMsi\Bug Diagnostics D:\DBAREIS\Projects\Win32\MakeMsi\$$$RunAllTests$$$.CMD
Component BugDiagnostics MD5 C08DC20B-113A275E-4C689638-37A473B8

Can be used to test for a specific bug.
BugDetectionForRegExpFails vbs 8 Jun 2004 2:11:24pm 559 C:\Program Files\MakeMsi\Bug Diagnostics D:\DBAREIS\Projects\Win32\MakeMsi\BugDetectionForRegExpFails.vbs
Component BugDiagnostics MD5 CBFBEB1F-FEFB0975-4EBC53C4-78FD062B

Can be used to test for a specific bug.
_IDT2DEFN cmd 15 May 2004 5:17:50pm 714 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\_IDT2DEFN.cmd
Component ForNT_IDT2DEFN MD5 899CD2C3-1216C015-BD02FCB6-961E4BC9

Batch file to convert .IDT files to MAKEMSI table definitions format (used via Explorer).
IDT2DEFN p 15 May 2004 5:17:46pm 957 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\IDT2DEFN.p
Component ForNT_IDT2DEFN MD5 02725C03-2C55D54B-8D3E520B-09C24663

PPWIZARD script used by "_IDT2DEFN.cmd".
IDT - 15.137 - 70733 ICO 14 May 2004 3:01:14pm 766 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\IDT.ICO
Component ForNT_IDT2DEFN MD5 64C8DBAC-FFDD801C-C88051BD-0EB9DEB4

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:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMe.ICO
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 0076FBA0-47C5E6C0-01F96DCF-1D687C36

Icon only used by the MSI created by "TryMeShortcuts.MM".
Dimensions ?32 x 32?
MM9X PPW 14 Apr 2004 11:58:44am 676 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\MM9X.PPW
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:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers\Localisation to Dutch\NLD\MS SDK

[SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH]\NLD\MS SDK

_SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH_NLD_MS_SDK
D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\Other\UnpackedZips\dutch.idt\NLD\MS SDK\Error.NLD
Component c2.ALL.15.0.137.00._SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH_NLD_MS_SDK_x MD5 E302E663-EA2B7E2E-4798C20C-8C1BCBB8

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:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers\Localisation to Dutch\NLD\MS SDK D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\Other\UnpackedZips\dutch.idt\NLD\MS SDK\ActionTe.NLD
Component c2.ALL.15.0.137.00._SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH_NLD_MS_SDK_x MD5 A70770D1-05C3D3A6-596FCDEB-D641357B

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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\MmDefaultProductIcon.ico
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_DB bmp 14 Nov 2003 12:47:40pm 630 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Aust_DB.bmp
Component MainFiles MD5 D81C2CC6-6B2343FD-EF7CB5FE-C8F3B28C

My replacement bitmap for top right of install dialog.
Dimensions ?32 x 32?
Aust_DB ico 14 Nov 2003 12:47:20pm 766 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Aust_DB.ico
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]\MAKEMSI D:\DBAREIS\Projects\Win32\MakeMsi\StrFInfo.exe
Component FileInfoSendToIconForNT MD5 1C6FA744-ABBB2D39-548FCE20-58FEA1BB

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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\StrFInfo.exe
Component StrFInfo.exe MD5 1C6FA744-ABBB2D39-548FCE20-58FEA1BB

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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\PrettyMd5.VH
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 5:51:54pm 8,094 C:\Program Files\MakeMsi C:\Program Files (x86)\MakeMsi\HTMLPRE.IH
Component MainFiles MD5 D939C118-2C244919-040429AA-5660CD2D

Enables source code to be listed in the generated HTML report.
4MM (rexx) - 15.137 - 70733 ICO 8 Aug 2003 4:40:08pm 766 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\4mm.ico
Component ENVIRONMENT_AND_REGISTRY MD5 839DCB0D-483AED4D-52DBCF26-5EAC9C74

Icon for .4MM files (rexx files for MAKEMSI).
Dimensions ?32 x 32?
MM - 15.137 - 70733 ICO 7 Aug 2003 5:45:20pm 766 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\mm.ico
Component MakeMsiAssociations MD5 58BC175A-00DEA342-D551A8B7-35D29D96

Icon for .MMH files
Dimensions ?32 x 32?
VER - 15.137 - 70733 ICO 7 Aug 2003 5:43:20pm 766 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\ver.ico
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\PrettyBanner.bmp
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\LeftSide-Purple.bmp
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\SidToName.exe
Component PerUser.VBS MD5 0E696EA8-1217A1FF-8776E931-2056A703 Version 2.0.0.10

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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\white.bmp
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\SelfRegCapture.exe
Component SelfRegCapture.exe MD5 308C509B-B5B6C2C3-C00F6404-98517EA9 Version 3.57.0.0

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-120 MSM 26 Feb 2003 4:09:06pm 7,680 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\MsmTemplate-Schema-120.MSM
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\RunProcess.exe
Component RUNPROCESS.EXE MD5 45DE822B-B2321AEE-47D322CE-296963C1

Freeware tool by Frank P. Westlake.
RunProcess_ txt 20 Oct 2002 2:35:46pm 13,578 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\RunProcess.txt
Component RUNPROCESS.EXE MD5 AF408833-E5DE3101-56F12859-EFF3D45F

Freeware tool by Frank P. Westlake.
ConSetBuffer exe 2 Jan 2001 8:45:42am 65,536 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\ConSetBuffer.exe
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:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\CTEXT.EXE
Component CTEXT.EXE MD5 FF4E9AD5-5EC6CEE9-18AFF038-01705F19

If exists, "PPWIZARD" will use for coloured console output.
RegularExpTestMm ico 22 Aug 1998 1:59:52pm 766 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\RegularExpTestMm.ico
Component MainFiles MD5 B403BFFD-981E056B-761246EC-3434DD6B

Tests regular expressions
Dimensions ?32 x 32?
MMH - 15.137 - 70733 ICO 1 Dec 1993 9:39:40am 766 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\mmh.ico
Component MakeMsiAssociations MD5 655A1A56-E52C82D3-EBA50A66-BC95308C

Icon for .MM files
Dimensions ?32 x 32?
RE4MM - 15.137 - 70733 ICO 10 Jul 1990 9:58:28am 766 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\re4mm.ico
Component ForNT_RE4MM MD5 4C15968A-15BBF023-497F96B9-8FC88060

Icon for .RE4MM files (exported ".reg" files converted to MAKEMSI format).
Dimensions ?32 x 32?

10,890,902 bytes in 276 file(s).

BINARY FILES

Table Key Source
Directory
File
Name
Time Size Comment
Icon Anti.15.0.137.0000.ico.exe D:\DBAREIS\Projects\Win32\MakeMsi\ Anti.ico 1 Aug 1990 1:44:58am 766
MD5 01A0B64B-F8E7F5CC-B3AA5366-B708BE76
Dimensions ?32 x 32?
This icon was added by the 'Shortcut' command at MAKEMSI.mm(983)
Icon Aust_DB.15.0.137.0000.ico.exe D:\DBAREIS\Projects\Win32\MakeMsi\ Aust_DB.ico 14 Nov 2003 12:47:20pm 766
MD5 6D065D6D-219DBB4C-672C4708-4FB697CA
Dimensions ?32 x 32?
This is the product's icon (in add/remove applet).
Icon FileInfo.15.0.137.0000.ico.exe D:\DBAREIS\Projects\Win32\MakeMsi\ FileInfo.ico 26 Oct 1994 1:00:00am 766
MD5 2F232FBC-7F140960-40C4AF48-38AA4526
Dimensions ?32 x 32?
Icon MmWiGuid.15.0.137.0000.ico.exe D:\DBAREIS\Projects\Win32\MakeMsi\ MmWiGuid.ico 8 May 2003 9:19:00pm 766
MD5 78407BB6-394CB77D-8249C273-7A6887BC
Dimensions ?32 x 32?
Icon MonitorUninstallKey.15.0.137.0000.ico.exe D:\DBAREIS\Projects\Win32\MakeMsi\ MonitorUninstallKey.ico 1 Aug 1990 1:01:00am 766
MD5 41F7C568-E473B81B-AB26E79F-9307FDCF
Dimensions ?32 x 32?
Icon OSamples.15.0.137.0000.ico.exe D:\DBAREIS\Projects\Win32\MakeMsi\ OSamples.ico 8 May 2003 9:17:50pm 766
MD5 9B424A66-DF57BF32-C04E3CF6-C26FF242
Dimensions ?32 x 32?
Icon RegularExpTestMm.15.0.137.0000.ico.exe D:\DBAREIS\Projects\Win32\MakeMsi\ RegularExpTestMm.ico 22 Aug 1998 1:59:52pm 766
MD5 B403BFFD-981E056B-761246EC-3434DD6B
Dimensions ?32 x 32?
This icon was added by the 'Shortcut' command at MAKEMSI.mm(355)
Icon ScriptDiag.15.0.137.0000.ico.exe D:\DBAREIS\Projects\Win32\MakeMsi\ ScriptDiag.ico 8 May 2003 9:17:50pm 766
MD5 9B424A66-DF57BF32-C04E3CF6-C26FF242
Dimensions ?32 x 32?
This icon was added by the 'Shortcut' command at MAKEMSI.mm(958)
Icon VersionInformationBox.15.0.137.0000.ico.exe D:\DBAREIS\Projects\Win32\MakeMsi\ VersionInformationBox.ico 20 Jan 2004 7:27:10pm 766
MD5 F0E8B336-7F154D46-87C6257A-B7D30622
Dimensions ?32 x 32?
Icon _5.15.0.137.0000.ico.exe D:\DBAREIS\Projects\Win32\MakeMsi\ 5.ico 10 Jul 2003 8:57:30am 766
MD5 DD9FF541-9EAE5ADF-A4F99C10-F711308A
Dimensions ?32 x 32?
This icon was added by the 'Shortcut' command at MAKEMSI.mm(1730)
Icon _Mangled.15.0.137.0000.ico.exe D:\DBAREIS\Projects\Win32\MakeMsi\ _Mangled.ico 24 Apr 1998 1:00:00am 1,078
MD5 9732C03F-FEEA198A-78EA6292-509ED646
Dimensions ?16 x 16?
Icon help.15.0.137.0000.ico.exe D:\DBAREIS\Projects\Win32\MakeMsi\ help.ico 28 Apr 2003 5:29:36pm 4,846
MD5 72A5807C-2C5FBE82-5F4BB707-D8FDCD33
Dimensions ?48 x 48?
Icon licence.15.0.137.0000.ico.exe D:\DBAREIS\Projects\Win32\MakeMsi\ licence.ico 24 May 2004 5:22:50pm 1,078
MD5 E9A9EE83-64A34BD5-B4E5C666-1323A40E
Dimensions ?32 x 32?

13 binaries.

REGISTRY

HKEY
(Hive)
Key Value
Name
Type Value Comment
CLASSES_ROOT .4mm   STRING ReginaScript4MM
Component ENVIRONMENT_AND_REGISTRY
CLASSES_ROOT .INIMM   STRING INIMM
Component ForNT_INIMM
CLASSES_ROOT .MMH   STRING MAKEMSI.MMH
Component MakeMsiAssociations
CLASSES_ROOT .MM   STRING MAKEMSI.MM
Component MakeMsiAssociations
CLASSES_ROOT .MmTable   STRING MmTable
Component ForNT_IDT2DEFN
CLASSES_ROOT .MsiLog   STRING txtfile
Component RIGHT_CLICK_VERBOSE
CLASSES_ROOT .RE4MM   STRING RE4MM
Component ForNT_RE4MM
CLASSES_ROOT .VER   STRING MAKEMSI.VER
Component MakeMsiAssociations
CLASSES_ROOT .aaaa-NewCmdPrompt\ShellNew Command STRING "%COMSPEC%" /K ""[INSTALLDIR]CmdPrompt.cmd" "%1""
Component RIGHT_CLICK_NEW_CMDPROMPT
CLASSES_ROOT .aaaa-NewCmdPrompt   STRING aaaa-NewCmdPrompt
Component RIGHT_CLICK_NEW_CMDPROMPT
CLASSES_ROOT .cub\shell\Z_MAKEMSI_10_ORCA_VIEW\command   STRING "[WSCRIPT.EXE]" "[INSTALLDIR]OrcaView.VBS" "%1" %*
Component RIGHT_CLICK_ORCAVIEW
CLASSES_ROOT .cub\shell\Z_MAKEMSI_10_ORCA_VIEW   STRING VIEW With Orca
Component RIGHT_CLICK_ORCAVIEW
CLASSES_ROOT .cub\shell\Z_MAKEMSI_38_MSIEXPORT\command   STRING "[WSCRIPT.EXE]" "[INSTALLDIR]_ExportDB.VBS" "%1"
Component RIGHT_CLICK_MSIEXPORT_.cub_ALL
CLASSES_ROOT .cub\shell\Z_MAKEMSI_38_MSIEXPORT   STRING Export to .IDT
Component RIGHT_CLICK_MSIEXPORT_.cub_ALL
CLASSES_ROOT .idt\Shell\Open\Command   STRING [DEFAULT_TEXT_EDITOR_CMDLINE]
Component ForNT_IDT2DEFN
CLASSES_ROOT .idt\Shell\Open   STRING Edit TABLE DEFINITION file
Component ForNT_IDT2DEFN
CLASSES_ROOT .idt\Shell\ZZZConvertToMakeMsiTableDef\Command   STRING "[INSTALLDIR]_IDT2DEFN.CMD" %1
Component ForNT_IDT2DEFN
CLASSES_ROOT .idt\Shell\ZZZConvertToMakeMsiTableDef   STRING Convert to MAKEMSI Table Defn
Component ForNT_IDT2DEFN
CLASSES_ROOT .msm\shell\Z_MAKEMSI_10_ORCA_VIEW\command   STRING "[WSCRIPT.EXE]" "[INSTALLDIR]OrcaView.VBS" "%1" %*
Component RIGHT_CLICK_ORCAVIEW
CLASSES_ROOT .msm\shell\Z_MAKEMSI_10_ORCA_VIEW   STRING VIEW With Orca
Component RIGHT_CLICK_ORCAVIEW
CLASSES_ROOT .msm\shell\Z_MAKEMSI_15_MMVALIDATE\command   STRING "[CSCRIPT.EXE]" //NoLogo "[INSTALLDIR]MmValidate.VBS" /ErrorsInMsgBox "%1"
Component RIGHT_CLICK_MMVALIDATE
CLASSES_ROOT .msm\shell\Z_MAKEMSI_15_MMVALIDATE   STRING Validate It
Component RIGHT_CLICK_MMVALIDATE
CLASSES_ROOT .msm\shell\Z_MAKEMSI_38_MSIEXPORT\command   STRING "[WSCRIPT.EXE]" "[INSTALLDIR]_ExportDB.VBS" "%1"
Component RIGHT_CLICK_MSIEXPORT_.msm_ALL
CLASSES_ROOT .msm\shell\Z_MAKEMSI_38_MSIEXPORT   STRING Export to .IDT
Component RIGHT_CLICK_MSIEXPORT_.msm_ALL
CLASSES_ROOT .pcp\shell\Z_MAKEMSI_10_ORCA_VIEW\command   STRING "[WSCRIPT.EXE]" "[INSTALLDIR]OrcaView.VBS" "%1" %*
Component RIGHT_CLICK_ORCAVIEW
CLASSES_ROOT .pcp\shell\Z_MAKEMSI_10_ORCA_VIEW   STRING VIEW With Orca
Component RIGHT_CLICK_ORCAVIEW
CLASSES_ROOT .pcp\shell\Z_MAKEMSI_38_MSIEXPORT\command   STRING "[WSCRIPT.EXE]" "[INSTALLDIR]_ExportDB.VBS" "%1"
Component RIGHT_CLICK_MSIEXPORT_.pcp_ALL
CLASSES_ROOT .pcp\shell\Z_MAKEMSI_38_MSIEXPORT   STRING Export to .IDT
Component RIGHT_CLICK_MSIEXPORT_.pcp_ALL
CLASSES_ROOT AllFilesystemObjects\Shell\ZMAKEMSI_MD5\Command   STRING "[WSCRIPT.EXE]" "[INSTALLDIR]MmMD5.VBS" "%1"
Component Md5RightClickForDos
CLASSES_ROOT AllFilesystemObjects\Shell\ZMAKEMSI_MD5   STRING Display MD5
Component Md5RightClickForDos
CLASSES_ROOT INIMM\DefaultIcon   STRING [INSTALLDIR]IniMM - 15.137 - 70733.ICO
Component ForNT_INIMM
CLASSES_ROOT INIMM\Shell\Open\Command   STRING [DEFAULT_TEXT_EDITOR_CMDLINE]
Component ForNT_INIMM
CLASSES_ROOT INIMM\Shell\Open   STRING Edit INIMM file
Component ForNT_INIMM
CLASSES_ROOT INIMM AlwaysShowExt STRING  
Component ForNT_INIMM
CLASSES_ROOT INIMM   STRING Converted INI file (MAKEMSI formatted)
Component ForNT_INIMM
CLASSES_ROOT MAKEMSI.MMH\DefaultIcon   STRING [INSTALLDIR]MMH - 15.137 - 70733.ICO
Component MakeMsiAssociations
CLASSES_ROOT MAKEMSI.MMH\Shell\Open\Command   STRING [DEFAULT_TEXT_EDITOR_CMDLINE]
Component MakeMsiAssociations
CLASSES_ROOT MAKEMSI.MMH\Shell\Open   STRING Edit MAKEMSI Header
Component MakeMsiAssociations
CLASSES_ROOT MAKEMSI.MMH AlwaysShowExt STRING  
Component MakeMsiAssociations
CLASSES_ROOT MAKEMSI.MMH   STRING MAKEMSI Script Header
Component MakeMsiAssociations
CLASSES_ROOT MAKEMSI.MM\DefaultIcon   STRING [INSTALLDIR]MM - 15.137 - 70733.ICO
Component MakeMsiAssociations
CLASSES_ROOT MAKEMSI.MM\Shell\Open\Command   STRING [DEFAULT_TEXT_EDITOR_CMDLINE]
Component MakeMsiAssociations
CLASSES_ROOT MAKEMSI.MM\Shell\Open   STRING Edit MAKEMSI Script
Component MakeMsiAssociations
CLASSES_ROOT MAKEMSI.MM\Shell\ZZ_100_Build_D\Command   STRING "[WSCRIPT.EXE]" "[INSTALLDIR]_MM.VBS" "%1" D
Component MakeMsiAssociations
CLASSES_ROOT MAKEMSI.MM\Shell\ZZ_100_Build_D   STRING Build MSI - Development
Component MakeMsiAssociations
CLASSES_ROOT MAKEMSI.MM\Shell\ZZ_100_Build_P\Command   STRING "[WSCRIPT.EXE]" "[INSTALLDIR]_MM.VBS" "%1" P
Component MakeMsiAssociations
CLASSES_ROOT MAKEMSI.MM\Shell\ZZ_100_Build_P   STRING Build MSI - Production
Component MakeMsiAssociations
CLASSES_ROOT MAKEMSI.MM AlwaysShowExt STRING  
Component MakeMsiAssociations
CLASSES_ROOT MAKEMSI.MM   STRING MAKEMSI Script Source
Component MakeMsiAssociations
CLASSES_ROOT MAKEMSI.VER\DefaultIcon   STRING [INSTALLDIR]VER - 15.137 - 70733.ICO
Component MakeMsiAssociations
CLASSES_ROOT MAKEMSI.VER\Shell\Open\Command   STRING [DEFAULT_TEXT_EDITOR_CMDLINE]
Component MakeMsiAssociations
CLASSES_ROOT MAKEMSI.VER\Shell\Open   STRING Edit Product/Version FILE
Component MakeMsiAssociations
CLASSES_ROOT MAKEMSI.VER AlwaysShowExt STRING  
Component MakeMsiAssociations
CLASSES_ROOT MAKEMSI.VER   STRING MAKEMSI Product/Version File
Component MakeMsiAssociations
CLASSES_ROOT MaSaIModule.Document\shell\Z_MAKEMSI_10_ORCA_VIEW\command   STRING "[WSCRIPT.EXE]" "[INSTALLDIR]OrcaView.VBS" "%1" %*
Component RIGHT_CLICK_ORCAVIEW
CLASSES_ROOT MaSaIModule.Document\shell\Z_MAKEMSI_10_ORCA_VIEW   STRING VIEW With Orca
Component RIGHT_CLICK_ORCAVIEW
CLASSES_ROOT MaSaIModule.Document\shell\Z_MAKEMSI_15_MMVALIDATE\command   STRING "[CSCRIPT.EXE]" //NoLogo "[INSTALLDIR]MmValidate.VBS" /ErrorsInMsgBox "%1"
Component RIGHT_CLICK_MMVALIDATE
CLASSES_ROOT MaSaIModule.Document\shell\Z_MAKEMSI_15_MMVALIDATE   STRING Validate It
Component RIGHT_CLICK_MMVALIDATE
CLASSES_ROOT MaSaIModule.Document\shell\Z_MAKEMSI_38_MSIEXPORT\command   STRING "[WSCRIPT.EXE]" "[INSTALLDIR]_ExportDB.VBS" "%1"
Component RIGHT_CLICK_MSIEXPORT_MaSaIModule.Document_ALL
CLASSES_ROOT MaSaIModule.Document\shell\Z_MAKEMSI_38_MSIEXPORT   STRING Export to .IDT
Component RIGHT_CLICK_MSIEXPORT_MaSaIModule.Document_ALL
CLASSES_ROOT MmTable\DefaultIcon   STRING [INSTALLDIR]IDT - 15.137 - 70733.ICO
Component ForNT_IDT2DEFN
CLASSES_ROOT MmTable\Shell\Open\Command   STRING [DEFAULT_TEXT_EDITOR_CMDLINE]
Component ForNT_IDT2DEFN
CLASSES_ROOT MmTable\Shell\Open   STRING Edit TABLE DEFINITION file
Component ForNT_IDT2DEFN
CLASSES_ROOT MmTable AlwaysShowExt STRING  
Component ForNT_IDT2DEFN
CLASSES_ROOT MmTable   STRING MAKEMSI TableDefinition
Component ForNT_IDT2DEFN
CLASSES_ROOT Msi.MergeModule\shell\Z_MAKEMSI_10_ORCA_VIEW\command   STRING "[WSCRIPT.EXE]" "[INSTALLDIR]OrcaView.VBS" "%1" %*
Component RIGHT_CLICK_ORCAVIEW
CLASSES_ROOT Msi.MergeModule\shell\Z_MAKEMSI_10_ORCA_VIEW   STRING VIEW With Orca
Component RIGHT_CLICK_ORCAVIEW
CLASSES_ROOT Msi.MergeModule\shell\Z_MAKEMSI_15_MMVALIDATE\command   STRING "[CSCRIPT.EXE]" //NoLogo "[INSTALLDIR]MmValidate.VBS" /ErrorsInMsgBox "%1"
Component RIGHT_CLICK_MMVALIDATE
CLASSES_ROOT Msi.MergeModule\shell\Z_MAKEMSI_15_MMVALIDATE   STRING Validate It
Component RIGHT_CLICK_MMVALIDATE
CLASSES_ROOT Msi.MergeModule\shell\Z_MAKEMSI_38_MSIEXPORT\command   STRING "[WSCRIPT.EXE]" "[INSTALLDIR]_ExportDB.VBS" "%1"
Component RIGHT_CLICK_MSIEXPORT_Msi.MergeModule_ALL
CLASSES_ROOT Msi.MergeModule\shell\Z_MAKEMSI_38_MSIEXPORT   STRING Export to .IDT
Component RIGHT_CLICK_MSIEXPORT_Msi.MergeModule_ALL
CLASSES_ROOT Msi.Package\shell\Z_MAKEMSI_10_ORCA_VIEW\command   STRING "[WSCRIPT.EXE]" "[INSTALLDIR]OrcaView.VBS" "%1" %*
Component RIGHT_CLICK_ORCAVIEW
CLASSES_ROOT Msi.Package\shell\Z_MAKEMSI_10_ORCA_VIEW   STRING VIEW With Orca
Component RIGHT_CLICK_ORCAVIEW
CLASSES_ROOT Msi.Package\shell\Z_MAKEMSI_15_MMVALIDATE\command   STRING "[CSCRIPT.EXE]" //NoLogo "[INSTALLDIR]MmValidate.VBS" /ErrorsInMsgBox "%1"
Component RIGHT_CLICK_MMVALIDATE
CLASSES_ROOT Msi.Package\shell\Z_MAKEMSI_15_MMVALIDATE   STRING Validate It
Component RIGHT_CLICK_MMVALIDATE
CLASSES_ROOT Msi.Package\shell\Z_MAKEMSI_20_INSTALL_VERBOSE\command   STRING "[SystemFolder]msiexec.exe" /i "%1" /l*v "%1.MsiLog" %*
Component RIGHT_CLICK_VERBOSE
CLASSES_ROOT Msi.Package\shell\Z_MAKEMSI_20_INSTALL_VERBOSE   STRING Install - &VERBOSE Logging!
Component RIGHT_CLICK_VERBOSE
CLASSES_ROOT Msi.Package\shell\Z_MAKEMSI_25_MSI_MENU\command   STRING "[MSHTA_EXE]" "[INSTALLDIR]MsiExecMm.hta" (=)%1(=)[INSTALLDIR]MenuMsi.INI(=)
Component RIGHT_CLICK_VERBOSE.CMD
CLASSES_ROOT Msi.Package\shell\Z_MAKEMSI_25_MSI_MENU   STRING MSI MENU...
Component RIGHT_CLICK_VERBOSE.CMD
CLASSES_ROOT Msi.Package\shell\Z_MAKEMSI_38_MSIEXPORT\command   STRING "[WSCRIPT.EXE]" "[INSTALLDIR]_ExportDB.VBS" "%1"
Component RIGHT_CLICK_MSIEXPORT_Msi.Package_ALL
CLASSES_ROOT Msi.Package\shell\Z_MAKEMSI_38_MSIEXPORT   STRING Export to .IDT
Component RIGHT_CLICK_MSIEXPORT_Msi.Package_ALL
CLASSES_ROOT Msi.Patch\shell\Z_MAKEMSI_20_INSTALL_VERBOSE\command   STRING "[SystemFolder]msiexec.exe" /p "%1" /l*v "%1.MsiLog" %*
Component RIGHT_CLICK_VERBOSE
CLASSES_ROOT Msi.Patch\shell\Z_MAKEMSI_20_INSTALL_VERBOSE   STRING Install - &VERBOSE Logging!
Component RIGHT_CLICK_VERBOSE
CLASSES_ROOT Msi.Patch\shell\Z_MAKEMSI_38_MSIEXPORT\command   STRING "[WSCRIPT.EXE]" "[INSTALLDIR]_ExportDB.VBS" "%1"
Component RIGHT_CLICK_MSIEXPORT_Msi.Patch_ALL
CLASSES_ROOT Msi.Patch\shell\Z_MAKEMSI_38_MSIEXPORT   STRING Export to .IDT
Component RIGHT_CLICK_MSIEXPORT_Msi.Patch_ALL
CLASSES_ROOT RE4MM\DefaultIcon   STRING [INSTALLDIR]RE4MM - 15.137 - 70733.ICO
Component ForNT_RE4MM
CLASSES_ROOT RE4MM\Shell\Open\Command   STRING [DEFAULT_TEXT_EDITOR_CMDLINE]
Component ForNT_RE4MM
CLASSES_ROOT RE4MM\Shell\Open   STRING Edit RE4MM file
Component ForNT_RE4MM
CLASSES_ROOT RE4MM AlwaysShowExt STRING  
Component ForNT_RE4MM
CLASSES_ROOT RE4MM   STRING Converted REGEDIT4 registry file
Component ForNT_RE4MM
CLASSES_ROOT ReginaScript4MM\AlwaysShowExt   STRING  
Component ENVIRONMENT_AND_REGISTRY
CLASSES_ROOT ReginaScript4MM\DefaultIcon   STRING [INSTALLDIR]4MM (rexx) - 15.137 - 70733.ICO
Component ENVIRONMENT_AND_REGISTRY
CLASSES_ROOT ReginaScript4MM\Shell\Open\Command   STRING "[INSTALLDIR]Reg4mm.exe" "%1" %*
Component ENVIRONMENT_AND_REGISTRY
CLASSES_ROOT WiseModule.Document\shell\Z_MAKEMSI_10_ORCA_VIEW\command   STRING "[WSCRIPT.EXE]" "[INSTALLDIR]OrcaView.VBS" "%1" %*
Component RIGHT_CLICK_ORCAVIEW
CLASSES_ROOT WiseModule.Document\shell\Z_MAKEMSI_10_ORCA_VIEW   STRING VIEW With Orca
Component RIGHT_CLICK_ORCAVIEW
CLASSES_ROOT WiseModule.Document\shell\Z_MAKEMSI_15_MMVALIDATE\command   STRING "[CSCRIPT.EXE]" //NoLogo "[INSTALLDIR]MmValidate.VBS" /ErrorsInMsgBox "%1"
Component RIGHT_CLICK_MMVALIDATE
CLASSES_ROOT WiseModule.Document\shell\Z_MAKEMSI_15_MMVALIDATE   STRING Validate It
Component RIGHT_CLICK_MMVALIDATE
CLASSES_ROOT WiseModule.Document\shell\Z_MAKEMSI_38_MSIEXPORT\command   STRING "[WSCRIPT.EXE]" "[INSTALLDIR]_ExportDB.VBS" "%1"
Component RIGHT_CLICK_MSIEXPORT_WiseModule.Document_ALL
CLASSES_ROOT WiseModule.Document\shell\Z_MAKEMSI_38_MSIEXPORT   STRING Export to .IDT
Component RIGHT_CLICK_MSIEXPORT_WiseModule.Document_ALL
CLASSES_ROOT aaaa-NewCmdPrompt\DefaultIcon   STRING [INSTALLDIR]CMDPRMT - 15.137 - 70733.ICO
Component RIGHT_CLICK_NEW_CMDPROMPT
CLASSES_ROOT aaaa-NewCmdPrompt\Shell\Open\Command   STRING "%COMSPEC%" /c echo **** OOPS: %1 & pause
Component RIGHT_CLICK_NEW_CMDPROMPT
CLASSES_ROOT aaaa-NewCmdPrompt   STRING Command Prompt (here)
Component RIGHT_CLICK_NEW_CMDPROMPT
CLASSES_ROOT inifile\Shell\ZZZConvertToMakeMsiFormat\Command   STRING "[INSTALLDIR]_INIMM.CMD" %1
Component ForNT_INIMM
CLASSES_ROOT inifile\Shell\ZZZConvertToMakeMsiFormat   STRING Convert to MAKEMSI format
Component ForNT_INIMM
CLASSES_ROOT regfile\Shell\ZZZConvertToMakeMsiFormat\Command   STRING "[INSTALLDIR]_RE4MM.CMD" %1
Component ForNT_RE4MM
CLASSES_ROOT regfile\Shell\ZZZConvertToMakeMsiFormat   STRING Convert to MAKEMSI format
Component ForNT_RE4MM
CLASSES_ROOT txtfile\shell\Z_MAKEMSI_20_VIEW_VERBOSE_LOG\command   STRING "[WSCRIPT.EXE]" "[!_LogView.VBS]" "%1"
Component RIGHT_CLICK_VIEW_LOG
CLASSES_ROOT txtfile\shell\Z_MAKEMSI_20_VIEW_VERBOSE_LOG   STRING View Verbose MSI Log
Component RIGHT_CLICK_VIEW_LOG
LOCAL_MACHINE Software\MAKEMSI\KeyPaths ENVIRONMENT_AND_REGISTRY_4_DOS STRING  
Component ENVIRONMENT_AND_REGISTRY_4_DOS
LOCAL_MACHINE Software\MAKEMSI\KeyPaths ENVIRONMENT_AND_REGISTRY_4_NT STRING  
Component ENVIRONMENT_AND_REGISTRY_4_NT

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

8 INI entries.

SHORTCUTS

Where Title Target Arguments Working
Directory
Component
SendToFolder Display File Properties
Displays file properties (version 15.0.137.0000).
[INSTALLDIR_PERUSER]FileInfo.cmd   INSTALLDIR_PERUSER FileInfoSendToIconForNT
SendToFolder Display MD5
Calculate the MD5 values for file(s).
[INSTALLDIR_PERUSER]MmMD5.vbs   INSTALLDIR_PERUSER MD5SendToIconForNT
SCDIR_MAKEMSI GUID Conversion
Converts between MSI and mangled GUID formats.
Feature "ALL.15.0.137.0000.MakeMsi"   INSTALLDIR ShortCutMangled
SCDIR_DIAGDIR General Script Tests
Tests for assorted scripting issues I have seen.
Feature "ALL.15.0.137.0000.MakeMsi"   BUG_DIAGNOSTICS BugDiagnostics
SCDIR_INTERNET_LINKS MAKEMSI Home Page
Opens the "MAKEMSI" homepage on the internet (http://dennisbareis.com/makemsi.htm).
http://dennisbareis.com/makemsi.htm     Shortcuts
SCDIR_DOCO MAKEMSI
Documents the MAKEMSI tool (version 15.0.137.0000).
Feature "ALL.15.0.137.0000.MakeMsi"   INSTALLDIR ShortCutDocoMAKEMSI
SCDIR_MAKEMSI MmWiGuid|GUID Generation
Generates new GUIDs which you can cut and paste into your code.
Feature "ALL.15.0.137.0000.MakeMsi"   INSTALLDIR ShortCutMmWiGuid
SCDIR_MAKEMSI Open Installation directory
Opens the "MAKEMSI" installation directory.
[INSTALLDIR]     Shortcuts
SCDIR_INTERNET_LINKS PPWIZARD Home Page
Opens the "PPWIZARD" homepage on the internet (http://dennisbareis.com/ppwizard.htm).
http://dennisbareis.com/ppwizard.htm     Shortcuts
SCDIR_DOCO PPWIZARD
Documents the PPWIZARD tool
Feature "ALL.15.0.137.0000.MakeMsi"   INSTALLDIR ShortCutDocoPPWIZARD
SCDIR_MAKEMSI Regular expression tester
Tests regular Expressions you may wish to use in 'MsiValFilter' commands etc.
[INSTALLDIR]RegularExpTestMm.hta     Shortcuts
SCDIR_MAKEMSI Samples|Open YOUR SAMPLES directory
Opens YOUR "samples" folder (your code is copied here if you have defined its location).
Feature "ALL.15.0.137.0000.MakeMsi"   INSTALLDIR ShortCutOpenSamples
SCDIR_DIAGDIR Test for AntiVirus Issues
Tests for antivirus or antispyware issues.
Feature "ALL.15.0.137.0000.MakeMsi"   INSTALLDIR ShortCutDocoTestForAntiVirus
SCDIR_DOCO The MAKEMSI Licence
You agreed to this licence during the install!
Feature "ALL.15.0.137.0000.MakeMsi"   INSTALLDIR ShortCutLicence
SCDIR_MAKEMSI Versions|Display Versions
Display Windows, WSH & Windows Installer version information.
Feature "ALL.15.0.137.0000.MakeMsi"   INSTALLDIR ShortCutVersionInformationBox
SCDIR_MAKEMSI Watch Uninstall Keys
Very handy if you use the "WrapInstall" command! Compares uninstall keys from a BEFORE and AFTER snapshot.
[INSTALLDIR]MonitorUninstallKey.VBS     Shortcuts
SCDIR_INTERNET_LINKS Windows Installer Documentation
Online documentation on Microsoft web site
http://msdn2.microsoft.com/en-us/library/aa372866.aspx   INSTALLDIR ShortCutDocoWindowsInstaller_SCDIR_INTERNET_LINKS
SCDIR_DOCO Windows Installer Documentation
Online documentation on Microsoft web site
http://msdn2.microsoft.com/en-us/library/aa372866.aspx   INSTALLDIR ShortCutDocoWindowsInstaller_SCDIR_DOCO

18 shortcut(s).

CHANGE HISTORY

Version Date Changes Made
15.0.137.0000 Thu May 21 2015 at 7:38:23pm Please see the MAKEMSI documentation for a complete change history (at "http://makemsi-manual.dennisbareis.com/changehistory.htm").

1 changes.

MSI VALIDATION FILTERS

Lists validation messages we wish to ignore (or sometimes specifically report on) over and above those configured for all msis. The validation process doesn't know the full context under which you msi will install and can also be buggy.

Order Message Text Details
1 Complete functionality of the Shortcut table is only available with Windows Installer version 4.0
Ignore it True Case sensitive Compare as text

Prevents nagging if not generating msis requiring Windows Installer version 4
2 Aust_DB.15.0.137.0000.ico.exe
Ignore it True Case sensitive Compare as text

Microsoft bug in the validation. Ignore any messages mentioning this product icon's key (ICE36 "Icon Bloat" warning).
3 Column: ExtendedType of Table: CustomAction is not defined in database
Ignore it True Case sensitive Compare as text

This column is optional
4 will be installed to the per user directory
Ignore it True Case sensitive Compare as text

Not true, this MSI installs per-machine
5 will be installed to the per user directory
Ignore it True Case sensitive Compare as text

Not true, this MSI installs per-machine
6 Row 'VerifyRepairDlg.Repair' in table 'Control' has bits set in the 'Attributes' column that are reserved
Ignore it True Case sensitive Compare as text

Work around Microsoft's bug in latest validation CUB files (_ReservedBits table)
7 Row 'VerifyRemoveDlg.Remove' in table 'Control' has bits set in the 'Attributes' column that are reserved
Ignore it True Case sensitive Compare as text

Work around Microsoft's bug in latest validation CUB files (_ReservedBits table)
8 Row 'VerifyReadyDlg.Install' in table 'Control' has bits set in the 'Attributes' column that are reserved
Ignore it True Case sensitive Compare as text

Work around Microsoft's bug in latest validation CUB files (_ReservedBits table)

8 filter(s).

SOURCE CODE

MAKEMSI.mm dated Sun May 17 2015 at 3:20:20pm
;----------------------------------------------------------------------------
;
;    MODULE NAME:   MAKEMSI.MM
;
;        $Author:   USER "Dennis"  $
;      $Revision:   1.116  $
;          $Date:   30 Apr 2015 19:23:14  $
;       $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_MSI_CHM_START_PAGE http://msdn2.microsoft.com/en-us/library/aa372866.aspx


;----------------------------------------------------------------------------
;--- 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 -------------------------------------------
   <$Files "MmVersion.mmh"      EXLIST="XL_MMH" Comment=^Contains MAKEMSI's version number.^>
   <$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="*" >
   <$Compile>
   <$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>
   <$Compile CACHE="MOST_MAIN_FILES_MMH">

   ;--- 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.^>
   <$Compile CACHE="USED_BY_DENNIS_MMH">

   ;--- Add other support files, bitmaps, filters etc -----------------------
   <$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 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="<?=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>
   <$Compile CACHE="OTHER_MAIN_FILES">
<$/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_MSI_CHM_START_PAGE>"
                     Title="Windows Installer Documentation"
               Description="Online documentation on Microsoft web site"
;;                    Icon="@Help"
                   WorkDir="INSTALLDIR"
           >
       #)
    <$/Component>
#)
<$Link2WindowsInstallerDoco "SCDIR_INTERNET_LINKS">




;----------------------------------------------------------------------------
;--- Operating 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>


;----------------------------------------------------------------------------
;--- 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 ----------------------------------------------------
;----------------------------------------------------------------------------
<$Compile>
<$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>
   <$Compile CACHE="TRYME_SAMPLES">
<$/Component>



;----------------------------------------------------------------------------
;--- SAMPLES - TRYME MSI (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>
<$Compile CACHE="TRYME_SAMPLES_DUTCH">



;----------------------------------------------------------------------------
;--- 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".'>
#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".'>


;----------------------------------------------------------------------------
;--- Other bits -------------------------------------------------------------
;----------------------------------------------------------------------------
<$Compile>
<$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 "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.'>
<$Compile CACHE="OTHER_BITS">


;----------------------------------------------------------------------------
;--- 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]@@@
#(
   #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"
           Description="Documents the MAKEMSI tool (version <$ProductVersion>)."
                  Icon="@Help"
               WorkDir="INSTALLDIR"

       >
   #)
<$/Component>
;@@@[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"
           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).">
   #(
       ;--- ".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).^>

    ;--- 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).^>

    ;--- 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).^>
    <$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">
        <$File Destination="<$MMH.ICO>" Source="mmh.ico"  Comment="Icon for .MM files">
        <$File Destination="<$VER.ICO>" Source="ver.ico"  Comment="Icon for .VER files">

        ;--- 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">
       <$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 ------------------------------------------------
;----------------------------------------------------------------------------
#(
   <$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 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>

SOURCE CODE - MAKEMSI.MM.H

D:\DBAREIS\Projects\Win32\MakeMsi\MAKEMSI.MM.H dated Sat Aug 23 2008 at 2:19:50pm
;----------------------------------------------------------------------------
;
;    MODULE NAME:   MAKEMSI.MM.H
;
;        $Author:   USER "Dennis"  $
;      $Revision:   1.7  $
;          $Date:   23 Aug 2008 14:19:50  $
;       $Logfile:   C:/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.
;----------------------------------------------------------------------------

;--- Don't want to do this... ----------------------------------------------
#define COMMONFRAMEWORK_ZIP_SOURCE_FOR_BACKUP N

;----------------------------------------------------------------------------
;--- 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>



;----------------------------------------------------------------------------
;--- 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>

SOURCE CODE - MAKEMSI.flt

D:\DBAREIS\Projects\Win32\MakeMsi\MAKEMSI.flt dated Sat May 7 2005 at 9:10:06am
;----------------------------------------------------------------------------
;
;    MODULE NAME:   MAKEMSI.FLT
;
;        $Author:   USER "Dennis"  $
;      $Revision:   1.3  $
;          $Date:   07 May 2005 09:10:06  $
;       $Logfile:   C:/DBAREIS/Projects.PVCS/Win32/MakeMsi/MakeMsi.flt.pvcs  $
;----------------------------------------------------------------------------

;----------------------------------------------------------------------------
;--- Only Allow this to be included once ------------------------------------
;----------------------------------------------------------------------------
#ifdef MAKEMSI_FLT_VERSION
   ;--- Some how including it twice! ----------------------------------------
   #eof 1
#endif
#define MAKEMSI_FLT_VERSION 03.073


;----------------------------------------------------------------------------
;--- Process any user defined Filter ----------------------------------------
;----------------------------------------------------------------------------
#DefineRexx ''
   ;--- Get the name of any user filter -------------------------------------
   @@Look4   = '<?InputFile $$FilePart:w>.flt'
   @@UserFlt = FileQueryExists(@@Look4)

   ;--- For MAKEMSI only, a danger, we can include ourselves! ---------------
   if  translate(@@UserFlt) <> translate('<?InputComponent>') then
       @@UserFlt = '';
#DefineRexx
<?SemiColon>###
<?SemiColon>### START USER FILTER: "<??@@Look4>" #####################
<?SemiColon>###
#if [@@UserFlt <> ""]
   ;--- Include the users requirements --------------------------------------
   #if translate(@@UserFlt) <> translate(@@Look4)
       <?SemiColon>--- FULLNAME: "<??@@UserFlt>" ---
   #endif
   #include "<??@@UserFlt>"

   ;--- Display the user filter in the generated report ---------------------
   <$SourceForReport "<??@@UserFlt>">
#elseif
   <?Space>   <?SemiColon>--- No filter found ---
#endif
<?SemiColon>###
<?SemiColon>### END   USER FILTER: "<??@@Look4>" #####################<?NewLine>
<?SemiColon>###
<?NewLine>
<?NewLine>


;----------------------------------------------------------------------------
;--- HOOK before any other processing ---------------------------------------
;----------------------------------------------------------------------------
#ifdef FILTER_START
   ;--- User Hook -----------------------------------------------------------
   <?NewLine>
   <?SemiColon>--- HOOK: "FILTER_START" ---
   <$FILTER_START>        ;;#EOF if user filter did everything...
   <?NewLine>
#endif


;----------------------------------------------------------------------------
;--- Ignore "internal errors" -----------------------------------------------
;----------------------------------------------------------------------------
#ifndef FILTER_SEE_ICE_INTERNAL_ERRORS
   <?NewLine>
   /-UNKNOWN   ICE Internal Error/
   /-Based on the tables and columns in your database, it should be marked with a schema between/
   <?NewLine>
   <?NewLine>
#endif


;----------------------------------------------------------------------------
;--- "darice.cub" specific (over W2K validations - "logo.cub") --------------
;----------------------------------------------------------------------------
<?NewLine>
<?NewLine>
/-has a directory that is a public property (ALL CAPS) and is under user profile directory./
/-Property `AdminUser` found in column `ControlCondition`.`Condition`/
/-Property `AdminUser` found in column `ControlEvent`.`Condition`/
/-This product should remove only older versions of itself. No Maximum version was detected for the current product./
/-Upgrade.VersionMin and Upgrade.VersionMax cannot both be null. UpgradeCode is /
;**    [CommentBlockStart     (January 18, 2005 6:14:45 PM EST, Dennis)
;**+----------------------------------------------------------------------
;**|/-WARNING   Mismatched component reference./
;**+----------------------------------------------------------------------
;**    CommentBlockEnd]       (January 18, 2005 6:14:45 PM EST, Dennis)
/-Complete functionality of the MsiFileHash table is only available with Windows Installer version 1.5. Your schema is/


;----------------------------------------------------------------------------
;--- We are just about to pass through ALL ERRORS ---------------------------
;----------------------------------------------------------------------------
<?NewLine>
<?NewLine>
#ifdef FILTER_BEFORE_ERROR_FILTER
   ;--- User filter hook ----------------------------------------------------
   <?NewLine>
   <?SemiColon>--- HOOK: "FILTER_BEFORE_ERROR_FILTER" ---
   <$FILTER_BEFORE_ERROR_FILTER>
#endif

;----------------------------------------------------------------------------
;--- Pass through ALL ERRORS ------------------------------------------------
;----------------------------------------------------------------------------
<?NewLine>
<?NewLine>
/+ ERROR /


;----------------------------------------------------------------------------
;--- We just passed through ALL ERRORS --------------------------------------
;----------------------------------------------------------------------------
#ifdef FILTER_AFTER_ERROR_FILTER
   ;--- User filter hook ----------------------------------------------------
   <?NewLine>
   <?SemiColon>--- HOOK: "FILTER_AFTER_ERROR_FILTER" ---
   <$FILTER_AFTER_ERROR_FILTER>
   <?NewLine>
#endif


;----------------------------------------------------------------------------
;--- Remove line added by the find.exe filter -------------------------------
;----------------------------------------------------------------------------
/----------/


;----------------------------------------------------------------------------
;--- Remove blank lines -----------------------------------------------------
;----------------------------------------------------------------------------
/-/


;----------------------------------------------------------------------------
;--- Ignore any hard coding of directory locations via property table -------
;----------------------------------------------------------------------------
#ifndef FILTER_NO_WARNING_FOR_HARDCODED_DIRECTORY_ENTRIES
   <?NewLine>
   /- appears to be hardcoded in the property table to a local drive/
#endif


;----------------------------------------------------------------------------
;--- We don't care about "REINSTALLMODE" being in the property table --------
;----------------------------------------------------------------------------
#ifndef FILTER_WANT_WARNING_FOR_RESINSTALLMODE_IN_PROP_TABLE
   <?NewLine>
   /-REINSTALLMODE is defined in the Property table./
#endif

;----------------------------------------------------------------------------
;--- Ignore ASSOCIATION type warnings ---------------------------------------
;----------------------------------------------------------------------------
#ifndef FILTER_NO_WARNING_FOR_SHOULD_BE_REGISTERED_VIA_PROGID
   <?NewLine>
   /- Icon associations should be registered via the ProgId and Icon tables/
   /- Shell extension verbs info should be registered via the Verb table./
   /- should be registered via the ProgId table/
   /-ProgId - CLSID associations should be registered via the ProgId and Class tables/
#endif
#ifndef FILTER_NO_WARNING_FOR_SHOULD_BE_REGISTERED_VIA_EXTENSION
   <?NewLine>
   /- should be registered via the Extension table/
#endif

;--- All other warnings to go through ---------------------------------------
#ifdef FILTER_BEFORE_WARNING_FILTER_ALL
   ;--- User filter hook ----------------------------------------------------
   <?NewLine>
   <?SemiColon>--- HOOK: "FILTER_BEFORE_WARNING_FILTER_ALL" ---
   <$FILTER_BEFORE_WARNING_FILTER_ALL>
#endif
/+ WARNING/
#ifdef FILTER_AFTER_WARNING_FILTER_ALL
   ;--- User filter hook ----------------------------------------------------
   <?NewLine>
   <?SemiColon>--- HOOK: "FILTER_AFTER_WARNING_FILTER_ALL" ---
   <$FILTER_AFTER_WARNING_FILTER_ALL>
#endif


;--- Probably should never get here... Pass anything else through -----------
<?NewLine>
/+*/


This HTML page along with the MSI it documents was automatically generated using the freeware "MAKEMSI" tool (version 15.137). 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).


Created at Thu May 21 2015 at 7:38:23pm