MakeMsi v22.0.147.0000
MakeMsi v22.0.147.0000

SUMMARY

AttributeContents
Product NameMakeMsi
Version22.0.147.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 26 2022 at 1:21:35pm (USER "Dennis" on CN-DENNIS-2020)
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{D293DCF0-C1C6-48F9-96BC-44D1E56C19FB}    ("0FCD392D6C1C9F8469CB441D5EC691BF")
Product Code{47BD4746-A0FD-478B-B567-2B838258E48B}    ("6474DB74DF0AB8745B76B23828854EB8")
Upgrade Code{D89869CB-2A7C-4296-9CC9-028A0DEC79B8}    ("BC96898DC7A26924C99C20A8D0CE978B")
Any products with these
upgrade codes are
automatically removed when
installing this package
  1. {D89869CB-2A7C-4296-9CC9-028A0DEC79B8}
    REQUESTED AT: COMPANY.MMH(748)
    COMMENT:
    We upgrade any version of this product!
Processing ModeProduction

Files

Name Ext Time Size Destination
Directory
Source Comment
MAKEMSI mm 26 May 2022 1:16:39pm* 100,662
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 31AEBD50-A14857E1-3143ED28-BB0933E7 Install Time 26 May 2022 1:16:40pm

This is the source actually used to build this MAKEMSI tool's MSI. It will fail if you try to use it...
MakeMsi chm 26 May 2022 1:03:53pm* 6,408,067
C:\Program Files\MakeMsi\Documentation

[INSTALLDIR]\Documentation

DOCODIR
D:\DBAREIS\Projects\Win32\MakeMsi\OUT\DOCO\MakeMsi\MakeMsi.chm
Component ShortCutDocoMAKEMSI MD5 EDDFBBFB-CD4857A5-4C69DF9A-70ED1C20 Install Time 26 May 2022 1:03:54pm

MAKEMSI documentation. The document is in Windows Compiled Help format and so has a contents, an index and can be searched.
MmVersion mmh 26 May 2022 1:00:34pm 619
C:\Program Files\MakeMsi

[ProgramFilesFolder]\MakeMsi

INSTALLDIR
D:\DBAREIS\Projects\Win32\MakeMsi\MmVersion.mmh
Component MainFiles MD5 B8036D89-783E5C2D-A96B05AD-879CEFA9

Contains MAKEMSI's version number.
File mmh 26 May 2022 9:59:32am 107,059 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\File.mmh
Component MainFiles MD5 709A3633-378A0958-A5CCD61D-C76C6666

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
Company mmh 26 May 2022 9:59:30am 54,283 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Company.mmh
Component MainFiles MD5 3B9BAE2F-D0DA2026-01CA0D75-B1AE3D7B

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
Valid mmh 1 May 2022 10:45:26am 32,521 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Valid.mmh
Component MainFiles MD5 173E12C0-3D4FF81C-78F0F509-F04CF6D3

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
property mmh 1 May 2022 10:45:22am 18,868 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\property.mmh
Component MainFiles MD5 44AA0711-4D993DC9-CEF68240-E6E5BB60

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
ShortCut mmh 1 May 2022 10:45:22am 28,812 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\ShortCut.mmh
Component MainFiles MD5 A533FA85-6B65038C-0277F5DE-886F110F

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
RemFile mmh 1 May 2022 10:45:22am 4,577 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\RemFile.mmh
Component MainFiles MD5 82C9BD08-C3344AAB-66FD9061-0654D73D

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
Registry mmh 1 May 2022 10:45:22am 24,333 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Registry.mmh
Component MainFiles MD5 1B8B62B4-3A1B17D3-2DD5B93B-40639B21

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
INI mmh 1 May 2022 10:45:16am 15,217 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\INI.mmh
Component MainFiles MD5 4E25BD78-9DEF29A0-8A3B670C-9023C7E2

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
component mmh 1 May 2022 10:45:14am 21,847 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\component.mmh
Component MainFiles MD5 8A11B580-FDBC089F-AE224D34-675B3616

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
Environ mmh 1 May 2022 10:45:14am 10,231 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Environ.mmh
Component MainFiles MD5 EDFA4486-579CCE44-BFD9034C-6E1B9E91

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
DirTree mmh 1 May 2022 10:45:14am 23,832 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\DirTree.mmh
Component MainFiles MD5 D173A1BB-6DF99386-BB91BB6B-884D161E

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
Dir1 mmh 1 May 2022 10:45:14am 15,527 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Dir1.mmh
Component MainFiles MD5 81404E0C-05C6B03A-806ACAF5-83A37CD5

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
AbortIf mmh 1 May 2022 10:45:12am 4,799 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\AbortIf.mmh
Component MainFiles MD5 12D5387B-F5A10E10-BEB40F66-0E5BE768

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
PpWiz4MM 4mm 1 May 2022 10:38:12am 450,216 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\PpWiz4MM.4mm
Component PpWiz4MM.4mm MD5 BA08E4E2-9A713394-69D38909-DF711674

The PPWIZARD tool. A very powerful preprocessor (also used to generate the MAKEMSI documentation).
ppwizard chm 1 May 2022 10:33:06am 1,451,214 C:\Program Files\MakeMsi\Documentation D:\DBAREIS\Projects\Win32\MakeMsi\ppwizard.chm
Component ShortCutDocoPPWIZARD MD5 B8D63669-406D3B77-084F5AB6-CB6F1E41

PPWIZARD's documentation. The document is in Windows Compiled Help format and so has a contents, an index and can be searched.
Makemsi.mm h 28 Apr 2022 9:05:18am 5,682 C:\Program Files\MakeMsi\Samples\Other\MakeMSI Source D:\DBAREIS\Projects\Win32\MakeMsi\Makemsi.mm.h
Component SamplesMakeMsiSource MD5 E8AB71BD-581E5C37-F2E23D84-E03901F5

This is the source actually used to build this MAKEMSI tool's MSI. It will fail if you try to use it...
MakeMsi mmh 28 Apr 2022 9:05:18am 22,317 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\MakeMsi.mmh
Component MainFiles MD5 C0E692B3-A9AE6199-009D1F14-239FB1D1

Include this to create an MSI with full control (most people will want to use "DEPT.MMH" instead).
find mmh 28 Apr 2022 9:05:16am 17,648 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\find.mmh
Component MainFiles MD5 101CA203-AEE00215-AA6E3668-1E36F491

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
FileFindInListedDirs MMH 28 Apr 2022 9:05:14am 5,832 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\FileFindInListedDirs.MMH
Component MainFiles MD5 AB2B41C3-D368C292-70351518-CBD1D470

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
AutoTag mmh 28 Apr 2022 9:05:12am 24,491 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\AutoTag.mmh
Component MainFiles MD5 8B3EA46E-94CCCE06-0AFB389E-80C1EA8A

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
VbsCa-StartEnd MMH 27 Apr 2022 3:57:40pm 69,819 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\VbsCa-StartEnd.MMH
Component MainFiles MD5 DBAD638E-BBB0B641-BA715F60-1321F433

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
VbsCa mmh 27 Apr 2022 3:57:40pm 33,912 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\VbsCa.mmh
Component MainFiles MD5 3593919D-61D9A632-9DF7FFB9-86070934

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
DENNIS mmh 27 Apr 2022 3:57:34pm 27,339 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\DENNIS.mmh
Component MainFiles MD5 D88310DC-9DF0FCC5-F8BDA5AF-A29E48BC

A more complex branding and configuration file than "ME.MMH".
HtmlRpt mmh 30 Mar 2019 9:21:56am 22,104 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\HtmlRpt.mmh
Component MainFiles MD5 A50EA7A6-CE9F70A1-A6E31E73-1F851A99

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
CompileFiles MMH 4 Jul 2018 6:24:08pm 94,577 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\CompileFiles.MMH
Component MainFiles MD5 CF29F4F3-828912B9-10946B64-41FC367C

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
EventLog mmh 18 Jun 2018 4:46:28pm 30,241 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\EventLog.mmh
Component MainFiles MD5 E81669DB-EBD0CCD5-BDDD5BC1-A013ABC3

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
msi mmh 9 Jun 2018 11:11:10am 76,164 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\msi.mmh
Component MainFiles MD5 8A09ABA2-3F266828-167E8321-07EC159C

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
MM CMD 9 Jun 2018 11:11:10am 21,603 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\MM.CMD
Component ForNT MD5 DC46B0F8-37847344-C4A3DFFC-4C79A558

A small "sample" batch file to build an MSI (eventually I will also add explorer right click option for building MSIs).
sundry mmh 7 Jun 2018 6:01:28pm 33,907 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\sundry.mmh
Component MainFiles MD5 EFC44F07-BC3F14EF-53ED005F-A05C569C

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
Files mmh 7 Jun 2018 5:01:04pm 18,959 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Files.mmh
Component MainFiles MD5 54FEA316-09C03B25-841AEA15-D797DFC1

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
uisample mmh 6 Jun 2018 6:26:50pm 57,998 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\uisample.mmh
Component MainFiles MD5 CA13D11F-3BBF7884-566A0F96-B2DE9E8E

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
OpenMsi mmh 5 May 2018 4:40:30pm 2,256 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\OpenMsi.mmh
Component MainFiles MD5 36558969-4778EBDC-A8F6234C-22606BD7

Include this to update an existing Windows Installer database of any type (not just MSI)
ReadMe TXT 7 Apr 2018 12:26:26pm 613
C:\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\out\makemsi.mm\Log\ReadmeFiles\Readme-MORE_WORK_CAPTURE_SELF_REGISTRATION.TXT
Component MORE_WORK_CAPTURE_SELF_REGISTRATION MD5 637A8D71-F930D54A-2861867F-EDD4E3A5
ReadMe TXT 7 Apr 2018 12:02:10pm 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 7 Apr 2018 11:55:03am* 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 7 Apr 2018 11:55:04am
ReadMe TXT 7 Apr 2018 11:49:12am 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
ReadMe TXT 7 Apr 2018 11:47:55am* 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 Install Time 7 Apr 2018 11:47:56am
ReadMe TXT 6 Apr 2018 4:19:49pm* 941
C:\Program Files\MakeMsi\MsiSyncTool

[INSTALLDIR]\MsiSyncTool

_INSTALLDIR_MSISYNCTOOL
D:\DBAREIS\Projects\Win32\MakeMsi\out\makemsi.mm\Log\ReadmeFiles\Readme-MsiSync.TXT
Component MsiSync MD5 5F214316-27FB110E-1E32EBA2-41C2C0CC Install Time 6 Apr 2018 4:19:50pm
SelfReg VER 6 Apr 2018 4:19:47pm* 528 C:\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 6 Apr 2018 4:19:48pm

Supporting VER file, details irrelevant!
SelfReg MM 6 Apr 2018 4:19:47pm* 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 6 Apr 2018 4:19:48pm

Test script to exercise code.
ReadMe TXT 6 Apr 2018 4:19:46pm 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 6 Apr 2018 4:19:46pm 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
ReadMe TXT 6 Apr 2018 4:19:45pm* 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 6 Apr 2018 4:19:46pm
ReadMe TXT 6 Apr 2018 4:19:45pm* 675
C:\Program Files\MakeMsi\Samples\Other\Sundry\Service

[SAMPLESDIR_OTHER_SUNDRY]\Service

_SAMPLESDIR_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 Install Time 6 Apr 2018 4:19:46pm
ReadMe TXT 6 Apr 2018 4:19:45pm* 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 6 Apr 2018 4:19:46pm
ReadMe TXT 6 Apr 2018 4:19:45pm* 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 Install Time 6 Apr 2018 4:19:46pm
ReadMe TXT 6 Apr 2018 4:19:44pm 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 6 Apr 2018 4:19:44pm 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
ReadMe TXT 6 Apr 2018 4:19:42pm 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 6 Apr 2018 4:19:42pm 2,178
C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers

[SAMPLESDIR]\TryMe\Create MSI Installers

SAMPLESDIR_TRYME_CREATE_MSI
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
ReadMe TXT 6 Apr 2018 4:19:40pm 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 6 Apr 2018 4:19:39pm* 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 Install Time 6 Apr 2018 4:19:40pm
ReadMe TXT 6 Apr 2018 4:19:30pm 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
TableRow mmh 3 Apr 2018 1:05:04pm 53,710 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\TableRow.mmh
Component MainFiles MD5 618FB542-F0049944-982B3E2B-BF32BA66

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
SelfReg mmh 21 Feb 2018 7:12:22pm 14,954 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\SelfReg.mmh
Component MainFiles MD5 5994AB5A-8E5E94D8-AFDEC4DE-17157C89

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
ShortcutUrl MMH 16 Feb 2018 4:53:46pm 41,935 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\ShortcutUrl.MMH
Component MainFiles MD5 2F4B1CB8-CC3D708C-7F772DFE-2969E18D

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
Samples mmh 16 Feb 2018 4:53:44pm 7,880 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Samples.mmh
Component MainFiles MD5 1132B865-74CB006F-E3197E13-A9429BA0

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
FolderIcon MMH 16 Feb 2018 4:53:34pm 16,406 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\FolderIcon.MMH
Component MainFiles MD5 C7A2BE70-32D44F3F-2558A24D-B4BD31DB

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
Tables mmh 16 Nov 2017 11:28:42am 42,344 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Tables.mmh
Component MainFiles MD5 6BCDEA66-F3FEE780-1636116E-9ADA81D4

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
OnExit mmh 16 Nov 2017 11:28:36am 14,051 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\OnExit.mmh
Component MainFiles MD5 7460D1B4-E9724900-B98A8EC3-E77A653A

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
location mmh 16 Nov 2017 11:28:32am 7,896 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\location.mmh
Component MainFiles MD5 E6DA9093-F6E861CF-FBC8751A-3E2B1639

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
InvalidMacros MMH 16 Nov 2017 11:28:32am 3,462 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\InvalidMacros.MMH
Component MainFiles MD5 F0350B76-A7F07C22-43D3ECD2-A1CC33A1

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
FilesInZip mmh 16 Nov 2017 11:28:30am 10,788 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\FilesInZip.mmh
Component MainFiles MD5 986C6BFF-86081869-18A3AC7E-EDDE180A

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
FileMake mmh 16 Nov 2017 11:28:30am 13,885 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\FileMake.mmh
Component MainFiles MD5 F6C7AEE3-209D6282-D8BD96BE-3397C5DE

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
htmlsumm mmh 13 Oct 2017 1:07:26pm 26,141 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\htmlsumm.mmh
Component MainFiles MD5 8F2CAC16-8C639EB2-9419FD80-B57EEE06

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
RegularExpTestMm hta 13 Oct 2017 12:09:07pm* 19,422 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\out\RegularExpTestMm.hta
Component MainFiles MD5 C1D5BF0F-0A343072-E878E65D-7D6C688B Install Time 13 Oct 2017 12:09:08pm

Tests regular expressions
TryMe MM 24 Sep 2017 10:17:54am 1,403 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMe.MM
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 F9EB75D5-529AE2DC-99BCC979-DF5F6FF0

A very simple sample and test script which you can try to build an MSI with. I recommend you try to build it before making any changes or building your own.
ToolTips mmh 13 Aug 2017 2:37:56pm 28,201 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\ToolTips.mmh
Component MainFiles MD5 B6F7DFAE-D153708D-387816AA-A1DBC58A

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
MajorUpgrade MMH 13 Aug 2017 2:37:50pm 18,427 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\MajorUpgrade.MMH
Component MainFiles MD5 92248C28-42BAB8AC-A8D8874E-6D590AC6

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
CommonFrameWork mmh 13 Aug 2017 2:37:46pm 7,005 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\CommonFrameWork.mmh
Component MainFiles MD5 A0D45CD3-053A82EE-FE6DE950-B7B7A5F3

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
TryMeShortcuts MM 11 Aug 2017 10:06:12am 9,379 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMeShortcuts.MM
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 37221833-57FC8446-817670BD-25C1FD88

Demonstrates shortcut creation.
Platform mmh 11 Aug 2017 10:06:06am 22,223 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Platform.mmh
Component MainFiles MD5 691A65D4-654F5F6F-39B5218E-D777ECAC

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
MakeMsi FLT 6 Aug 2017 8:29:24am 10,301 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\MakeMsi.FLT
Component MainFiles MD5 1865ABB2-93D14ADB-9A2D2E88-34FF4EE3

The base Windows Installer/msi validation filter (removed "stupid" messages we don't care about).
ME_Dutch mmh 6 Aug 2017 8:29:24am 4,500 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 C1D78B17-95A096D1-6556EA20-6772885B

Dutch localisation example file.
ME mmh 6 Aug 2017 8:29:24am 4,619 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\ME.mmh
Component MainFiles MD5 61E233F2-865D3D06-610491C9-322D8360

An example (template?) for a file it is recommended you create to front end "DEPT.MMH" and "COMPANY.MMH" for MSI creation. A large company could probably have two front ends, one for company options and branding and the other for individual team options and branding. See "DENNIS.MMH" for a more complex example (its actually what I use).
FindMult vbs 6 Aug 2017 8:29:20am 10,759 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\FindMult.vbs
Component FindMult.vbs MD5 B5904636-B0EFBB02-BACA44D5-9C2339A7

Used to filter MSI validation results.
ShouldBeEmpty vbs 2 Aug 2017 5:15:30pm 3,558 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\ShouldBeEmpty.vbs
Component ShouldBeEmpty.vbs MD5 417E4BBC-BFAB6607-5CEEFBD0-EA5A55A7

Used to check if the generated file is empty (validation by MM.CMD).
TryMeDualPurposePackage-SupportsWinXP MM 28 Feb 2016 3:41:28pm 7,128 C:\Program Files\MakeMsi\Samples\TryMe\Create MSI Installers D:\DBAREIS\Projects\Win32\MakeMsi\TryMeDualPurposePackage-SupportsWinXP.MM
Component SAMPLESDIR_TRYME_CREATE_MSI MD5 986D393B-FA7C70F8-C2498754-DF24AB86

Single Package Authoring example.
extn mmh 28 Feb 2016 3:41:18pm 8,542 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\extn.mmh
Component MainFiles MD5 84F03286-17606EAC-8C75FC4B-98CCF601

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
Guid mmh 28 Feb 2016 3:41:18pm 12,128 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\Guid.mmh
Component MainFiles MD5 8FD016E9-C546B6D7-8C57A7D0-D30C2D08

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
CodePage MMH 28 Feb 2016 3:41:16pm 2,740 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\CodePage.MMH
Component MainFiles MD5 8DD0C9A8-740E1D1E-696D17D8-19D3013F

One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!
_Mangled vbs 28 Feb 2016 2:44:29pm* 3,547 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\out\_Mangled.vbs
Component ShortCutMangled MD5 1ACCE662-B0E50D43-5110B0A8-1B636EAF Install Time 28 Feb 2016 2:44:30pm

Converts GUIDs between MSI and "mangled" formats.
PerUser VBS 28 Feb 2016 2:44:23pm* 8,938 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\out\PerUser.VBS
Component PerUser.VBS MD5 48482890-D2B9AFED-02025F30-10B5C1A1 Install Time 28 Feb 2016 2:44:24pm

VBSCRIPT which will report per user installed products and identify the users (used SidToName.exe if available).
MakeMSI DLL 3 May 2015 6:51:56pm 36,864 C:\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's 32 BIT Active-X DLL. Note that on a 64 bit OS, you must call via the 32 bit version of "cscript.exe"
File Version 15.05.0003 Product Name MAKEMSI Activex Product Version 15.05.0003 Company Name Dennis Bareis Original Filename MakeMSI.dll
TryMeExcelAddIn MM 30 Apr 2015 7:23:22pm 13,817 C:\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.
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.
_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 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).
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).
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.
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.
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)!
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)!
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)!
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.
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)!
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)!
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).
iZip exe 7 Feb 2010 8:34:22am 118,784 C:\Program Files\MakeMsi D:\DBAREIS\Projects\Win32\MakeMsi\iZip.exe
Component MainFiles MD5 4163DDC1-40B2727D-F0DAFAFC-D8A63E79 Version 3.1.0.0

INFO ZIP'S (zip.exe).
File Description Info-ZIP Zip for Win32 console File Version 3.1c02 BETA Product Name Zip Product Version 3.1c02 BETA Company Name Info-ZIP Original Filename zip.exe
DEBUG MMH 30 Jan 2010 3:53:20pm 3,265 C:\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 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...
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...
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 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)!
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)!
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.
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...
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)!
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
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!
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)!
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
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)!
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.
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.22.0.147.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.22.0.147.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.22.0.147.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.22.0.147.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.22.0.147.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.22.0.147.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)!
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)!
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?
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 - 22.147 - 48107 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)!
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)!
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)!
_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 - 22.147 - 48107 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).
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 - 22.147 - 48107 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.22.0.147.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.22.0.147.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 6: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) - 22.147 - 48107 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 - 22.147 - 48107 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 - 22.147 - 48107 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.
Rexx (regina) chm 9 Jun 2000 9:43:34am 382,842 C:\Program Files\MakeMsi\Documentation D:\DBAREIS\Projects\Win32\MakeMsi\Rexx (regina).chm
Component ShortCutDocoReginaRexx MD5 C154465D-B73C51EF-1A42BDA6-D0550B06

Regina's (rexx interpreter) documentation. The document is in Windows Compiled Help format and so has a contents, an index and can be searched.
RegularExpTestMm ico 22 Aug 1998 1:59:52pm 766 C:\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 - 22.147 - 48107 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 - 22.147 - 48107 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?

13,090,388 bytes in 283 file(s).

BINARY FILES

Table Key Source
Directory
File
Name
Time Size Comment
Icon Anti.22.0.147.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(996)
Icon Aust_DB.22.0.147.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.22.0.147.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.22.0.147.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.22.0.147.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.22.0.147.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.22.0.147.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(361)
Icon ScriptDiag.22.0.147.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(971)
Icon VersionInformationBox.22.0.147.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.22.0.147.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(1758)
Icon _Mangled.22.0.147.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.22.0.147.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.22.0.147.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 - 22.147 - 48107.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 - 22.147 - 48107.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 - 22.147 - 48107.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 - 22.147 - 48107.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 - 22.147 - 48107.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 - 22.147 - 48107.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) - 22.147 - 48107.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 - 22.147 - 48107.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 22.0.147.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.22.0.147.0000.MakeMsi"   INSTALLDIR ShortCutMangled
SCDIR_DIAGDIR General Script Tests
Tests for assorted scripting issues I have seen.
Feature "ALL.22.0.147.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's Documentation
Documents the MAKEMSI tool (version 22.0.147.0000).
Feature "ALL.22.0.147.0000.MakeMsi"   INSTALLDIR ShortCutDocoMAKEMSI
SCDIR_MAKEMSI MmWiGuid|GUID Generation
Generates new GUIDs which you can cut and paste into your code.
Feature "ALL.22.0.147.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's Documentation
Documents the PPWIZARD tool
Feature "ALL.22.0.147.0000.MakeMsi"   INSTALLDIR ShortCutDocoPPWIZARD
SCDIR_DOCO Regina's (rexx interpreter) Documentation
Documents the PPWIZARD tool
Feature "ALL.22.0.147.0000.MakeMsi"   INSTALLDIR ShortCutDocoReginaRexx
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.22.0.147.0000.MakeMsi"   INSTALLDIR ShortCutOpenSamples
SCDIR_DIAGDIR Test for AntiVirus Issues
Tests for antivirus or antispyware issues.
Feature "ALL.22.0.147.0000.MakeMsi"   INSTALLDIR ShortCutDocoTestForAntiVirus
SCDIR_DOCO The MAKEMSI Licence
You agreed to this licence during the install!
Feature "ALL.22.0.147.0000.MakeMsi"   INSTALLDIR ShortCutLicence
SCDIR_MAKEMSI Versions|Display Versions
Display Windows, WSH & Windows Installer version information.
Feature "ALL.22.0.147.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 (has downloadable PDF)
https://docs.microsoft.com/en-us/windows/win32/msi/windows-installer-reference   INSTALLDIR ShortCutDocoWindowsInstaller_SCDIR_INTERNET_LINKS
SCDIR_DOCO Windows Installer Documentation
Online documentation on Microsoft web site (has downloadable PDF)
https://docs.microsoft.com/en-us/windows/win32/msi/windows-installer-reference   INSTALLDIR ShortCutDocoWindowsInstaller_SCDIR_DOCO

19 shortcut(s).

CHANGE HISTORY

Version Date Changes Made
22.0.147.0000 Thu May 26 2022 at 1:21:35pm Please see the MAKEMSI documentation for a complete change history (at "http://makemsi-manual.dennisbareis.com/changehistory.htm").

1 changes.

MSI VALIDATION FILTERS

Lists all validations performed and the order they are applied. Validation filters can cause messages to be "ignored" (green) or "escalated" (red) as definately being bad. The validation process doesn't know the full context under which your msi will install (and can also be buggy) so any messages need to be evaluated.

Order Text of Matching ICE Messages Filter Details
1
  1. ICE66 WARNING Complete functionality of the Shortcut table is only available with Windows Installer version 4.0. Your schema is 110.
FILTER: Complete functionality of the Shortcut table is only available with Windows Installer version 4.0
Ignore it Case sensitive Compare as text Defined at Tables.MMH(284)

WHY: Prevents nagging if not generating msis requiring Windows Installer version 4
2
FILTER: Aust_DB.22.0.147.0000.ico.exe
Ignore it Case sensitive Compare as text Defined at COMPANY.MMH(919)

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

WHY: This column is optional
4
  1. ICE91 WARNING The file 'FileInfo.cmd' will be installed to the per user directory 'INSTALLDIR_PERUSER' that doesn't vary based on ALLUSERS value. This file won't be copied to each user's profile even if a per machine installation is desired.
  2. ICE91 WARNING The file 'StrFInfo.exe_1' will be installed to the per user directory 'INSTALLDIR_PERUSER' that doesn't vary based on ALLUSERS value. This file won't be copied to each user's profile even if a per machine installation is desired.
  3. ICE91 WARNING The file 'MmDocumentProperties.VBS_1' will be installed to the per user directory 'INSTALLDIR_PERUSER' that doesn't vary based on ALLUSERS value. This file won't be copied to each user's profile even if a per machine installation is desired.
  4. ICE91 WARNING The file 'MmMD5.vbs_1' will be installed to the per user directory 'INSTALLDIR_PERUSER' that doesn't vary based on ALLUSERS value. This file won't be copied to each user's profile even if a per machine installation is desired.
  5. ICE91 WARNING The shortcut 'MmShortCut018' will be installed to the per user directory 'SendToFolder' that doesn't vary based on ALLUSERS value. This file won't be copied to each user's profile even if a per machine installation is desired.
  6. ICE91 WARNING The shortcut 'MmShortCut019' will be installed to the per user directory 'SendToFolder' that doesn't vary based on ALLUSERS value. This file won't be copied to each user's profile even if a per machine installation is desired.
FILTER: will be installed to the per user directory
Ignore it Case sensitive Compare as text Defined at MAKEMSI.mm(1717)

WHY: Not true, this MSI installs per-machine
5
FILTER: will be installed to the per user directory
Ignore it Case sensitive Compare as text Defined at MAKEMSI.mm(1760)

WHY: Not true, this MSI installs per-machine
6
FILTER: The file '.*' will be installed to the per user directory '.*' that doesn't vary based on ALLUSERS value
Ignore it Case sensitive Compare as regular expression Defined at MAKEMSI.mm(1892)

WHY: *** NO REASON PROVIDED FOR THIS FILTER ***
7
FILTER: Row 'VerifyRepairDlg.Repair' in table 'Control' has bits set in the 'Attributes' column that are reserved
Ignore it Case sensitive Compare as text Defined at UiSample.MMH(1141)

WHY: Work around Microsoft's bug in latest validation CUB files (_ReservedBits table)
8
FILTER: Row 'VerifyRemoveDlg.Remove' in table 'Control' has bits set in the 'Attributes' column that are reserved
Ignore it Case sensitive Compare as text Defined at UiSample.MMH(1142)

WHY: Work around Microsoft's bug in latest validation CUB files (_ReservedBits table)
9
FILTER: Row 'VerifyReadyDlg.Install' in table 'Control' has bits set in the 'Attributes' column that are reserved
Ignore it Case sensitive Compare as text Defined at UiSample.MMH(1143)

WHY: Work around Microsoft's bug in latest validation CUB files (_ReservedBits table)
10
FILTER: UNKNOWN ICE Internal Error
Ignore it Case sensitive Compare as text Defined at MakeMsi.FLT(45)

WHY: KNOWN MICROSOFT BUG: The validation itself failed and "FILTER_SEE_ICE_INTERNAL_ERRORS" was not defined
11
FILTER: Based on the tables and columns in your database, it should be marked with a schema between
Ignore it Case sensitive Compare as text Defined at MakeMsi.FLT(48)

WHY: KNOWN MICROSOFT BUG: Simply incorrect and "FILTER_SEE_ICE_INTERNAL_ERRORS" was not defined
12
  1. ICE90 WARNING The shortcut 'MmShortCut001' has a directory that is a public property (ALL CAPS) and is under user profile directory. This results in a problem if the value of the ALLUSERS property changes in the UI sequence.
  2. ICE90 WARNING The shortcut 'MmShortCut002' has a directory that is a public property (ALL CAPS) and is under user profile directory. This results in a problem if the value of the ALLUSERS property changes in the UI sequence.
  3. ICE90 WARNING The shortcut 'MmShortCut003' has a directory that is a public property (ALL CAPS) and is under user profile directory. This results in a problem if the value of the ALLUSERS property changes in the UI sequence.
  4. ICE90 WARNING The shortcut 'MmShortCut004' has a directory that is a public property (ALL CAPS) and is under user profile directory. This results in a problem if the value of the ALLUSERS property changes in the UI sequence.
  5. ICE90 WARNING The shortcut 'MmShortCut005' has a directory that is a public property (ALL CAPS) and is under user profile directory. This results in a problem if the value of the ALLUSERS property changes in the UI sequence.
  6. ICE90 WARNING The shortcut 'MmShortCut006' has a directory that is a public property (ALL CAPS) and is under user profile directory. This results in a problem if the value of the ALLUSERS property changes in the UI sequence.
  7. ICE90 WARNING The shortcut 'MmShortCut007' has a directory that is a public property (ALL CAPS) and is under user profile directory. This results in a problem if the value of the ALLUSERS property changes in the UI sequence.
  8. ICE90 WARNING The shortcut 'MmShortCut008' has a directory that is a public property (ALL CAPS) and is under user profile directory. This results in a problem if the value of the ALLUSERS property changes in the UI sequence.
  9. ICE90 WARNING The shortcut 'MmShortCut009' has a directory that is a public property (ALL CAPS) and is under user profile directory. This results in a problem if the value of the ALLUSERS property changes in the UI sequence.
  10. ICE90 WARNING The shortcut 'MmShortCut010' has a directory that is a public property (ALL CAPS) and is under user profile directory. This results in a problem if the value of the ALLUSERS property changes in the UI sequence.
  11. ICE90 WARNING The shortcut 'MmShortCut011' has a directory that is a public property (ALL CAPS) and is under user profile directory. This results in a problem if the value of the ALLUSERS property changes in the UI sequence.
  12. ICE90 WARNING The shortcut 'MmShortCut012' has a directory that is a public property (ALL CAPS) and is under user profile directory. This results in a problem if the value of the ALLUSERS property changes in the UI sequence.
  13. ICE90 WARNING The shortcut 'MmShortCut013' has a directory that is a public property (ALL CAPS) and is under user profile directory. This results in a problem if the value of the ALLUSERS property changes in the UI sequence.
  14. ICE90 WARNING The shortcut 'MmShortCut014' has a directory that is a public property (ALL CAPS) and is under user profile directory. This results in a problem if the value of the ALLUSERS property changes in the UI sequence.
  15. ICE90 WARNING The shortcut 'MmShortCut015' has a directory that is a public property (ALL CAPS) and is under user profile directory. This results in a problem if the value of the ALLUSERS property changes in the UI sequence.
  16. ICE90 WARNING The shortcut 'MmShortCut016' has a directory that is a public property (ALL CAPS) and is under user profile directory. This results in a problem if the value of the ALLUSERS property changes in the UI sequence.
  17. ICE90 WARNING The shortcut 'MmShortCut017' has a directory that is a public property (ALL CAPS) and is under user profile directory. This results in a problem if the value of the ALLUSERS property changes in the UI sequence.
FILTER: has a directory that is a public property (ALL CAPS) and is under user profile directory.
Ignore it Case sensitive Compare as text Defined at MakeMsi.FLT(57)

WHY: KNOWN MICROSOFT BUG IN "darice.cub": Simply incorrect
13
FILTER: Property `AdminUser` found in column `ControlCondition`.`Condition`
Ignore it Case sensitive Compare as text Defined at MakeMsi.FLT(60)

WHY: KNOWN MICROSOFT BUG IN "darice.cub": Simply incorrect
14
FILTER: Property `AdminUser` found in column `ControlEvent`.`Condition`
Ignore it Case sensitive Compare as text Defined at MakeMsi.FLT(63)

WHY: KNOWN MICROSOFT BUG IN "darice.cub": Simply incorrect
15
  1. ICE61 WARNING This product should remove only older versions of itself. No Maximum version was detected for the current product. (UC_OURSELVES)
FILTER: This product should remove only older versions of itself. No Maximum version was detected for the current product.
Ignore it Case sensitive Compare as text Defined at MakeMsi.FLT(67)

WHY: KNOWN MICROSOFT BUG IN "darice.cub": Incorrect in that it works (for 15+ years) in the context of how MAKEMSI performs major upgrades
16
  1. ICE61 ERROR Upgrade.VersionMin and Upgrade.VersionMax cannot both be null. UpgradeCode is {D89869CB-2A7C-4296-9CC9-028A0DEC79B8}
FILTER: Upgrade.VersionMin and Upgrade.VersionMax cannot both be null. UpgradeCode is
Ignore it Case sensitive Compare as text Defined at MakeMsi.FLT(70)

WHY: KNOWN MICROSOFT BUG IN "darice.cub": Incorrect in that it works (for 15+ years) in the context of how MAKEMSI performs major upgrades
17
  1. ICE66 WARNING Complete functionality of the MsiFileHash table is only available with Windows Installer version 1.5. Your schema is 110.
FILTER: Complete functionality of the MsiFileHash table is only available with Windows Installer version 1.5. Your schema is
Ignore it Case sensitive Compare as text Defined at MakeMsi.FLT(73)

WHY: Incorrect in that it works (for 15+ years)
18
FILTER: ERROR
Ignore it Case sensitive Compare as text Defined at MakeMsi.FLT(90)

WHY: All messages containing " ERROR " and not previously filtered out are treated as errors.
19
FILTER: ---------
Ignore it Case sensitive Compare as text Defined at MakeMsi.FLT(107)

WHY: This line exists because of MAKEMSI filter processing (via FIND.EXE)
20
FILTER:
Ignore it Case sensitive Compare as text Defined at MakeMsi.FLT(114)

WHY: Blank lines are ignored
21
FILTER: appears to be hardcoded in the property table to a local drive
Ignore it Case sensitive Compare as text Defined at MakeMsi.FLT(125)

WHY: ANZ frequently forces hardcoding via it's standards such as "D:" being a server data drive and "FILTER_NO_WARNING_FOR_HARDCODED_DIRECTORY_ENTRIES" was not defined
22
  1. ICE40 WARNING REINSTALLMODE is defined in the Property table. This may cause difficulties.
FILTER: REINSTALLMODE is defined in the Property table
Ignore it Case sensitive Compare as text Defined at MakeMsi.FLT(134)

WHY: MAKEMSI is performing major updates so this message doesn't matter and "FILTER_WANT_WARNING_FOR_RESINSTALLMODE_IN_PROP_TABLE" was not defined
23
  1. ICE33 WARNING Reg key MmRegistry009 is used in an unsupported way. ProgId - Icon associations should be registered via the ProgId and Icon tables. This entry may overwrite a value created through those tables.
  2. ICE33 WARNING Reg key MmRegistry013 is used in an unsupported way. ProgId - Icon associations should be registered via the ProgId and Icon tables. This entry may overwrite a value created through those tables.
  3. ICE33 WARNING Reg key MmRegistry021 is used in an unsupported way. ProgId - Icon associations should be registered via the ProgId and Icon tables. This entry may overwrite a value created through those tables.
  4. ICE33 WARNING Reg key MmRegistry029 is used in an unsupported way. ProgId - Icon associations should be registered via the ProgId and Icon tables. This entry may overwrite a value created through those tables.
  5. ICE33 WARNING Reg key MmRegistry055 is used in an unsupported way. ProgId - Icon associations should be registered via the ProgId and Icon tables. This entry may overwrite a value created through those tables.
  6. ICE33 WARNING Reg key MmRegistry065 is used in an unsupported way. ProgId - Icon associations should be registered via the ProgId and Icon tables. This entry may overwrite a value created through those tables.
  7. ICE33 WARNING Reg key MmRegistry071 is used in an unsupported way. ProgId - Icon associations should be registered via the ProgId and Icon tables. This entry may overwrite a value created through those tables.
  8. ICE33 WARNING Reg key MmRegistry102 is used in an unsupported way. ProgId - Icon associations should be registered via the ProgId and Icon tables. This entry may overwrite a value created through those tables.
FILTER: Icon associations should be registered via the ProgId and Icon tables
Ignore it Case sensitive Compare as text Defined at MakeMsi.FLT(144)

WHY: MAKEMSI registers associations via registry and "FILTER_NO_WARNING_FOR_SHOULD_BE_REGISTERED_VIA_PROGID" was not defined.
24
  1. ICE33 WARNING Reg key MmRegistry037 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  2. ICE33 WARNING Reg key MmRegistry039 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  3. ICE33 WARNING Reg key MmRegistry041 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  4. ICE33 WARNING Reg key MmRegistry043 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  5. ICE33 WARNING Reg key MmRegistry045 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  6. ICE33 WARNING Reg key MmRegistry047 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  7. ICE33 WARNING Reg key MmRegistry049 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  8. ICE33 WARNING Reg key MmRegistry051 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  9. ICE33 WARNING Reg key MmRegistry087 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  10. ICE33 WARNING Reg key MmRegistry097 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  11. ICE33 WARNING Reg key MmRegistry112 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  12. ICE33 WARNING Reg key MmRegistry075 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  13. ICE33 WARNING Reg key MmRegistry077 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  14. ICE33 WARNING Reg key MmRegistry079 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  15. ICE33 WARNING Reg key MmRegistry081 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  16. ICE33 WARNING Reg key MmRegistry083 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  17. ICE33 WARNING Reg key MmRegistry085 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  18. ICE33 WARNING Reg key MmRegistry089 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  19. ICE33 WARNING Reg key MmRegistry091 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  20. ICE33 WARNING Reg key MmRegistry093 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  21. ICE33 WARNING Reg key MmRegistry095 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  22. ICE33 WARNING Reg key MmRegistry105 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  23. ICE33 WARNING Reg key MmRegistry107 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  24. ICE33 WARNING Reg key MmRegistry109 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  25. ICE33 WARNING Reg key MmRegistry108 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  26. ICE33 WARNING Reg key MmRegistry110 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  27. ICE33 WARNING Reg key MmRegistry038 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  28. ICE33 WARNING Reg key MmRegistry040 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  29. ICE33 WARNING Reg key MmRegistry042 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  30. ICE33 WARNING Reg key MmRegistry044 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  31. ICE33 WARNING Reg key MmRegistry046 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  32. ICE33 WARNING Reg key MmRegistry048 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  33. ICE33 WARNING Reg key MmRegistry050 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  34. ICE33 WARNING Reg key MmRegistry052 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  35. ICE33 WARNING Reg key MmRegistry076 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  36. ICE33 WARNING Reg key MmRegistry078 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  37. ICE33 WARNING Reg key MmRegistry080 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  38. ICE33 WARNING Reg key MmRegistry082 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  39. ICE33 WARNING Reg key MmRegistry084 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  40. ICE33 WARNING Reg key MmRegistry086 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  41. ICE33 WARNING Reg key MmRegistry088 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  42. ICE33 WARNING Reg key MmRegistry090 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  43. ICE33 WARNING Reg key MmRegistry092 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  44. ICE33 WARNING Reg key MmRegistry094 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  45. ICE33 WARNING Reg key MmRegistry096 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  46. ICE33 WARNING Reg key MmRegistry098 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  47. ICE33 WARNING Reg key MmRegistry106 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  48. ICE33 WARNING Reg key MmRegistry113 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  49. ICE33 WARNING Reg key MmRegistry039 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  50. ICE33 WARNING Reg key MmRegistry047 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  51. ICE33 WARNING Reg key MmRegistry049 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  52. ICE33 WARNING Reg key MmRegistry087 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  53. ICE33 WARNING Reg key MmRegistry077 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  54. ICE33 WARNING Reg key MmRegistry085 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  55. ICE33 WARNING Reg key MmRegistry091 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  56. ICE33 WARNING Reg key MmRegistry040 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  57. ICE33 WARNING Reg key MmRegistry048 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  58. ICE33 WARNING Reg key MmRegistry050 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  59. ICE33 WARNING Reg key MmRegistry078 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  60. ICE33 WARNING Reg key MmRegistry086 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  61. ICE33 WARNING Reg key MmRegistry088 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
  62. ICE33 WARNING Reg key MmRegistry092 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
FILTER: Shell extension verbs info should be registered via the Verb table.
Ignore it Case sensitive Compare as text Defined at MakeMsi.FLT(147)

WHY: MAKEMSI registers associations via registry and "FILTER_NO_WARNING_FOR_SHOULD_BE_REGISTERED_VIA_PROGID" was not defined.
25
  1. ICE33 WARNING Reg key MmRegistry007 is used in an unsupported way. ProgId should be registered via the ProgId table. This entry may overwrite a value created through that table.
  2. ICE33 WARNING Reg key MmRegistry011 is used in an unsupported way. ProgId should be registered via the ProgId table. This entry may overwrite a value created through that table.
  3. ICE33 WARNING Reg key MmRegistry019 is used in an unsupported way. ProgId should be registered via the ProgId table. This entry may overwrite a value created through that table.
  4. ICE33 WARNING Reg key MmRegistry027 is used in an unsupported way. ProgId should be registered via the ProgId table. This entry may overwrite a value created through that table.
  5. ICE33 WARNING Reg key MmRegistry053 is used in an unsupported way. ProgId should be registered via the ProgId table. This entry may overwrite a value created through that table.
  6. ICE33 WARNING Reg key MmRegistry099 is used in an unsupported way. ProgId should be registered via the ProgId table. This entry may overwrite a value created through that table.
  7. ICE33 WARNING Reg key MmRegistry012 is used in an unsupported way. ProgId should be registered via the ProgId table. This entry may overwrite a value created through that table.
  8. ICE33 WARNING Reg key MmRegistry020 is used in an unsupported way. ProgId should be registered via the ProgId table. This entry may overwrite a value created through that table.
  9. ICE33 WARNING Reg key MmRegistry028 is used in an unsupported way. ProgId should be registered via the ProgId table. This entry may overwrite a value created through that table.
  10. ICE33 WARNING Reg key MmRegistry054 is used in an unsupported way. ProgId should be registered via the ProgId table. This entry may overwrite a value created through that table.
  11. ICE33 WARNING Reg key MmRegistry063 is used in an unsupported way. ProgId should be registered via the ProgId table. This entry may overwrite a value created through that table.
  12. ICE33 WARNING Reg key MmRegistry064 is used in an unsupported way. ProgId should be registered via the ProgId table. This entry may overwrite a value created through that table.
  13. ICE33 WARNING Reg key MmRegistry069 is used in an unsupported way. ProgId should be registered via the ProgId table. This entry may overwrite a value created through that table.
  14. ICE33 WARNING Reg key MmRegistry101 is used in an unsupported way. ProgId should be registered via the ProgId table. This entry may overwrite a value created through that table.
  15. ICE33 WARNING Reg key MmRegistry104 is used in an unsupported way. ProgId should be registered via the ProgId table. This entry may overwrite a value created through that table.
FILTER: should be registered via the ProgId table
Ignore it Case sensitive Compare as text Defined at MakeMsi.FLT(150)

WHY: MAKEMSI registers associations via registry and "FILTER_NO_WARNING_FOR_SHOULD_BE_REGISTERED_VIA_PROGID" was not defined.
26
FILTER: ProgId - CLSID associations should be registered via the ProgId and Class tables
Ignore it Case sensitive Compare as text Defined at MakeMsi.FLT(153)

WHY: MAKEMSI registers associations via registry and "FILTER_NO_WARNING_FOR_SHOULD_BE_REGISTERED_VIA_PROGID" was not defined.
27
  1. ICE33 WARNING Reg key MmRegistry007 is used in an unsupported way. Extensions should be registered via the Extension table. This entry may overwrite a value created through that table.
  2. ICE33 WARNING Reg key MmRegistry011 is used in an unsupported way. Extensions should be registered via the Extension table. This entry may overwrite a value created through that table.
  3. ICE33 WARNING Reg key MmRegistry019 is used in an unsupported way. Extensions should be registered via the Extension table. This entry may overwrite a value created through that table.
  4. ICE33 WARNING Reg key MmRegistry027 is used in an unsupported way. Extensions should be registered via the Extension table. This entry may overwrite a value created through that table.
  5. ICE33 WARNING Reg key MmRegistry053 is used in an unsupported way. Extensions should be registered via the Extension table. This entry may overwrite a value created through that table.
  6. ICE33 WARNING Reg key MmRegistry099 is used in an unsupported way. Extensions should be registered via the Extension table. This entry may overwrite a value created through that table.
  7. ICE33 WARNING Reg key MmRegistry063 is used in an unsupported way. Extensions should be registered via the Extension table. This entry may overwrite a value created through that table.
  8. ICE33 WARNING Reg key MmRegistry069 is used in an unsupported way. Extensions should be registered via the Extension table. This entry may overwrite a value created through that table.
  9. ICE33 WARNING Reg key MmRegistry104 is used in an unsupported way. Extensions should be registered via the Extension table. This entry may overwrite a value created through that table.
FILTER: should be registered via the Extension table
Ignore it Case sensitive Compare as text Defined at MakeMsi.FLT(159)

WHY: MAKEMSI registers associations via registry and "FILTER_NO_WARNING_FOR_SHOULD_BE_REGISTERED_VIA_EXTENSION" was not defined.
28
FILTER: WARNING
Ignore it Case sensitive Compare as text Defined at MakeMsi.FLT(173)

WHY: All messages containing " WARNING" and not previously filtered out are treated as errors.
29
FILTER: *
Ignore it Case sensitive Compare as text Defined at MakeMsi.FLT(185)

WHY: Don't really expect to get this far but anything not already filtered is treated as an error

29 filter(s), Validation: SUCCESSFUL, 122 ICE messages ignored

SOURCE CODE

MAKEMSI.mm dated Thu May 26 2022 at 1:16:39pm
;----------------------------------------------------------------------------
;
;    MODULE NAME:   MAKEMSI.MM
;
;        $Author:   USER "Dennis"  $
;      $Revision:   1.122  $
;          $Date:   07 Apr 2018 16:58:16  $
;       $Logfile:   D:/DBAREIS/Projects.PVCS/Win32/MakeMsi/MAKEMSI.mm.pvcs  $
;      COPYRIGHT:   (C)opyright Dennis Bareis, Australia, 2003
;                   All rights reserved.
;
; DESCRIPTION
; ~~~~~~~~~~~
; This is the source script actually used to build the MAKEMSI MSI.
;----------------------------------------------------------------------------



;----------------------------------------------------------------------------
;--- I am not maintaining VERSION info in the ".VER" file -------------------
;----------------------------------------------------------------------------
#include "MmVersion.mmh"         ;;Just include the MAKEMSI version #
#DefineRexx ''
   ;--- Manipulate the MAKEMSI version number into a product version number ---
   @@Ver = '<$MAKEMSI_VERSION>'
   parse var @@Ver @@YY '.' +1 @@DDD +3 @@Fix
   @@YY  = right(@@YY,  2, '0');
   @@DDD = right(@@DDD, 3, '0');
   if  @@Fix = '' then
       @@Fix = '0'
   else
   do
       @@Fix = translate(@@Fix);
       if  pos(@@Fix, xrange('A', 'Z')) = 0 then
           error('Invalid version fix letter of "' || @@Fix || '"');
       @@Fix = c2d(translate(@@Fix)) - c2d('A') + 1
   end;
   @@Fix = right(@@Fix, 4, '0');

   ;--- The "VER" file will refer to this -----------------------------------
   call MacroSet 'HistoryVersion', @@YY || '.0.' || @@DDD || '.' || @@Fix
#DefineRexx
#undef MAKEMSI_VERSION


;--------------------------------------------------------------------------------
;--- Replace the default left side (vertical) graphic defined by "DENNIS.MMH" ---
;--------------------------------------------------------------------------------
#define? UISAMPLE_DIALOG_FILE_dlgbmp     LeftSide-MakeMsi.bmp


;----------------------------------------------------------------------------
;--- I will be using this below... ------------------------------------------
;----------------------------------------------------------------------------
;---[4Doco.ZipDirectoryTreeImageMacro]---
#(
    #define UnzipImage                       ;;Version 10.015

    ;--- Make sure that "iunzip.exe" exists (user can override shortname with "EXE_IUNZIP.EXE") ---
    <$GetFullBuildTimeFileName RcVar="@@FullMakeIUnZipExeName" Macro="EXE_IUNZIP.EXE" File="<$@@IUnzipExeShortName>" MustExist="N">
    #if [@@FullMakeIUnZipExeName = '']
        ;--- Report error -------------------------------------------------------
        #error ^Could not find "<$@@IUnzipExeShortName>"!{NL}Please download the Info-zip "unzip.exe" from "http://www.info-zip.org/UnZip.html"^
    #endif

    ;--- The tool exists so lets unzip away! --------------------------------
    #evaluate ^^ ^<$@@Rexx2UnzipDirectoryTree {$?}>^
#)
#define? UnzipImageOutputColor  {CYAN}          ;;Output of the unzipping process..
#define @@IUnzipExeShortName  iunzip.exe    ;;We rename info-zip's "unzip.exe" to "iunzip.exe' to remove any doubt as to what it is...
#DefineRexx '@@Rexx2UnzipDirectoryTree'
    ;--- Get parameters -----------------------------------------------------
    {$!:ZIPFILE,DIR,CLEAR,Options}         ;;Validate passed parameters
    @@ZipFile              = '{$ZipFile}';
    @@DestinationDirectory = '{$Dir}';
    if  FileQueryExists(@@ZipFile) = '' then
        error('The zip file "' || @@ZipFile || '" doesn''t exist!');

    ;--- Almost always want to start with a clean directory -----------------
    if  '{$Clear=^Y^}' = 'N' then             ;;Allow for multiple zips unpacking into a single location.
        call Info 'Adding unpacked image to the destination directory.'
    else
    do
        ;--- We expect to start from scratch --------------------------------
        call Info 'Clearing the unzip destination directory'
        call AddressCmd 'rd "' || @@DestinationDirectory || '" /q /s >nul <$Stderr2Out>'

        ;--- We will need to create the directory ---------------------------
        call AddressCmd 'md "' || @@DestinationDirectory || '" >nul <$Stderr2Out>'
    end;

    ;--- Unzip --------------------------------------------------------------
    call Info 'Unpacking ZIP (' || @@ZipFile || ')'
    call ColorCfg '?UNZIPSRCIMG', '<$UnzipImageOutputColor>';
    call ColorSet '?UNZIPSRCIMG';
    @@UnzipCmd = '"<??@@FullMakeIUnZipExeName>" {$Options=^-o^} "' || @@ZipFile || '" -d "' || @@DestinationDirectory || '"'
    <$DBG_SAY> 'UNZIP command: ' || @@UnzipCmd;             ;;If it fails user can copy from log and manually retry etc!
    @@UnzipCmd = '"' || @@UnzipCmd || '"'                   ;;Got to love Windows...
    @@Rc = AddressCmd(@@UnzipCmd)
    call ColorSet 'DEFAULT';
    if  @@Rc <> 0 then
        error('The unzip of "' || @@ZipFile || '" failed with return code ' || @@Rc);
    else
    do
        ;--- Make sure we find at least one (non-hidden) file (double check) ---
        call Files4Mask @@DestinationDirectory || "\*.*", "@@ZipImage", "Y", "N"
        if  @@ZipImage.0 = 0 then
            error('The unzip of "' || @@ZipFile || '" probably failed as no files seem to have been extracted to the directory "' || @@DestinationDirectory || '"');
    end;
#DefineRexx
;---[4Doco.ZipDirectoryTreeImageMacro]---



;----------------------------------------------------------------------------
;--- We want link to installation installations on the "welcome dialog" -----
;----------------------------------------------------------------------------
#define UISAMPLE_ADD_INSTALL_INSTRUCTIONS_BUTTON_URL http://makemsi-manual.dennisbareis.com/install.htm
#define HTTP_MAKEMSI_CHANGE_HISTORY                  http://makemsi-manual.dennisbareis.com/changehistory.htm


#define UISAMPLE_ADD_INSTALL_INSTRUCTIONS_BUTTON_TOOLTIP \
        See MAKEMSI install instructions (online)
;**    [CommentBlockStart     (20 March 2006 18:03:24, Dennis)
;**+----------------------------------------------------------------------
;**|#define UISAMPLE_ADD_INSTALL_INSTRUCTIONS_BUTTON_TOOLTIP \
;**|        <$UISAMPLE_ADD_INSTALL_INSTRUCTIONS_BUTTON_URL>
;**|
;**+----------------------------------------------------------------------
;**    CommentBlockEnd]       (20 March 2006 18:03:24, Dennis)

;----------------------------------------------------------------------------
;--- Load Common Definitions and MAKEMSI Support ----------------------------
;----------------------------------------------------------------------------
#define  COMPANY_SUMMARY_SCHEMA           110      ;;Minimum v1.1 Installer
#include "MAKEMSI.MM.H"

;----------------------------------------------------------------------------
;--- Include False AntiVirus Information ------------------------------------
;----------------------------------------------------------------------------
#include "PossibleFalseAntiVirusAlerts.DH"


;----------------------------------------------------------------------------
;--- External HTTP Links ----------------------------------------------------
;----------------------------------------------------------------------------
;#include "MAKEMSI.D" "[External-Links]"
#define HTTP_MICROSOFT_MSI_WINDOWS_INSTALLER_REFERENCE https://docs.microsoft.com/en-us/windows/win32/msi/windows-installer-reference


;----------------------------------------------------------------------------
;--- Don't want to affect any existing rexx interpreters etc -------------
;----------------------------------------------------------------------------
#define REXX_ProgID      ReginaScript4MM   ;;Don't touch "ReginaScript"


;----------------------------------------------------------------------------
;--- Default Install dir ----------------------------------------------------
;----------------------------------------------------------------------------
<$DirectoryTree Key="INSTALLDIR"      Dir="C:\Program Files\MakeMsi" Change="\">


;----------------------------------------------------------------------------
;--- PER USER Install dir ---------------------------------------------------
;----------------------------------------------------------------------------
<$Component "INSTALLDIR_PERUSER" Create="Y" Directory_="<$AnyDir>" CU="Y">
    <$DirectoryTree Key="INSTALLDIR_PERUSER" Dir="[AppDataFolder]\MAKEMSI" MAKE="Y" REMOVE="Y">
<$/Component>


;----------------------------------------------------------------------------
;--- Name Icons uniquely to work around windows bugs ------------------------
;----------------------------------------------------------------------------
#option PUSH DefineMacroReplace=ON
#define RandomishIconBit  - <??@@Ver> - <?=time('s')> ;;Prevents Windows accessing old icons (incorrectly)
#define MM.ICO           MM <$RandomishIconBit>.ICO
#define MMH.ICO          MMH <$RandomishIconBit>.ICO
#define VER.ICO          VER <$RandomishIconBit>.ICO
#define 4MM.ICO          4MM (rexx) <$RandomishIconBit>.ICO
#define RE4MM.ICO        RE4MM <$RandomishIconBit>.ICO
#define IniMM.ICO        IniMM <$RandomishIconBit>.ICO
#define IDT.ICO          IDT <$RandomishIconBit>.ICO
#define CMDPROMPT.ICO    CMDPRMT <$RandomishIconBit>.ICO
#option POP


;----------------------------------------------------------------------------
;--- MAKEMSI.DLL needs "msvbvm60.dll" (may not exist, thats OK) -------------
;----------------------------------------------------------------------------
<$FileFind File="MSVBVM60.DLL" Property="MSVBVM60.DLL" PATH="[WindowsFolder]" Depth="1" DEFAULT="">


;----------------------------------------------------------------------------
;--- Exclude some ".MMH" ----------------------------------------------------
;----------------------------------------------------------------------------
<$FilesExclude "*dutch*.mmh"          EXLIST="XL_MMH">
<$FilesExclude "selfreg_.mmh"         EXLIST="XL_MMH">
<$FilesExclude "SelfRegImport.MMH"    EXLIST="XL_MMH">
<$FilesExclude "HotFix4WinXpSp2.mmh"  EXLIST="XL_MMH">   ;;Sample Header


;----------------------------------------------------------------------------
;--- Extensions -------------------------------------------------------------
;----------------------------------------------------------------------------
<$DirectoryTree Key="USER_SUPPLIED_EXTENSIONS"  Dir="[INSTALLDIR]\UserExtns">
<$Component "USER_SUPPLIED_EXTENSIONS" Create="Y" Directory_="USER_SUPPLIED_EXTENSIONS">
   ;--- Readme.txt ----------------------------------------------------------
   #( '<?NewLine>'
        #define /ReadMe+ProgramFilesWarning

        <?NewLine><?NewLine><?NewLine>
        ================================================
        ==================[ WARNING ]===================
        ================================================
        Its possible you will not be able to build the samples from the
        "program files" directory as not all users will have write access here.<?NewLine>
        If you can't build anything then please copy the samples to a your
        "My Documents" and try again.
        <$/ReadMe>
   #)
   <$ReadMe KeyFile=Y>
       This directory tree contains MAKEMSI extensions supplied and
       maintained by others.

       While I do want to know of any problems you should probably
       contact the author with comments or for help if possible.
   <$/ReadMe+ProgramFilesWarning>
<$/Component>


;----------------------------------------------------------------------------
;--- Extensions: Julian Onions ----------------------------------------------
;----------------------------------------------------------------------------
<$DirectoryTree Key="BY_JULIAN_ONIONS"  Dir="[USER_SUPPLIED_EXTENSIONS]\JulianOnions">
<$Component "BY_JULIAN_ONIONS" Create="Y" Directory_="BY_JULIAN_ONIONS">
    <$FileComment Comment="Supplied and maintained by Julian Onions (thanks).">
        <$File Source="patch[JulianOnions].mmh"     Destination="patch.mmh" EXLIST="XL_MMH" KeyPath="Y">
        <$File Source="patch[JulianOnions].mmh.txt" Destination="patch.txt">
    <$/FileComment>
<$/Component>




;----------------------------------------------------------------------------
;--- Extensions: Christoph Mockenhaupt --------------------------------------
;----------------------------------------------------------------------------
<$DirectoryTree Key="BY_CHRISTOPH_MOCKENHAUPT"  Dir="[USER_SUPPLIED_EXTENSIONS]\ChristophMockenhaupt">
<$Component "BY_CHRISTOPH_MOCKENHAUPT" Create="Y" Directory_="BY_CHRISTOPH_MOCKENHAUPT">
    <$FileComment Comment="Supplied and maintained by Christoph Mockenhaupt (thanks).">
        <$File Source="FireWall[ChristophMockenhaupt].mmh" Destination="FireWall.mmh" EXLIST="XL_MMH" KeyPath="Y">
    <$/FileComment>
<$/Component>

;----------------------------------------------------------------------------
;--- We use the freeware (and distributable) RUNPROCESS.EXE -----------------
;----------------------------------------------------------------------------
<$Component "RUNPROCESS.EXE" Create="Y" Directory_="INSTALLDIR">
    <$FileComment Comment="Freeware tool by Frank P. Westlake.">
        <$File Source="RunProcess.exe"  Destination="RunProcess_.exe" KeyPath="Y">
        <$File Source="RunProcess.txt"  Destination="RunProcess_.txt">
    <$/FileComment>
<$/Component>


;----------------------------------------------------------------------------
;--- Main Files -------------------------------------------------------------
;----------------------------------------------------------------------------
<$Component "MainFiles" Create="Y" Directory_="INSTALLDIR">
   ;--- Add ".MMH" (header) files -------------------------------------------
   <$cabinet "!">
       <$Files "MmVersion.mmh"      EXLIST="XL_MMH" Comment=^Contains MAKEMSI's version number.^>
   <$/cabinet>
   <$cabinet "MOST_MAIN_FILES_MMH">
       <$Files "MAKEMSI.MMH"        EXLIST="XL_MMH" Comment=^Include this to create an MSI with full control (most people will want to use "DEPT.MMH" instead).^ KeyFile="*" >
       <$Files "MAKEMSM.MMH"        EXLIST="XL_MMH" Comment=^Include this to create a MSM (merge module).^>
       <$Files "TEMPLATE_MSI-*.MMH" EXLIST="XL_MMH" Comment=^Contains all of the code required to create a simple msi following a certain pattern.^>
       <$Files "OPENMSI.MMH"        EXLIST="XL_MMH" Comment=^Include this to update an existing Windows Installer database of any type (not just MSI)^>
       <$Files "ICE.MMH"            EXLIST="XL_MMH" Comment=^Include this to create/update an CUB file (ICE validator)^>
       <$Files "ME.MMH"             EXLIST="XL_MMH" Comment=^An example (template?) for a file it is recommended you create to front end "DEPT.MMH" and "COMPANY.MMH" for MSI creation. A large company could probably have two front ends, one for company options and branding and the other for individual team options and branding. See "DENNIS.MMH" for a more complex example (its actually what I use).^>
       <$Files "DENNIS.MMH"         EXLIST="XL_MMH" Comment=^A more complex branding and configuration file than "ME.MMH".^>
       <$Files "HotFix.MMH"         EXLIST="XL_MMH" Comment=^A hotfix framework (not automatically included by MAKEMSI). Definately "beta" code at best at this stage, please report improvements or issues.^>
       <$Files "FreeExtractor.MMH"  EXLIST="XL_MMH" Comment=^A MSI2EXE framework based on the open source FreeExtractor.^>
       <$Files "ListMsi.vbs"                       Comment=^useful script to list installed products.^>
       <$FileComment Comment="One of the many supporting MAKEMSI Header Files. Do not refer to this file in your scripts (other headers load these as required)!">
            <$Files "*.mmh"   EXLIST="XL_MMH" KeyFile="*">
            <$Files "AdsiDumpObject.H" Comment="Needed by ADSI.MMH">
       <$/FileComment>
   <$/cabinet>


   ;--- Used By DENNIS.MMH --------------------------------------------------
   <$cabinet "USED_BY_DENNIS_MMH">
       <$File Source="Aust_DB.bmp"         Comment=^My replacement bitmap for top right of install dialog.^>
       <$File Source="Aust_DB.ico"         Comment=^Sample icon as used by Dennis Bareis.^>
       <$File Source="LeftSide.bmp"        Comment=^My replacement bitmap for the left side of some dialogs (like "welcome" and "finish" dialogs).^>
       <$File Source="LeftSide-Dennis.bmp" Comment=^The graphic that "DENNIS.MMH" (my MSIs) use (please don't use.^>
       <$File Source="LeftSide-Purple.bmp" Comment=^A alternative graphic you can use.^>
       <$File Source="PrettyBanner.bmp"    Comment=^Replacement "white bar" on top of install dialogs.^>
   <$/cabinet>

   ;--- Add other support files, bitmaps, filters etc -----------------------
   <$cabinet "OTHER_MAIN_FILES">
       <$File Source="MM_SUPPORT_TEXT.txt"         Comment=^Used by "MM.CMD" which inserts basic support information into the "console" file (user can choose alternative text file for support informtion).^>
       <$File Source="PrettyMd5.VH"                Comment=^Common VBSCRIPT functions to create a pretty MD5 given an installer MD5 record.^>
       <$File Source="MakeMsi.FLT"                 Comment=^The base Windows Installer/msi validation filter (removed "stupid" messages we don't care about).^>
       <$File Source="white.bmp"                   Comment=^Replacement "white bar" on top of install dialogs.^>
       <$File Source="ErrorTemplates.TXT"          Comment=^The default "error templates" which are used to format standard Windows Installer errors if an MSI build fails.^>
       <$File Source="MmDefaultProductIcon.ico"    Comment=^Default Product Icon. I use one because I have seen a Windows Installer or Add remove bug cause the first icon to be used if no product icon defined!^>
       <$File Source="MmCustomSetup.ico"           Comment=^Better custom setup icon than that provided by "UISAMPLE.MSI".^>
       <$File Source="UiSample.msi"                Comment=^Template MSI used by "COMPANY.MMH".^>
       <$File Source="MsmTemplate-Schema-120.MSM"  Comment=^Template MSM used by "MAKEMSM.MMH".^>
       <$File Source="out\MonitorUninstallKey.VBS" Comment=^Used to report what install key a product uses.^>
       <$File Source="out\IisDumpMetaBase.VBS"     Comment=^Run via CSCRIPT to dump the IIS metabase (redirect output).^>
       <$File Source="iZip.exe"                    Comment=^INFO ZIP'S (zip.exe).^>
       <$File Source="<?=FindFile('HTMLPRE.IH')>" Comment=^Enables source code to be listed in the generated HTML report.^>
       <$FileComment Comment="Tests regular expressions">
            <$File source="out\RegularExpTestMm.hta">
            <$File source="RegularExpTestMm.ico">
       <$/FileComment>
   <$/cabinet>
<$/Component>


;----------------------------------------------------------------------------
;--- Some Shortcuts ---------------------------------------------------------
;----------------------------------------------------------------------------
<$Component "Shortcuts" Create="Y" Directory_="INSTALLDIR" CU="Y">
   ;--- OPEN Installation DIR Shortcut --------------------------------------
   <$DirectoryTree Key="SCDIR_MAKEMSI" Dir="[ProgramMenuFolder]\MakeMSI" Remove="Y">
   #(
       <$Shortcut
                   Dir="SCDIR_MAKEMSI"
                Target="[INSTALLDIR]"
                 Title="Open Installation directory"
            Description=^Opens the "MAKEMSI" installation directory.^
       >
   #)

   ;--- Just execute "MonitorUninstallKey.VBS" ------------------------------
   <$Icon KEY="@MonitorUninstallKey" ".\MonitorUninstallKey.ico">
   #(
       <$Shortcut
                   Dir="SCDIR_MAKEMSI"
                Target="[INSTALLDIR]MonitorUninstallKey.VBS"
                 Title="Watch Uninstall Keys"
           Description=^Very handy if you use the "WrapInstall" command! Compares uninstall keys from a BEFORE and AFTER snapshot.^
                  Icon="@MonitorUninstallKey"
       >
   #)

   ;--- Shortcut for Regular Expression Tester ------------------------------
   #(
       <$Shortcut
                   Dir="SCDIR_MAKEMSI"
                Target="[INSTALLDIR]RegularExpTestMm.hta"
                 Title="Regular expression tester"
           Description=^Tests regular Expressions you may wish to use in 'MsiValFilter' commands etc.^
                  Icon="@RegularExpTestMm.ico"
       >
   #)


   ;--- Some WEB directories ------------------------------------------------
   <$DirectoryTree Key="SCDIR_INTERNET_LINKS" Dir="[SCDIR_MAKEMSI]\Internet Links" Remove="Y">
   #(
       <$Shortcut
                   Dir="SCDIR_INTERNET_LINKS"
                Target="<$MAKEMSI_HOMEPAGE>"
                 Title="MAKEMSI Home Page"
           Description=^Opens the "MAKEMSI" homepage on the internet (<$MAKEMSI_HOMEPAGE>).^
       >
   #)
   #define PPWIZARD_HOMEPAGE <?PpwizardAuthorBaseWebDir>ppwizard.htm
   #(
       <$Shortcut
                   Dir="SCDIR_INTERNET_LINKS"
                Target="<$PPWIZARD_HOMEPAGE>"
                 Title="PPWIZARD Home Page"
           Description=^Opens the "PPWIZARD" homepage on the internet (<$PPWIZARD_HOMEPAGE>).^
       >
   #)
<$/Component>
#(
    ;--- Macro for Windows Installer doco link (I'm creating twice) ---------
    #define Link2WindowsInstallerDoco
    <$Component "ShortCutDocoWindowsInstaller_{$#1}" Create="Y" Directory_="INSTALLDIR" CU="Y">
       #(
           <$Shortcut
                       Dir="{$#1}"
                   Target="<$HTTP_MICROSOFT_MSI_WINDOWS_INSTALLER_REFERENCE>"
                     Title="Windows Installer Documentation"
               Description="Online documentation on Microsoft web site (has downloadable PDF)"
;;                    Icon="@Help"
                   WorkDir="INSTALLDIR"
           >
       #)
    <$/Component>
#)
<$Link2WindowsInstallerDoco "SCDIR_INTERNET_LINKS">




;----------------------------------------------------------------------------
;--- Operating specific files -----------------------------------------------
;----------------------------------------------------------------------------
<$cabinet "WINDOWS VERSION SPECIFIC FILES">
    <$Component "ForNT" Create="Y" Directory_="INSTALLDIR" Condition="not Version9X">
       <$File Source="MM.CMD"   KeyPath="Y" Comment='A small "sample" batch file to build an MSI (eventually I will also add explorer right click option for building MSIs).'>
       <$File Source="ConSetBuffer.exe"     Comment=^A free utility by Frank P. Westlake to set buffer size.^>
    <$/Component>
    <$Component "ForDOS" Create="Y" Directory_="INSTALLDIR" Condition="Version9X">
       <$File Source="MM9X.BAT" KeyPath="Y" Destination="MM.BAT"  Comment='A small "sample" batch file to build an MSI (eventually I will also add explorer right click option for building MSIs).'>
       <$File Source="MM9X.PPW" Comment='Used by MM9X.BAT (alias "MM.BAT").'>
    <$/Component>
<$/cabinet>


;----------------------------------------------------------------------------
;--- SAMPLES - ROOT DIR -----------------------------------------------------
;----------------------------------------------------------------------------
<$DirectoryTree Key="SAMPLESDIR"  Dir="[INSTALLDIR]\Samples">
    #define SAMPLESRELDIR_TRYME                   TryMe
    #define SAMPLESRELDIR_OTHER                   Other
    #define SAMPLESRELDIR_MAKEMSI_SOURCE          <$SAMPLESRELDIR_OTHER>\MakeMSI Source
    #define SAMPLESRELDIR_TRYME_CREATE_MSI        <$SAMPLESRELDIR_TRYME>\Create MSI Installers
    #define SAMPLESRELDIR_TRYME_CREATE_MSM        <$SAMPLESRELDIR_TRYME>\Create Merge Modules
    #define SAMPLESRELDIR_TRYME_CREATE_CUB        <$SAMPLESRELDIR_TRYME>\Create Validation Suites
    #define SAMPLESRELDIR_TRYME_UPDATE_DB         <$SAMPLESRELDIR_TRYME>\Update Databases (including MSI)
<$Component "SAMPLESDIR" Create="Y" Directory_="SAMPLESDIR">
   ;--- Readme.txt ----------------------------------------------------------
   <$ReadMe KeyFile=Y>
       This directory tree contains all example scripts or other files
       installed by MAKEMSI.

       I recommend that you at least have a quick look at each one as each
       one demonstrates something that others don't.


       DIRECTORY "<$SAMPLESRELDIR_TRYME_CREATE_MSI>"
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       This contains "TRYME.MM" and many other scripts that you can execute
       to build complete MSIs.
       Simply right click on any ".MM" file and select a build option.

       I highly recommend that you at least build the "TryMe.MM" MSI.


       DIRECTORY "<$SAMPLESRELDIR_TRYME_CREATE_MSM>"
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       If you are interested in building merge modules then this directory
       is for you!


       DIRECTORY "<$SAMPLESRELDIR_TRYME_CREATE_CUB>"
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       This directory contains a sample creation and/or update to an MSI
       validation suite.

       It demonstrates how to add your own validations.


       DIRECTORY "<$SAMPLESRELDIR_TRYME_UPDATE_DB>"
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       If you are more interested in the manipulation of already existing
       MSI (or other windows installer databases) then first build "TryMe.MM"
       (see above) then "run" the "Tweek.MM" script.

       This script manipulates an MSI but this could have been any type of
       windows Installer database. It also demonstates some pre and post
       processing.


       DIRECTORY "<$SAMPLESRELDIR_MAKEMSI_SOURCE>"
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       This contains the complete source for the MAKEMSI MSI you have
       installed. It is provided as a more complex example which demonstrates
       a number of interesting things.
   <$/ReadMe+ProgramFilesWarning>
<$/Component>

;----------------------------------------------------------------------------
;--- SAMPLES - TRYME/OTHER -------------------------------------------------
;----------------------------------------------------------------------------
<$DirectoryTree Key="SAMPLESDIR_TRYME"  Dir="[SAMPLESDIR]\<$SAMPLESRELDIR_TRYME>">
<$DirectoryTree Key="SAMPLESDIR_OTHER"  Dir="[SAMPLESDIR]\<$SAMPLESRELDIR_OTHER>">
<$Component "SAMPLESDIR_TRYME" Create="Y" Directory_="SAMPLESDIR_TRYME">
   ;--- Readme.txt ----------------------------------------------------------
   <$ReadMe KeyFile=Y>
       This directory tree contains scripts which in almost all cases can
       be immediately built without any effort.

       The odd one or two (as documented in any other "readme" may require
       some minor initialization to have taken place).
   <$/ReadMe+ProgramFilesWarning>
<$/Component>
<$Component "SAMPLESDIR_OTHER" Create="Y" Directory_="SAMPLESDIR_OTHER">
   ;--- Readme.txt ----------------------------------------------------------
   <$ReadMe KeyFile=Y>
       This directory tree contains scripts which I don't really expect you
       to be able to build (without major effort at least).

       The samples are provided purely as example code.
       DO NOT TRY TO BUILD THEM.
   <$/ReadMe+ProgramFilesWarning>
<$/Component>




;----------------------------------------------------------------------------
;--- SAMPLES - MAKEMSI SOURCE -----------------------------------------------
;----------------------------------------------------------------------------
#define MAKEMSI_SOURCECODE  makemsi.mm;makemsi.mm.h;makemsi.ver;LeftSide-MakeMsi.bmp;PossibleFalseAntiVirusAlerts.DH
#define MSIDIFF_SOURCECODE  msidiff.mm;msidiff.ver
<$DirectoryTree Key="SAMPLESDIR_MAKEMSI_SOURCE"  Dir="[SAMPLESDIR]\<$SAMPLESRELDIR_MAKEMSI_SOURCE>">
<$Component "SamplesMakeMsiSource" Create="Y" Directory_="SAMPLESDIR_MAKEMSI_SOURCE">
   ;--- Add the source ------------------------------------------------------
   <$Files "<$MAKEMSI_SOURCECODE>" Comment="This is the source actually used to build this MAKEMSI tool's MSI. It will fail if you try to use it..." KeyFile="*">
   <$Files "<$MSIDIFF_SOURCECODE>" Comment="This is the source actually used to build this MSIDIFF tool's MSI. It will fail if you try to use it..." KeyFile="*">

   ;--- Readme.txt ----------------------------------------------------------
   <$ReadMe>
       This directory contains the actual MAKEMSI source code used to build the
       currently installed release.

       You will not be able to successfully build this, it is provided as
       a sample only.

       For something as big as the MAKEMSI script if I wasn't trying to also
       provide it as a "real life" sample I'd have split it up into separate
       ".MMH" modules with at least each feature being in its own file.
   <$/ReadMe+ProgramFilesWarning>
<$/Component>


;----------------------------------------------------------------------------
;--- SAMPLES - TRYME MSI ----------------------------------------------------
;----------------------------------------------------------------------------
<$cabinet "TRYME SAMPLES">
    <$DirectoryTree Key="SAMPLESDIR_TRYME_CREATE_MSI"  Dir="[SAMPLESDIR]\<$SAMPLESRELDIR_TRYME_CREATE_MSI>">
    <$Component "SAMPLESDIR_TRYME_CREATE_MSI" Create="Y" Directory_="SAMPLESDIR_TRYME_CREATE_MSI">
       ;--- The samples ---------------------------------------------------------
       <$File Source="TryMe.MM"                            Comment=^A very simple sample and test script which you can try to build an MSI with. I recommend you try to build it before making any changes or building your own.^ KeyPath="Y">
       <$File Source="TryMeShortcuts.MM"                   Comment=^Demonstrates shortcut creation.^>
       <$File Source="TryMeDualPurposePackage-SupportsWinXP.MM"   Comment=^Single Package Authoring example.^>
       <$File Source="TryMeExtnAction.MM"                  Comment=^Demonstrates file association (and New shortcut) creation.^>
       <$File Source="TryMeExcelAddIn.MM"                  Comment=^A sample for adding an Excel add-in.^>
       <$File Source="TryMeExcelAddIn.xla"                 Comment=^The "TryMeExcelAddIn.MM" sample needs this.^>
       <$File Source="TryMeUpdateRegistry00-99.MM"         Comment=^Demonstrates finding a "suitable" registry location (conditional logic without custom action).^>
       <$File Source="TryMeTaskSchedules.MM"               Comment=^A sample that uses JT.EXE to create task schedules.^>
       <$File Source="TryMeTemplate-SimpleSchedule.MM"     Comment=^A sample uses "TEMPLATE_MSI-SimpleSchedule.MMH" to create a single scheduled task.^>
       <$File Source="TryMeUserInputUsed2CreateFile.MM"    Comment=^A sample that asks for user input at BUILD time.^>
       <$File Source="TryMeCreateIisSite.MM"               Comment=^A sample that demonstrates creating IIS web sites.^>
       <$File Source="TryMeDllCustomAction.MM"             Comment=^A sample that demonstrates a DLL custom action.^>
       <$File Source="TryMeUseMergeModule.MM"              Comment=^A sample which uses the merge module created with "TryMeCreateMergeModule.mm".^>
       <$File Source="TryMeWithUserDialog.MM"              Comment=^The same as "TryMe.MM" but also inserts a user dialog into the user interface.^>
       <$File Source="TryMeConditionDialogs.MM"            Comment=^Demonstrates conditional dialog flow.^>
       <$File Source="TryMeWithNonAdvShortcutPlusMore.MM"  Comment=^Most advanced sample installed, creates non-advertised shortcut plus demos other things.^>
       <$File Source="TryMeWithNoRootFeature.MM"           Comment=^Demonstrates disabling "complete" feature creation and so doco manipulations.^>
       <$File Source="TryMeWithMultipleMedia.MM"           Comment=^Demonstrates generating MSI with external CABs over myultiple media.^>
       <$File Source="TryMeWithFixedGuids.MM"                      Comment=^Demonstrates control over the GUIDs used (required if upgrade types other than "major" are desired).^>
       <$File Source="TryMeAddVersionKeywordAndLaunchCondition.MM" Comment=^Demonstrates adding a version file keyword and adding launch conditions via the VERSION file!^>
       <$File Source="TryMeLoadDirTreeMaintainingAttributes.MM"    Comment=^Demonstrates loading a whole tree of files while maintaining both file and folder attributes. It also recreates empty directories.^>
       <$File Source="TryMeCreate[START]OfMsiFromScratch.MM"       Comment=^Demonstrates creation of MSI with full control (no framework). It generates a partial MSI which will not install.^>
       <$File Source="TryMe.VER" Comment=^The version file for the sample/test scripts "TryMe.MM" and "TryMeShortcuts.MM" etc!^>
       <$File Source="TryMe.ICO" Comment=^Icon only used by the MSI created by "TryMeShortcuts.MM".^>
       <$File Source="TryMe.rtf" Comment=^Licence file (specified by "TryMe.ver").^>

       ;--- Readme.txt ----------------------------------------------------------
       <$ReadMe>
           This directory contains sample MSI creation scripts which you
           should be able to execute to successfully build a ".MSI" file
           Right click on the ".MM" file and select a build option.

           I suggest that since "TRYME.MM" is the simplest script that you
           try it first. All the scripts use the same "TryMe.VER" and other
           resources (as these would be near identical and are not what I
           am demonstrating).

           The scripts are supplied so that within minutes of installing
           MAKEMSI you should have been able to create your first working
           MSIs. Generally the hardest part with anything new is getting
           the first "item" working.
           Most scripts don't require any preparation but if any is required
           they will tell you.

           The scripts provide a working starting point which you can modify
           to test changes while you are learning MAKEMSI. When trying
           different commands you should expect error messages while learning,
           I have gone to a lot of work to provide enough detail with good
           messages so that you should be able to solve it. If not send me the
           script and error details and I'll probably improve it.

           MAKEMSI does not validate absolutely everything up front and so it
           is possible that a build will fail during the execution of the
           VBS it generates. If so it will identify the exact location which
           should enable you to work out what faulty imput you supplied on
           which command.
           As I detect these I am improving up front validation to remove them
           (on the theory that anything seen or reported may be a common issue
           deserving more and better validation).
           You are expected to test your MSI like any other piece of software,
           given the same script and environment MAKEMSI will consistently
           build a "correct" (or "wrong" MSI).
           Think of a compiler (Garbage in means Garbage out).
       <$/ReadMe+ProgramFilesWarning>
    <$/Component>
<$/cabinet>


;----------------------------------------------------------------------------
;--- SAMPLES - TRYME MSI (DUTCH) --------------------------------------------
;---------------------------------------------------------------------------
<$cabinet "TRYME SAMPLES - DUTCH">
    <$DirectoryTree Key="SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH"  Dir="[SAMPLESDIR_TRYME_CREATE_MSI]\Localisation to Dutch">
    <$Component "SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH" Create="Y" Directory_="SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH">
        ;--- The main files which I PVCS along with all others as individual files ---
        #define DUTCH.ZIP  .\Dutch.NLD.zip
        <$FilesExclude "<$DUTCH.ZIP>" EXLIST="DUTCH.ZIP">
        <$Files "*Dutch*" Comment=^Dutch localisation example file.^ KeyFile="*" EXLIST="DUTCH.ZIP">

       ;--- Readme.txt ----------------------------------------------------------
       <$ReadMe>
           This example shows how CF vd Berg localised the MSIs created by
           MAKEMSI for the dutch language.

           Its quite likely that there are still english strings that need
           translation or that MAKEMSI has changed since this example was
           created, Please use this example as a guide as how localisation
           can be done.
       <$/ReadMe+ProgramFilesWarning>
    <$/Component>
    <$MacroCfg "DEFAULT_ROW_VALIDATE_NO_WHERE" VALUE="FIELD">
        #define UNZIPPED_IMAGE_DIR   <$MAKEMSI_OTHER_DIR>\UnpackedZips\dutch.idt  ;;This directory ERASED then recreated
        <$UnzipImage ZipFile="<$DUTCH.ZIP>" Dir="<$UNZIPPED_IMAGE_DIR>">
        <$Files "<$UNZIPPED_IMAGE_DIR>\*.NLD" EXLIST="EX_NLDDIR" DESTDIR="SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH" SubDir="TREE" Comment=^Windows Installer ".IDT" files with dutch text, imported by "TryMe_Dutch.MM" to convert text from english.^>
        <$Files "<$UNZIPPED_IMAGE_DIR>\*.*"   EXLIST="EX_NLDDIR" DESTDIR="SAMPLESRELDIR_TRYME_CREATE_MSI_DUTCH" SubDir="TREE" Comment=^Part of the dutch example.^>
    <$/MacroCfg>
<$/cabinet>



;----------------------------------------------------------------------------
;--- SAMPLES - TRYME MSM (Merge Module) -------------------------------------
;----------------------------------------------------------------------------
<$DirectoryTree Key="SAMPLESDIR_TRYME_CREATE_MSM"  Dir="[SAMPLESDIR]\<$SAMPLESRELDIR_TRYME_CREATE_MSM>">
<$Component "SAMPLESDIR_TRYME_CREATE_MSM" Create="Y" Directory_="SAMPLESDIR_TRYME_CREATE_MSM">
    ;--- Sample Merge Modules -----------------------------------------------
    <$Files "TryMeCreateMergeModule.*" Comment="Simple Sample to create a merge module." KeyFile="*">

   ;--- Readme.txt ----------------------------------------------------------
   <$ReadMe>
       This directory contains sample merge module creation scripts which
       you should be able to execute to successfully build a ".MSM" file.
       Right click on the ".MM" file and select a build option.

       They are supplied so that within minutes of installing MAKEMSI you could
       have created your first working MSM.

       The scripts provide a working starting point which you can modify to test
       changes while you are learning MAKEMSI.
   <$/ReadMe+ProgramFilesWarning>
<$/Component>



;----------------------------------------------------------------------------
;--- SAMPLES - TRYME CUB (Validation Databases, for ORCA, MSIVAL2) ----------
;----------------------------------------------------------------------------
<$DirectoryTree Key="SAMPLESDIR_TRYME_CUB"  Dir="[SAMPLESDIR]\<$SAMPLESRELDIR_TRYME_CREATE_CUB>">
<$Component "SAMPLESDIR_TRYME_CUB" Create="Y" Directory_="SAMPLESDIR_TRYME_CUB">
    ;--- Sample Merge Modules -----------------------------------------------
       <$Files "ICE.mm"          Comment="Source for a working addition to normal MSI validations.">
       <$Files "IceAddToOrca.*"  Comment=^Used to Add the CUB generated by "ICE.MM" to the ORCA tool's menu.^>

   ;--- Readme.txt ----------------------------------------------------------
   <$ReadMe>
       The "ICE.MM" script builds a new validation suite based on an existing
       one.  It adds a single extra validation and does some other manipulation
       on the original database.

       Note that the "ICE.MM" script expects (by default) that MSIVAL2
       (from the platform SDK) has been installed to the
       "C:\Program Files\MsiVal2" directory.

       The generate CUB file is suitable for use by MSIVAL2.EXE or "ORCA.EXE".

       The "IceAddToOrca.MM" script takes the "CUB" file generated by "ICE.MM"
       and creates an MSI which when installed makes the CUB file available
       via Microsoft's ORCA tool.
   <$/ReadMe+ProgramFilesWarning>
<$/Component>



;----------------------------------------------------------------------------
;--- SAMPLES - UPDATE MSI ---------------------------------------------------
;----------------------------------------------------------------------------
<$DirectoryTree Key="SAMPLESDIR_TRYME_UPDATE_DB"  Dir="[SAMPLESDIR]\<$SAMPLESRELDIR_TRYME_UPDATE_DB>">
<$Component "SAMPLESDIR_TRYME_UPDATE_DB" Create="Y" Directory_="SAMPLESDIR_TRYME_UPDATE_DB">
   <$Files "Tweek.mm" Comment="Source for a script which makes one simple change to an MSI." KeyFile="*">

   ;--- Readme.txt ----------------------------------------------------------
   <$ReadMe>
       This directory contains sample scripts which update Windows Installer databases.

       Given that they need something to "work on", the "TRYME.MM" script must have
       been previously executed as this creates a database which the script will use.
   <$/ReadMe+ProgramFilesWarning>
<$/Component>


;----------------------------------------------------------------------------
;--- "Regression Test" SAMPLES ----------------------------------------------
;----------------------------------------------------------------------------
<$Component "SAMPLESDIR_REGRESSION_TESTS" Create="Y" Directory_="[SAMPLESDIR_OTHER]\Regression Tests">
   <$Files "RegressionTests*.*"   Comment="Regression Test source code.">

   ;--- Readme.txt ----------------------------------------------------------
   <$ReadMe>
       This contains sundry regression test scripts.
       I have installed them as they will also provide good examples.

       Feel free to send in any improvements...
   <$/ReadMe+ProgramFilesWarning>
<$/Component>


;----------------------------------------------------------------------------
;--- "OTHER SUNDRY" SAMPLES -------------------------------------------------
;----------------------------------------------------------------------------
<$DirectoryTree Key="SAMPLESDIR_OTHER_SUNDRY"  Dir="[SAMPLESDIR_OTHER]\Sundry">
<$Component "SAMPLESDIR_OTHER_SUNDRY" Create="Y" Directory_="SAMPLESDIR_OTHER_SUNDRY">
   <$Files "FixMergeModules.mm"   Comment="Source for a script which fixes some badly written Visual Studio .NET merge modules.">

   ;--- Readme.txt ----------------------------------------------------------
   <$ReadMe>
       This contains sundry scripts.

       I do not expect you to simply right click and build them
       (or in fact to build them at all), without performing appropriate
       modifications and work first.
   <$/ReadMe+ProgramFilesWarning>
<$/Component>
<$Component "SAMPLESDIR_OTHER_SERVICE" Create="Y" Directory_="[SAMPLESDIR_OTHER_SUNDRY]\Service">
   <$Files "VbscriptBasedService.*"  Comment="Installs a VBSCRIPT based program as a service.">

   ;--- Readme.txt ----------------------------------------------------------
   <$ReadMe>
       Complete script to install a VBSCRIPT based program as a service.

       You need to supply the "sc.exe" and "srvstart.exe" tools, MAKEMSI
       script expects to find (default locations):

       .\sc.exe
       .\srvstart.exe\srvstart.exe
       .\srvstart.exe\srvstart.dll
       .\srvstart.exe\logger.dll
   <$/ReadMe+ProgramFilesWarning>
<$/Component>
<$Component "SAMPLESDIR_OTHER_KB12345" Create="Y" Directory_="[SAMPLESDIR_OTHER_SUNDRY]\KB872942">
   <$Files "TryMeWindowsHotFix.MM"  Comment="Sample script for hotfix MSI creation (uses common version file).">


   ;--- Readme.txt ----------------------------------------------------------
   <$ReadMe>
       For this script to complete you must obtain/download the
       KB872942 hotfix EXE from Microsoft.

       As a further example see the "COMMON FILES" subdirectory, this is
       a proposed structure for organising your hotfixes.
       If you download "qfecheck.exe", then the extended state logging will
       automically be added.

       This hot fix (KB872942) requires WINXP SP2 to install.

       In a "real" script I would not use the line:

             <?Space>    <?Hash>evaluate ^^ ^call IncludePath 'COMMON FILES'^

       But use the "MAKEMSI_USER_FILES_PATH" or other external
       configuration to point MAKEMSI at common files...
   <$/ReadMe+ProgramFilesWarning>
<$/Component>
<$Component "SAMPLESDIR_OTHER_KB12345_COMMON_FILES" Create="Y" Directory_="[SAMPLESDIR_OTHER_SUNDRY]\KB872942\COMMON FILES">
   <$Files "HotFix4WinXpSp2.mmh"    Comment=^Used by "TryMeWindowsHotFix.MM"^>
   <$Files "HotFix4WinXpSp2.ver"    Comment=^Used by "HotFix4WinXpSp2.mmh" (at least by default).^>
<$/Component>


;----------------------------------------------------------------------------
;--- MSI Policies -----------------------------------------------------------
;----------------------------------------------------------------------------
<$DirectoryTree Key="MSI_POLICIES"  Dir="[INSTALLDIR]\Registry Policies">
<$Component "MSI_POLICIES" Create="Y" Directory_="MSI_POLICIES">
   <$File Source=^MsiLogging-ON.reg^  Comment="REGEDIT4 script to turn on verbose Windows Installer Logging (to temp directory)." KeyPath="Y">
   <$File Source=^MsiLogging-OFF.reg^ Comment="REGEDIT4 script to turn off Windows Installer Logging.">


   ;--- Readme.txt ----------------------------------------------------------
   <$ReadMe>
       This directory contains REGEDIT4 scripts to modify Windows Installer
       options.

       Simply double click (and confirm) to install.
   <$/ReadMe+ProgramFilesWarning>
<$/Component>



;----------------------------------------------------------------------------
;--- More Work --------------------------------------------------------------
;----------------------------------------------------------------------------
<$DirectoryTree Key="MORE_WORK"  Dir="[INSTALLDIR]\More Work (or help) Required">
<$Component "MORE_WORK" Create="Y" Directory_="MORE_WORK">
   ;--- Readme.txt ----------------------------------------------------------
   <$ReadMe KeyFile=Y>
       I've started or possibly nearly completed some work but am stuck...

       See the "MAKEMSI.HTM" documentation (via control panel if you wish)
       to see any info about particular files in this directory.

       Also see the "Regression tests", if you want to create or improve any
       then feel free!

       Contact me for more details if required...
   <$/ReadMe+ProgramFilesWarning>
<$/Component><$DirectoryTree Key="MORE_WORK_CAPTURE_SELF_REGISTRATION"  Dir="[MORE_WORK]\Capture of Self Registration Information">
<$Component "MORE_WORK_CAPTURE_SELF_REGISTRATION" Create="Y" Directory_="MORE_WORK_CAPTURE_SELF_REGISTRATION">
   <$File Source=^SelfRegImport.MMH^   Comment=^Uses "SelfRegCapture.exe" to capture registry, exports and manipulates output (Intended to be used to pupulate "Registry" table with captured info).^>
   <$File Source=^selfreg_.mmh^        Comment=^Include by "SelfRegImport.MMH".^>

   ;--- Supporting MM/VER file ------------------------------------------------
   <$FileMake "<$MAKEMSI_OTHER_DIR>\SelfReg.MM">
       <?SemiColon>--- Load MAKEMSI (via wrapper) --------------------------------------
       <?Hash>include "DEPT.MMH"

       <?NewLine>
       <?SemiColon>--- Load Unfinished supporting code ---------------------------------
       <?Hash>include "SelfRegImport.MMH"

       <?NewLine>
       <?SemiColon>--- Try Code --------------------------------------------------------
       <<?_>$SelfRegImport "..\..\MakeMSI.DLL" INSTALLEDNAME="[INSTALLDIR]\makemsi.dll">
   <$/FileMake>
   <$FileMake "<$MAKEMSI_OTHER_DIR>\SelfReg.VER">
        <?SemiColon>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        <?SemiColon> ProductName = SelfReg
        <?SemiColon> DESCRIPTION = SelfReg (contents of this file doesn't matter much).
        <?SemiColon> Installed   = WINDOWS_ALL
        <?SemiColon> Guid.UpgradeCode = {7FF333CB-3BB9-457D-831E-8482E50F2969}
        <?SemiColon>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        <?NewLine>

        <?SemiColon>############################################################################
        VERSION : 3.076.0000
        DATE    : 17 Mar 2003
        CHANGES : This is a fictional second release of this MSI.
   <$/FileMake>
   <$File Source="<$MAKEMSI_OTHER_DIR>\SelfReg.VER" Comment=^Supporting VER file, details irrelevant!^>
   <$File Source="<$MAKEMSI_OTHER_DIR>\SelfReg.MM"  Comment=^Test script to exercise code.^>

   ;--- Readme.txt ----------------------------------------------------------
   <$ReadMe>
       This demonstrates the capture of self registration information without
       actually self registering the executable and conversion of this to
       appropriate "Registry" commands.

       Build the "SelfReg.MM" script to test.
   <$/ReadMe+ProgramFilesWarning>
<$/Component>


;----------------------------------------------------------------------------
;--- Files for "MmValidate.VBS" ---------------------------------------------
;----------------------------------------------------------------------------
<$CompPerFile "out\MmValidate.VBS"    Comment='Used for command line or explorer based validation.'>
<$CompPerFile "FFFE.HEX"              Comment='Used by "MmValidate.VBS".'>
;**    [CommentBlockStart     (4 August 2017 10:59:34 AM, Dennis)
;**+----------------------------------------------------------------------
;**|#define DefaultFilterFile             <$MAKEMSI_OTHER_DIR>\MmValidate.FLT
;**|<$FileMake "<$DefaultFilterFile>">
;**|    #include "MakeMsi.FLT"
;**|    #ifdef MAKEMSI_FLT_VERSION
;**|           ;--- Remove the "I've already been included flag..." -------------
;**|           #undef MAKEMSI_FLT_VERSION
;**|    #elseif
;**|           #error ^I expected to see the "MAKEMSI_FLT_VERSION" macro defined!^
;**|    #endif
;**|<$/FileMake>
;**|<$CompPerFile "<$DefaultFilterFile>"  Comment='Default filter used by "MmValidate.VBS".'>
;**+----------------------------------------------------------------------
;**    CommentBlockEnd]       (4 August 2017 10:59:34 AM, Dennis)


;----------------------------------------------------------------------------
;--- Other bits -------------------------------------------------------------
;----------------------------------------------------------------------------
<$cabinet "OTHER BITS">
    <$CompPerFile "<$NAME_TEE.REX>"       Comment='Used during compile to capture cab compression details (for debugging only).'>
    <$CompPerFile "<$NAME_PPWIZARD.REX>"  Comment='The PPWIZARD tool. A very powerful preprocessor (also used to generate the MAKEMSI documentation).'>
    <$CompPerFile "<$NAME_REGINA.EXE>"    Comment='A renamed "regina.exe" (rexx interpreter), required by "PPWIZARD". File patched to load "<$NAME_REGINA.DLL>".'>
    <$CompPerFile "<$NAME_REGINA.DLL>"    Comment='A renamed "regina.dll", required by "<$NAME_REGINA.EXE>" (rexx interpreter)'>
    ;<$CompPerFile "out\MsiVal2Fix.VBS"   Comment='Used to touch up MSIVAL2.EXE output.'>  ;;VBSCRIPT can't reliably read the output
    <$CompPerFile "out\MmMD5.VBS"         Comment='Displays the MD5 hash for a file (useful for comparing against generated HTML reports).'>
    <$CompPerFile "out\MmLockFile.VBS"    Comment='Can be used to lock a file to test Windows Installer Installation etc.'>
    <$CompPerFile "out\OrcaView.VBS"      Comment='This tool is used for the right click MSI "view" option.'>
    <$CompPerFile "out\_LogView.VBS"      Comment='Not intended for user use (used internally).'>
    <$CompPerFile "out\_MM.VBS"           Comment='This is called via Explorer associations (used internally).'>
    <$CompPerFile "CTEXT.EXE"             Comment='If exists, "PPWIZARD" will use for coloured console output.'>
    <$CompPerFile "out\DelOlderRE.VBS"    Comment='Can be used by schedules etc to delete old log files etc.'>
    <$CompPerFile "<?=FindFile('FindMult.vbs', '!')>" Comment='Used to filter MSI validation results.'>
    <$CompPerFile "ShouldBeEmpty.vbs"             Comment=^Used to check if the generated file is empty (validation by MM.CMD).^>
    <$CompPerFile "StrFInfo.exe"                  Comment=^Used to dump executable file information in the HTML report (not used for MSI version information in "File" table). Also see "MmDocumentProperties.VBS".^>
    <$CompPerFile "out\MmDocumentProperties.VBS"  Comment=^Can be used to dump document properties of office or other files. Similar to "StrFInfo.exe"^>
    ;<$CompPerFile "D.T.Reg.zip"           Comment=^The enclosed EXE (DtReg.exe) is used by "SelfRegImport", you need to unzip into MAKEMSI directory yourself if you wish to use. Command line registry manipulation tool.<$AVRPT_DTREG_EXE>. Documentation for "DTREG.EXE" is included in the zip (licence requires it be included).^>
    <$CompPerFile "SelfRegCapture.exe"    Comment='Used by "SelfRegImport". Captures self registration info to HKCU\Software\RegSpy without registering the DLL etc.'>
<$/cabinet>


;----------------------------------------------------------------------------
;--- Put MsiSync.VBS in a "safe location" -----------------------------------
;----------------------------------------------------------------------------
<$Component "MsiSync" Create="Y" Directory_="[INSTALLDIR]\MsiSyncTool">
   <$File Source="out\MsiSync.VBS" KeyPath="Y" Comment='A tool which you can use to keep installed MSIs up to date. A common file share could be updated with many MSIs which you want all users to have installed on their boxes. When executed this tool will look at all MSIs in the same tree as the VBS and install if required.'>
   <$File Source="MsiSync.XML"                 Comment='"MsiSync.VBS" xml Configuration file which safely points to a non-existant directory. Good example.'>
   <$File Source="MsiSync.XSD"                 Comment='Style sheet for the "MsiSync.VBS" XML configuration file.'>

   ;--- Readme.txt ----------------------------------------------------------
   <$ReadMe KeyFile=Y>
       I have placed the "MSISYNC.VBS" in a directory of its own as people
       were executing it before they understood what it was and what it
       does!

       The program is documented in the MAKEMSI manual but basically it can
       be used to install one or many MSI files, it will "syncronise" your
       computer with the MSI's in the directory tree.
       It will uninstall and install as required and order of installation
       can be controlled.

       As a second "safety" feature I have put an invalid directory as the
       MSI source directory in the XML configuration file.
   <$/ReadMe+ProgramFilesWarning>
<$/Component>



;----------------------------------------------------------------------------
;--- Bug Diagnostics --------------------------------------------------------
;----------------------------------------------------------------------------
<$DirectoryTree Key="BUG_DIAGNOSTICS"  Dir="[INSTALLDIR]\Bug Diagnostics">
<$Component "BugDiagnostics" Create="Y" Directory_="BUG_DIAGNOSTICS">
    <$FileComment Comment="Can be used to test for a specific bug.">
        <$Files "BugDetectionForShortNameAttribute.vbs">
        <$Files "BugDetectionForRegExpFails.vbs">
        <$Files "BugDetectionForCreateObject.vbs">
        <$Files "$$$RunAllTests$$$.CMD" KeyFile="*">
    <$/FileComment>
    <$DirectoryTree Key="SCDIR_DIAGDIR" Dir="[SCDIR_MAKEMSI]\Diagnostics" Remove="Y">
    #(
       <$Shortcut
                   Dir="SCDIR_DIAGDIR"
               Feature="."                             ;;Advertise current
                 Title="General Script Tests"
           Description="Tests for assorted scripting issues I have seen."
                  Icon="@ScriptDiag.ico"
               WorkDir="BUG_DIAGNOSTICS"
       >
   #)


   ;--- Readme.txt ----------------------------------------------------------
   <$ReadMe>
       This directory contains bug detection code for some of the issues
       I have encountered and managed to create a simple detection script
       for.

       If you report an issue with MAKEMSI I may ask you to run one of
       these!
   <$/ReadMe+ProgramFilesWarning>
<$/Component>
<$DirectoryTree Key="DIAGDIR_ANTIVIRUS"  Dir="[BUG_DIAGNOSTICS]\Look4AntiVirusIssues">
<$Component "ShortCutDocoTestForAntiVirus" Create="Y" Directory_="DIAGDIR_ANTIVIRUS">
   <$File Source="OUT\_Anti.vbs" Comment='Run via shortcut to test for anti-virus or anti-spyware issues' KeyPath="Y">
   #(
       <$Shortcut
                   Dir="SCDIR_DIAGDIR"
               Feature="."                             ;;Advertise current
                 Title="Test for AntiVirus Issues"
           Description="Tests for antivirus or antispyware issues."
                  Icon="@Anti.ico"
               WorkDir="INSTALLDIR"
       >
   #)
<$/Component>





;----------------------------------------------------------------------------
;--- Doco Shortcuts ---------------------------------------------------------
;----------------------------------------------------------------------------
;@@@[ChmShortcutsDisplayedInMakeMsiDoco]@@@
<$cabinet "!">
    #(
       #define CHM
       The document is in Windows Compiled Help format and so
       has a contents, an index and can be searched.
    #)
    <$DirectoryTree Key="DOCODIR" Dir="[INSTALLDIR]\Documentation">
    <$Icon KEY="@Help" ".\help.ico">
    <$Component "ShortCutDocoMAKEMSI" Create="Y" Directory_="DOCODIR">
       <$DirectoryTree Key="SCDIR_DOCO" Dir="[SCDIR_MAKEMSI]\Documentation" Remove="Y">
       <$File Source="OUT\DOCO\MakeMsi\MakeMsi.chm" Comment='MAKEMSI documentation. <$CHM>' KeyPath="Y">
       #(
           <$Shortcut
                       Dir="SCDIR_DOCO"
                   Feature="."                             ;;Advertise current
                     Title="MAKEMSI's Documentation"
               Description="Documents the MAKEMSI tool (version <$ProductVersion>)."
                      Icon="@Help"
                   WorkDir="INSTALLDIR"

           >
       #)
    <$/Component>
<$/cabinet>
;@@@[ChmShortcutsDisplayedInMakeMsiDoco]@@@
<$Component "ShortCutDocoPPWIZARD" Create="Y" Directory_="DOCODIR">
   <$File Source="ppwizard.chm" Comment=^PPWIZARD's documentation. <$CHM>^ KeyPath="Y">
   #(
       <$Shortcut
                   Dir="SCDIR_DOCO"
               Feature="."                             ;;Advertise current
                 Title="PPWIZARD's Documentation"
           Description="Documents the PPWIZARD tool"
                  Icon="@Help"
               WorkDir="INSTALLDIR"
       >
   #)
<$/Component>
<$Component "ShortCutDocoReginaRexx" Create="Y" Directory_="DOCODIR">
   <$File Source="Rexx (regina).chm" Comment=^Regina's (rexx interpreter) documentation. <$CHM>^ KeyPath="Y">
   #(
       <$Shortcut
                   Dir="SCDIR_DOCO"
               Feature="."                             ;;Advertise current
                 Title="Regina's (rexx interpreter) Documentation"
           Description="Documents the PPWIZARD tool"
                  Icon="@Help"
               WorkDir="INSTALLDIR"
       >
   #)
<$/Component>
<$Link2WindowsInstallerDoco "SCDIR_DOCO">
<$Component "ShortCutLicence" Create="Y" Directory_="DOCODIR">
   <$File Source="MakeMsi.Licence.RTF" Destination="Licence.rtf" Comment='The MAKEMSI licence file you agreed to during the install.' KeyPath="Y">
   <$Icon KEY="@Licence" ".\licence.ico">
   #(
       <$Shortcut
                   Dir="SCDIR_DOCO"
               Feature="."                             ;;Advertise current
                 Title="The MAKEMSI Licence"
           Description="You agreed to this licence during the install!"
                  Icon="@Licence"
               WorkDir="INSTALLDIR"
       >
   #)
<$/Component>


;----------------------------------------------------------------------------
;--- OPEN "SAMPLES" Folder Shortcut -----------------------------------------
;----------------------------------------------------------------------------
<$Icon KEY="@OSAMPLES" ".\OSamples.ico">
<$Component "ShortCutOpenSamples" Create="Y" Directory_="INSTALLDIR">
   <$File Source="out\OSamples.vbs" Comment='Opens the "samples" folder (your code is copied here).' KeyPath="Y">
   #(
       <$Shortcut
                   Dir="SCDIR_MAKEMSI"
               Feature="."                             ;;Advertise current
                 Title="Samples|Open YOUR SAMPLES directory"
           Description=^Opens YOUR "samples" folder (your code is copied here if you have defined its location).^
                  Icon="@OSAMPLES"
               WorkDir="INSTALLDIR"
       >
   #)
<$/Component>


;----------------------------------------------------------------------------
;--- NEW GUID ShortCut ------------------------------------------------------
;----------------------------------------------------------------------------
<$Icon KEY="@MmWiGuid" ".\MmWiGuid.ico">
<$Component "ShortCutMmWiGuid" Create="Y" Directory_="INSTALLDIR">
   <$File Source="out\MmWiGuid.vbs" Comment='Simple tool to create Windows Installer Guids, useful if you wish to specify guids in the VER file.' KeyPath="Y">
   #(
       <$Shortcut
                   Dir="SCDIR_MAKEMSI"
               Feature="."                             ;;Advertise current
                 Title="MmWiGuid|GUID Generation"
           Description="Generates new GUIDs which you can cut and paste into your code."
                  Icon="@MmWiGuid"
               WorkDir="INSTALLDIR"
       >
   #)
<$/Component>


;----------------------------------------------------------------------------
;--- Show Windows Installer Version -----------------------------------------
;----------------------------------------------------------------------------
<$Icon KEY="@VersionInformationBox" ".\VersionInformationBox.ico">
<$Component "ShortCutVersionInformationBox" Create="Y" Directory_="INSTALLDIR">
   <$File Source="out\VersionInformationBox.vbs" Comment='Simple tool to create Windows Installer Guids, useful if you wish to specify guids in the VER file.' KeyPath="Y">
   #(
       <$Shortcut
                   Dir="SCDIR_MAKEMSI"
               Feature="."                             ;;Advertise current
                       Title="Versions|Display Versions"
           Description="Display Windows, WSH & Windows Installer version information."
                  Icon="@VersionInformationBox"
               WorkDir="INSTALLDIR"
       >
   #)
<$/Component>



;----------------------------------------------------------------------------
;--- Mangle/Unmangle GUIDs --------------------------------------------------
;----------------------------------------------------------------------------
<$Icon KEY="@Mangled" ".\_Mangled.ico">
<$Component "ShortCutMangled" Create="Y" Directory_="INSTALLDIR">
   <$File Source="out\_Mangled.vbs" KeyPath="Y" Comment=^Converts GUIDs between MSI and "mangled" formats.^>
   #(
       <$Shortcut
                   Dir="SCDIR_MAKEMSI"
               Feature="."                             ;;Advertise current
                 Title="GUID Conversion"
           Description="Converts between MSI and mangled GUID formats."
                  Icon="@Mangled"
               WorkDir="INSTALLDIR"
       >
   #)
<$/Component>


;----------------------------------------------------------------------------
;--- Environment/path setup -------------------------------------------------
;----------------------------------------------------------------------------
<$Component "ENVIRONMENT_AND_REGISTRY_4_DOS" Condition="Version9X" Create="Y" Directory_="INSTALLDIR">
   ;--- Update the "PATH" ---------------------------------------------------
   <$Path '"[INSTALLDIR]"'>        ;;Dos requires quotes around directory, example "@PATH=blah;..." will fail if quotes missing)

   ;--- Component Key path --------------------------------------------------
   #(
       <$Registry
              HKEY="LOCAL_MACHINE"
               KEY="Software\MAKEMSI\KeyPaths"
              NAME="ENVIRONMENT_AND_REGISTRY_4_DOS"
           KEYPATH="Y"
       >
   #)
<$/Component>
<$Component "ENVIRONMENT_AND_REGISTRY_4_NT" Condition="not Version9X" Create="Y" Directory_="INSTALLDIR">
   ;--- Update the "PATH" ---------------------------------------------------
   <$Path '[INSTALLDIR]'>          ;;No special requirements for NT based

   ;--- Set up PATHEXT so Windows can find the rexx code --------------------
   <$Path ".<$EXTN_REXX>" NAME="PATHEXT">

   ;--- Component Key path --------------------------------------------------
   #(
       <$Registry
              HKEY="LOCAL_MACHINE"
               KEY="Software\MAKEMSI\KeyPaths"
              NAME="ENVIRONMENT_AND_REGISTRY_4_NT"
           KEYPATH="Y"
       >
   #)
<$/Component>
<$Component "ENVIRONMENT_AND_REGISTRY" Create="Y" Directory_="INSTALLDIR">
   ;--- Point to the install directory --------------------------------------
   <$Environment NAME="MAKEMSI_DIR" VALUE="[INSTALLDIR]">

   ;--- Point to the default location (users should not update, override macro instead) ---
   <$Environment NAME="MAKEMSI_MSIVAL2_DIR" VALUE="[ProgramFilesFolder]MSIVAL2">

   ;--- Tell "MSIDIFF" where a default MSI template is ----------------------
   <$Environment NAME="MAKEMSI_DB_COMPARE_TEMPLATE.MSI" VALUE="[INSTALLDIR]UiSample.MSI">

   ;--- Help PPWIZARD find the MAKEMSI headers ------------------------------
   <$Path "[INSTALLDIR]"  NAME="PPWIZARD_INCLUDE">

   ;--- Help regina find rexx code ------------------------------------------
   <$Path "[INSTALLDIR]"  NAME="REGINA_MACROS">

   ;--- Regina 3.3 RC2 is OK ------------------------------------------------
   ;<$Path "3.3RC2(MT)"  NAME="PPWIZARD_TEST_REGINA_VER" Delimiter=",">
   ;<$Path "3.3(MT)" NAME="PPWIZARD_TEST_REGINA_VER" Delimiter=",">
   <$Path "3.3(JULIAN)(MT)" NAME="PPWIZARD_TEST_REGINA_VER" Delimiter=",">

   ;--- Set up association for our "unusual" rexx code extension ------------
   <$File Destination="<$4MM.ICO>" Source="4mm.ico"  Comment="Icon for .4MM files (rexx files for MAKEMSI)." cabinet="!">
   #(
       ;--- ".REX" association ----------------------------------------------
       <$Registry
           HKEY="CLASSES_ROOT"
               KEY=".<$EXTN_REXX>"
           VALUE="<$REXX_ProgID>"
           KEYPATH="Y"
       >
   #)
   #(
       ;--- ".REX" ftype ----------------------------------------------------
       <$Registry
                   HKEY="CLASSES_ROOT"
                    KEY="<$REXX_ProgID>\Shell\Open\Command"
                  VALUE=^"[INSTALLDIR]<$NAME_REGINA.EXE>" "%1" %*^
           MsiFormatted="VALUE"
       >
   #)
   #(
       ;--- The ICON --------------------------------------------------------
       <$Registry
                   HKEY="CLASSES_ROOT"
                    KEY="<$REXX_ProgID>\DefaultIcon"
                  VALUE=^[INSTALLDIR]<$4mm.ico>^
           MsiFormatted="VALUE"
       >
   #)
   <$Registry HKEY="CLASSES_ROOT" KEY="<$REXX_ProgID>\AlwaysShowExt" VALUE=^^>
<$/Component>


;----------------------------------------------------------------------------
;--- Handle/create ".RE4MM" files -------------------------------------------
;----------------------------------------------------------------------------
<$Component "ForNT_RE4MM" Create="Y" Directory_="INSTALLDIR" Condition="not Version9X">
    ;--- Add the "program" file ---------------------------------------------
    <$File Source="_re4mm.cmd" Comment=^Batch file to convert a regedit4 formatted file to MAKEMSI format (used via Explorer).^>
    <$File Source="re4mm.p"    Comment=^PPWIZARD script used by "_re4mm.cmd".^>

    ;--- Add the ICON files -------------------------------------------------
    <$File Destination="<$RE4MM.ICO>"  Source="re4mm.ico"   Comment=^Icon for .RE4MM files (exported ".reg" files converted to MAKEMSI format).^ cabinet="!">

    ;--- Open ".RE4MM" files in a Text editor -------------------------------
    <$Extn ".RE4MM" ProgId="RE4MM" KEYPATH="Y" Description="Converted REGEDIT4 registry file" Icon="[INSTALLDIR]<$re4mm.ico>" AlwaysShow="Y">
        <$ExtnAction Key="Open" Description="Edit RE4MM file" Command=^[DEFAULT_TEXT_EDITOR_CMDLINE]^>
    <$/Extn>

    ;--- How to create ".RE4MM" files ---------------------------------------
    <$Extn ProgId="regfile">
    #(
        <$ExtnAction
                    Key="ZZZConvertToMakeMsiFormat"
            Description="Convert to MAKEMSI format"
                Command=^"[INSTALLDIR]_RE4MM.CMD" %1^
        >
    #)
    <$/Extn>
<$/Component>




;----------------------------------------------------------------------------
;--- Handle/create ".INIMM" files -------------------------------------------
;----------------------------------------------------------------------------
<$Component "ForNT_INIMM" Create="Y" Directory_="INSTALLDIR" Condition="not Version9X">
    ;--- Add the "program" file ---------------------------------------------
    <$File Source="_IniMM.cmd" Comment=^Batch file to convert a .INI file to MAKEMSI format (used via Explorer).^>
    <$File Source="IniMM.p"    Comment=^PPWIZARD script used by "_IniMM.cmd".^>

    ;--- Add the ICON files -------------------------------------------------
    <$File Destination="<$IniMM.ICO>"  Source="inimm.ico"   Comment=^Icon for .INIMM files (exported ".ini" files converted to MAKEMSI format).^ cabinet="!">

    ;--- Open ".RE4MM" files in a Text editor -------------------------------
    <$Extn ".INIMM" ProgId="INIMM" KEYPATH="Y" Description="Converted INI file (MAKEMSI formatted)" Icon="[INSTALLDIR]<$inimm.ico>" AlwaysShow="Y">
        <$ExtnAction Key="Open" Description="Edit INIMM file" Command=^[DEFAULT_TEXT_EDITOR_CMDLINE]^>
    <$/Extn>

    ;--- How to create ".RE4MM" files ---------------------------------------
    <$Extn ProgId="inifile">
    #(
        <$ExtnAction
                    Key="ZZZConvertToMakeMsiFormat"
            Description="Convert to MAKEMSI format"
                Command=^"[INSTALLDIR]_INIMM.CMD" %1^
        >
    #)
    <$/Extn>
<$/Component>


;----------------------------------------------------------------------------
;--- Handle/create ".IDT" files ---------------------------------------------
;----------------------------------------------------------------------------
<$Component "ForNT_IDT2DEFN" Create="Y" Directory_="INSTALLDIR" Condition="not Version9X">
    ;--- Add the "program" file ---------------------------------------------
    <$File Source="out\_ExportDb.VBS" Comment='Exports a windows Installer database to .IDT (extracts binaries).<$AVRPT_EXPORTDB_VBS>' KeyPath="Y">
    <$File Source="_IDT2DEFN.cmd"     Comment=^Batch file to convert .IDT files to MAKEMSI table definitions format (used via Explorer).^>
    <$File Source="IDT2DEFN.p"        Comment=^PPWIZARD script used by "_IDT2DEFN.cmd".^>

    ;--- Open ".MmTable" files in a Text editor -----------------------------
    <$File Destination="<$IDT.ICO>"  Source="IDT.ICO"   Comment=^Icon for .RE4MM files (exported ".reg" files converted to MAKEMSI format).^ cabinet="!">
    <$Extn ".MmTable" ProgId="MmTable" KEYPATH="Y" Description="MAKEMSI TableDefinition" Icon="[INSTALLDIR]<$IDT.ICO>" AlwaysShow="Y">
        <$ExtnAction Key="Open" Description="Edit TABLE DEFINITION file" Command=^[DEFAULT_TEXT_EDITOR_CMDLINE]^>
    <$/Extn>

    ;--- How to handle .IDT files -------------------------------------------
    <$Extn ProgId=".idt">
        <$ExtnAction Key="Open"                        Description="Edit TABLE DEFINITION file"    Command=^[DEFAULT_TEXT_EDITOR_CMDLINE]^>
        <$ExtnAction Key="ZZZConvertToMakeMsiTableDef" Description="Convert to MAKEMSI Table Defn" Command=^"[INSTALLDIR]_IDT2DEFN.CMD" %1^>
    <$/Extn>

    ;--- How are ".IDT" generated -------------------------------------------
    #{  SET ^TYPE={ }<$MSI_DATABASE_TYPES> Msi.Patch^
       ;--- Create a component for each type --------------------------------
       <$Component "RIGHT_CLICK_MSIEXPORT_<??SET_TYPE>_ALL" Create="Y" Directory_="INSTALLDIR">
           ;--- Export whole database ---------------------------------------
           #(
               <$Registry
                      HKEY="CLASSES_ROOT"
                       KEY="<??SET_TYPE>\shell\Z_MAKEMSI_38_MSIEXPORT"
                     VALUE="Export to .IDT"
                   KEYPATH="Y"
               >
           #)
           #(
               <$Registry
                       HKEY="CLASSES_ROOT"
                        KEY="<??SET_TYPE>\shell\Z_MAKEMSI_38_MSIEXPORT\command"
                      VALUE='"[WSCRIPT.EXE]" "[INSTALLDIR]_ExportDB.VBS" "%1"'
               MsiFormatted="VALUE"
               >
           #)
       <$/Component>
   #}
<$/Component>



;----------------------------------------------------------------------------
;--- PERUSER.VBS ------------------------------------------------------------
;----------------------------------------------------------------------------
<$Component "PerUser.VBS" Create="Y" Directory_="INSTALLDIR">
    <$File Source="out\PerUser.VBS"      Comment=^VBSCRIPT which will report per user installed products and identify the users (used SidToName.exe if available).^ KeyPath="Y">
    <$File Source="SidToName.exe"  Comment=^Free program from www.joeware.net (used by PerUser.VBS)^>
<$/Component>




;----------------------------------------------------------------------------
;--- MAKEMSI .MM , .MMH etc -------------------------------------------------
;----------------------------------------------------------------------------
#(
   <$Feature "MakeMsiAssociations"
            Directory_="INSTALLDIR"
                 Title="Associate .MM, .MMH & .VER"
           Description="MAKEMSI .MM, .MMH & .VER associations.
                        Allow you to easily edit scripts
                        and generate MSIs etc."
;;               Level="5"         ;;Not installed by default
   >
#)
   ;--- Work out the default text editor ------------------------------------
   <$FIND_DEFAULT_TEXT_EDITOR_CMDLINE>

    ;--- Set up some "right click" actions -----------------------------------
    <$Component "MakeMsiAssociations" Create="Y" Directory_="INSTALLDIR">
        ;--- Add the ICON files ---------------------------------------------
        <$File Destination="<$MM.ICO>"  Source="mm.ico"   Comment="Icon for .MMH files" cabinet="!">
        <$File Destination="<$MMH.ICO>" Source="mmh.ico"  Comment="Icon for .MM files"  cabinet="!">
        <$File Destination="<$VER.ICO>" Source="ver.ico"  Comment="Icon for .VER files" cabinet="!">

        ;--- Set up the associations ----------------------------------------
        <$Extn ".MM" ProgId="MAKEMSI.MM" KEYPATH="Y" Description="<$PROGID_MAKEMSI_MM>" Icon="[INSTALLDIR]<$mm.ico>" AlwaysShow="Y">
            <$ExtnAction Key="Open"           Description="Edit MAKEMSI Script"     Command=^[DEFAULT_TEXT_EDITOR_CMDLINE]^>
            <$ExtnAction Key="ZZ_100_Build_D" Description="Build MSI - Development" Command=^"[WSCRIPT.EXE]" "[INSTALLDIR]_MM.VBS" "%1" D^>
            <$ExtnAction Key="ZZ_100_Build_P" Description="Build MSI - Production"  Command=^"[WSCRIPT.EXE]" "[INSTALLDIR]_MM.VBS" "%1" P^>
        <$/Extn>
        <$Extn ".MMH" ProgId="MAKEMSI.MMH" Description="<$PROGID_MAKEMSI_MMH>" Icon="[INSTALLDIR]<$mmh.ico>" AlwaysShow="Y">
            <$ExtnAction Key="Open" Description="Edit MAKEMSI Header" Command=^[DEFAULT_TEXT_EDITOR_CMDLINE]^ >
        <$/Extn>
        <$Extn ".VER" ProgId="MAKEMSI.VER" Description="MAKEMSI Product/Version File" Icon="[INSTALLDIR]<$ver.ico>" AlwaysShow="Y">
            <$ExtnAction Key="Open" Description="Edit Product/Version FILE" Command=^[DEFAULT_TEXT_EDITOR_CMDLINE]^ >
        <$/Extn>
   <$/Component>
<$/Feature>



;----------------------------------------------------------------------------
;--- RIGHT CLICK Option for VIEWING with ORCA -------------------------------
;----------------------------------------------------------------------------
#(
   <$Feature "ViewMsiInOrca"
            Directory_="INSTALLDIR"
                 Title="View MSI in ORCA"
           Description="Right Click Explorer option.
                        Allows you to view a file without Orca
                        updating it (even when you don't change anything)!"
;;               Level="5"         ;;Not installed by default
   >
#)
   ;--- Set up some "right click" actions -----------------------------------
   <$Component "RIGHT_CLICK_ORCAVIEW" Create="Y" Directory_="INSTALLDIR">
       #{  SET ^TYPE={ }<$MSI_DATABASE_TYPES>^
           #(
               <$Registry
                   HKEY="CLASSES_ROOT"
                       KEY="<??SET_TYPE>\shell\Z_MAKEMSI_10_ORCA_VIEW"
                   VALUE="VIEW With Orca"
                   KEYPATH="Y"
               >
           #)
           #(
               <$Registry
                       HKEY="CLASSES_ROOT"
                        KEY="<??SET_TYPE>\shell\Z_MAKEMSI_10_ORCA_VIEW\command"
                      VALUE='"[WSCRIPT.EXE]" "[INSTALLDIR]OrcaView.VBS" "%1" %*'
               MsiFormatted="VALUE"
               >
           #)
       #}
   <$/Component>
<$/Feature>



;----------------------------------------------------------------------------
;--- RIGHT CLICK Option for MSI/MSM Validation ------------------------------
;----------------------------------------------------------------------------
#(
   <$Feature "MmValidate"
            Directory_="INSTALLDIR"
                 Title="Validate MSI/MSM"
           Description="Right Click Explorer option.
                        Allows you to verify an MSI or merge module."
;;               Level="5"         ;;Not installed by default
   >
#)
   ;--- Set up some "right click" actions -----------------------------------
   <$Component "RIGHT_CLICK_MMVALIDATE" Create="Y" Directory_="INSTALLDIR" Condition="not Version9X">
       #{  SET ^TYPE={ }<$PROGIDS_MSI> <$PROGIDS_MSM>^
           #(
               <$Registry
                   HKEY="CLASSES_ROOT"
                       KEY="<??SET_TYPE>\shell\Z_MAKEMSI_15_MMVALIDATE"
                   VALUE="Validate It"
                   KEYPATH="Y"
               >
           #)
           #(
               <$Registry
                       HKEY="CLASSES_ROOT"
                        KEY="<??SET_TYPE>\shell\Z_MAKEMSI_15_MMVALIDATE\command"
                      VALUE='"[CSCRIPT.EXE]" //NoLogo "[INSTALLDIR]MmValidate.VBS" /ErrorsInMsgBox "%1"'
               MsiFormatted="VALUE"
               >
           #)
       #}
   <$/Component>
<$/Feature>



;----------------------------------------------------------------------------
;--- RIGHT CLICK Option -> New Command prompt -------------------------------
;----------------------------------------------------------------------------
#define NEW_CMD_PROMPT_KEY   aaaa-NewCmdPrompt
#(
   <$Feature "NewCommandPrompt"
            Directory_="INSTALLDIR"
                 Title="New Command Prompt"
           Description="Right Click -> NEW Command Prompt Explorer option.
                        Allows you to open a command prompt easily!"
;;               Level="5"         ;;Not installed by default
   >
#)
   ;--- Set up some "right click" actions -----------------------------------
   <$Component "RIGHT_CLICK_NEW_CMDPROMPT" Create="Y" Directory_="INSTALLDIR" Condition="not Version9X">
       #(
           ;--- Need to define an extension (use "dummy") -------------------
           <$Registry
               HKEY="CLASSES_ROOT"
                KEY=".<$NEW_CMD_PROMPT_KEY>"
              VALUE="<$NEW_CMD_PROMPT_KEY>"
               KEYPATH="Y"
           >
       #)
       #(
           ;--- The "NEW" command to execute --------------------------------
           <$Registry
               HKEY="CLASSES_ROOT"
                KEY=".<$NEW_CMD_PROMPT_KEY>\ShellNew"
               NAME="Command"
              VALUE=^"%COMSPEC%" /K ""[INSTALLDIR]CmdPrompt.cmd" "%1""^
       MsiFormatted="VALUE"
           >
       #)
       <$File Source="CmdPrompt.ico"  Destination="<$CMDPROMPT.ICO>" Comment="Icon for New->Command Prompt" cabinet="!">
       <$File Source="CmdPrompt.cmd"                                 Comment="Command for New->Command Prompt">
       #(
           ;--- "NEW" descriptive text --------------------------------------
           <$Registry
               HKEY="CLASSES_ROOT"
                KEY="<$NEW_CMD_PROMPT_KEY>"
              VALUE=^Command Prompt (here)^
           >
       #)
       #(
           ;--- The "NEW" icon ----------------------------------------------
           <$Registry
               HKEY="CLASSES_ROOT"
                KEY="<$NEW_CMD_PROMPT_KEY>\DefaultIcon"
              VALUE=^[INSTALLDIR]<$CmdPrompt.ico>^
       MsiFormatted="VALUE"
           >
       #)
       #(
           ;--- WIN2000 needs "OPEN" entry for "NEW" item to appear ---------
           <$Registry
               HKEY="CLASSES_ROOT"
                KEY="<$NEW_CMD_PROMPT_KEY>\Shell\Open\Command"
              VALUE=^"%COMSPEC%" /c echo **** OOPS: %1• & pause^  ;;Anything will do (extension never used)
       MsiFormatted="VALUE"
           >
       #)


   <$/Component>
<$/Feature>



;----------------------------------------------------------------------------
;--- RIGHT CLICK MSI LOGGING Options ----------------------------------------
;----------------------------------------------------------------------------
#(
   <$Feature "MsiVerboseLogging"
            Directory_="INSTALLDIR"
                 Title="Verbose MSI/MSP Logging"
           Description="Right Click Explorer option.
                        Very useful for diagnosing install problems.
                        Highly recommended."
;;               Level="5"         ;;Not installed by default
   >
#)
   ;--- Set up some "right click" actions -----------------------------------
   #(
        #define VERBOSE_LOGGING
        #(
           <$Registry
               HKEY="CLASSES_ROOT"
                   KEY="{$#1}\shell\Z_MAKEMSI_20_INSTALL_VERBOSE"
               VALUE="Install - &VERBOSE Logging!"
           >
       #)
       #(
           <$Registry
                   HKEY="CLASSES_ROOT"
                    KEY="{$#1}\shell\Z_MAKEMSI_20_INSTALL_VERBOSE\command"
                  VALUE='"[SystemFolder]msiexec.exe" {$Switches} "%1" /l*v "%1.MsiLog" %*'
           MsiFormatted="VALUE"
                KEYPATH="Y"
           >
       #)
   #)
   <$Component "RIGHT_CLICK_VERBOSE" Create="Y" Directory_="INSTALLDIR">
        <$Registry HKEY="CLASSES_ROOT" KEY=".MsiLog" VALUE="txtfile" KeyPath="Y">
        <$VERBOSE_LOGGING "Msi.Patch"   Switches="/p">
        <$VERBOSE_LOGGING "Msi.Package" Switches="/i">
   <$/Component>
<$/Feature>




;----------------------------------------------------------------------------
;--- RIGHT CLICK MSI MENU Options ----------------------------------------
;----------------------------------------------------------------------------
#(
   <$Feature "MsiRightClickMenu"
            Directory_="INSTALLDIR"
                 Title="MSI Menu"
           Description="Right Click Explorer option.
                        Very useful for diagnosing install problems.
                        Highly recommended."
;;               Level="5"         ;;Not installed by default
   >
#)
   ;--- Set up some "right click" actions -----------------------------------
   #(
        #define MSI_MENU
        #(
           <$Registry
                HKEY="CLASSES_ROOT"
                 KEY="{$#1}\shell\Z_MAKEMSI_25_MSI_MENU"
               VALUE="MSI MENU..."
           >
       #)
       #(
           <$Registry
                   HKEY="CLASSES_ROOT"
                    KEY="{$#1}\shell\Z_MAKEMSI_25_MSI_MENU\command"
                  VALUE='"[MSHTA_EXE]" "[INSTALLDIR]MsiExecMm.hta" (=)%1(=)[INSTALLDIR]MenuMsi.INI(=)'
           MsiFormatted="VALUE"
                KEYPATH="Y"
           >
       #)
   #)
   <$FileFind File="Mshta.EXE" Property="MSHTA_EXE" Default="!" PATH="[SystemFolder]" Depth="0">
   #define CONDITION_CAN_USE_HTA            VersionNT and MSHTA_EXE
   <$Component "RIGHT_CLICK_VERBOSE.CMD" Create="Y" Directory_="INSTALLDIR" Condition="<$CONDITION_CAN_USE_HTA>">
       <$MSI_MENU "Msi.Package">
       <$IniFile "MenuMsi.INI" DIR="[INSTALLDIR]">
           <$IniSection "MAKEMSI">
                #define MmMenuItem  <$Ini #1=^{$SortKey}^ Value=^{$Visible}|{$Cmd}^>
                ;----[4DocoMmMenuItems]---
                <$MmMenuItem SortKey=^Install^               Visible=^Normal Installation^                          Cmd=^{?:MSIEXEC.EXE} /i "{?}" /l*v "{?}.INST.MsiLog"^>
                <$MmMenuItem SortKey=^Install-10-Silent^     Visible=^Basic Installation^                           Cmd=^{?:MSIEXEC.EXE} /i "{?}" /l*v "{?}.BINST.MsiLog" /qb^>
                <$MmMenuItem SortKey=^Install-20-Silent^     Visible=^Silent Installation^                          Cmd=^{?:MSIEXEC.EXE} /i "{?}" /l*v "{?}.SINST.MsiLog" /qn^>
                <$MmMenuItem SortKey=^Install-30-PerMachine^ Visible=^Normal Installation (PER-MACHINE)^            Cmd=^{?:MSIEXEC.EXE} /i "{?}" /l*v "{?}.InstPm.MsiLog" ALLUSERS=1^>
                <$MmMenuItem SortKey=^Install-40-PerUser^    Visible=^Normal Installation (PER-USER)^               Cmd=^{?:MSIEXEC.EXE} /i "{?}" /l*v "{?}.InstPu.MsiLog" ALLUSERS=""^>
                <$MmMenuItem SortKey=^Install-70-Admin^      Visible=^Administrative Installation^                  Cmd=^{?:MSIEXEC.EXE} /a "{?}" /l*v "{?}.ADMIN.MsiLog"^>
                <$MmMenuItem SortKey=^Install-80-Admin_HERE^ Visible=^Administrative Installation - Extract "HERE"^ Cmd=^{?:MSIEXEC.EXE} /a "{?}" /l*v "{?}.ADMIN.MsiLog" TARGETDIR="{!:MD}{?:P}\AdminInstall\{?:B}{!:MD}"^>
                <$MmMenuItem SortKey=^Uninstall^             Visible=^Uninstallation^                               Cmd=^{?:MSIEXEC.EXE} /x "{?}" /l*v "{?}.UNINST.MsiLog"^>
                ;----[4DocoMmMenuItems]---
           <$/IniSection>
       <$/IniFile>
   <$/Component>
   <$Component "RIGHT_CLICK_VERBOSE.MSHTA" Create="Y" Directory_="INSTALLDIR" Condition="<$CONDITION_CAN_USE_HTA>">
        <$File source="out\MsiExecMm.hta" KeyPath="Y">
        <$File source="MsiExecMm.ico">
   <$/Component>
<$/Feature>


;----------------------------------------------------------------------------
;--- VERBOSE LOG VIEWER -----------------------------------------------------
;----------------------------------------------------------------------------
#(
   <$Feature "VerboseLogViewer"
            Directory_="INSTALLDIR"
                 Title="Verbose Log Viewer"
           Description=^Right Click Explorer option.
                        Uses the Microsoft SDK "WILOGUTL.EXE" program to
                        view verbose logs.^
;;               Level="5"         ;;Not installed by default
   >
#)
    ;--- Find the SDK utility and point an environment variable to it -------
    <$FileFind File="WiLogUtl.EXE" Property="WILOGUTL_EXE" Default="!" PATH="[ProgramFilesFolder]" Depth="3">
    <$Component "ENVIRONMENT_WiLogUtl.EXE" Create="Y" Directory_="INSTALLDIR" LM="Y" Condition=^WILOGUTL_EXE <> "!"^>
       <$Environment NAME="MAKEMSI_WILOGUTL_EXE" VALUE="[WILOGUTL_EXE]">
    <$/Component>

    ;--- Set up some "right click" actions -----------------------------------
   <$Component "RIGHT_CLICK_VIEW_LOG" Create="Y" Directory_="INSTALLDIR">
       #(
           <$Registry
               HKEY="CLASSES_ROOT"
                   KEY="txtfile\shell\Z_MAKEMSI_20_VIEW_VERBOSE_LOG"
               VALUE="View Verbose MSI Log"
               KEYPATH="Y"
           >
       #)
       #(
           <$Registry
                   HKEY="CLASSES_ROOT"
                    KEY="txtfile\shell\Z_MAKEMSI_20_VIEW_VERBOSE_LOG\command"
                  VALUE='"[WSCRIPT.EXE]" "[!_LogView.VBS]" "%1"'
           MsiFormatted="VALUE"
           >
       #)
   <$/Component>
<$/Feature>


;----------------------------------------------------------------------------
;--- FILE INFO --------------------------------------------------------------
;----------------------------------------------------------------------------
#(
   <$Feature "DisplayFileInfo"
            Directory_=""
                 Title="Display File Properties"
           Description=^Useful Explorer option for displaying file properties
                        that can be displayed in the generated HTML report.^
;;               Level="5"         ;;Not installed by default
   >
#)
   <$Component "FileInfoSendToIconForNT" Condition="not Version9X" Create="Y" Directory_="INSTALLDIR_PERUSER" CU="Y">
        ;--- Add as a user file (so only deleted if shortcut is!) -----------
        <$File source="FileInfo.cmd"                  Comment=^Dumps STRFINFO and Document Properties for a file.^>
        <$File source="StrFInfo.exe"                  Comment=^Used to dump executable file information in the HTML report (not used for MSI version information in "File" table). Also see "MmDocumentProperties.VBS".^>
        <$File source="out\MmDocumentProperties.VBS"  Comment=^Can be used to dump document properties of office or other files. Similar to "StrFInfo.exe"^>
        <$Icon KEY="@FileInfo" ".\FileInfo.ico">
        #(
            <$Shortcut
                       Dir="SendToFolder"
                    Target="[INSTALLDIR_PERUSER]FileInfo.cmd"
                     Title="Display File Properties"
               Description="Displays file properties (version <$ProductVersion>)."
                      Icon="@FileInfo"
                   WorkDir="INSTALLDIR_PERUSER"
                   ShowCmd="SHOWMINNOACTIVE"
            >
        #)
   <$/Component>
   <$MsiValFilter "will be installed to the per user directory" Comment=^Not true, this MSI installs per-machine^>
<$/Feature>


;----------------------------------------------------------------------------
;--- MD5 stuff --------------------------------------------------------------
;----------------------------------------------------------------------------
#(
   <$Feature "GenerateMD5"
            Directory_="INSTALLDIR"
                 Title="Generate MD5"
           Description=^Useful Explorer option for comparing files
                        ("Send To" shortcut or "right click" option for DOS).
                        Note that MAKEMSI generated HTML reports list
                        MD5 information for files.^
;;               Level="5"         ;;Not installed by default
   >
#)
   ;--- DOS -----------------------------------------------------------------
   <$Component "Md5RightClickForDos" Condition="Version9X" Create="Y" Directory_="INSTALLDIR">
       <$Extn ProgId="AllFilesystemObjects">
              <$ExtnAction Key="ZMAKEMSI_MD5" Description="Display MD5" Command=^"[WSCRIPT.EXE]" "[INSTALLDIR]MmMD5.VBS" "%1"^ KEYPATH="Y">
       <$/Extn>
   <$/Component>

   ;--- NT ------------------------------------------------------------------
   #define SendToShortCutName   Display MD5
   #define SendToShortCutDesc   Calculate the MD5 values for file(s)
   <$Component "MD5SendToIconForNT" Condition="not Version9X" Create="Y" Directory_="INSTALLDIR_PERUSER" CU="Y">
        ;--- Add as a user file (so only deleted if shortcut is!) -----------
        <$File source="out\MmMD5.vbs" Comment=^Displays MD5 for file.^>
        #(
            <$Shortcut
                       Dir="SendToFolder"
                    Target="[INSTALLDIR_PERUSER]MmMD5.vbs"
                     Title="<$SendToShortCutName>"
               Description="<$SendToShortCutDesc>."
                      Icon="@5.ico"
                   WorkDir="INSTALLDIR_PERUSER"
                   ShowCmd="SHOWMINNOACTIVE"
            >
        #)
   <$/Component>
   <$MsiValFilter "will be installed to the per user directory" Comment=^Not true, this MSI installs per-machine^>


;**    [CommentBlockStart     (September 16, 2005 5:26:26 PM EST, Dennis)
;**+----------------------------------------------------------------------
;**|   <$Component "Md5SendToIconForNT" Condition="not Version9X" Create="Y" Directory_="INSTALLDIR">
;**|       <$File source="5.ico" KeyPath="Y">
;**|   <$/Component>
;**|   <$Component "Md5SendToForNT" Condition="not Version9X" Create="Y" Directory_="INSTALLDIR" ComponentId="">  ;;VBS must continue to run after our uninstall (to remove the shortcuts)
;**|       ;--- Create the VBS --------------------------------------------------
;**|       #define  @@VBS_NAME <$SendToShortCutName>.VBS
;**|       <$FileMake "<$MAKEMSI_VBSCRIPT_DIR>\<$@@VBS_NAME>">
;**|           ;--- Insert Syntax Checking Stub here ----------------------------
;**|           <?SyntaxCheck>
;**|           <?NewLine>
;**|
;**|           ;--- Get the parameters ------------------------------------------
;**|           #define HKLM_RUN_DISPLAY_MD5_KEY       SOFTWARE\Microsoft\Windows\CurrentVersion\Run
;**|           #define HKLM_RUN_DISPLAY_MD5_VALUENAME MAKEMSI
;**|           if  wscript.arguments.count <> 3 then
;**|               dim Title : Title = "<$@@VBS_NAME> (MAKEMSI v<$ProductVersion>)"
;**|               dim Text  : Text = "MAKEMSI user setup failed. "
;**|               Text = Text & "An incorrect number of arguments was passed to ""<$@@VBS_NAME>"" "
;**|               Text = Text & "(we expected 3). This script is normally executed during Windows logon processing "
;**|               Text = Text & "(see ""HKLM\<$HKLM_RUN_DISPLAY_MD5_KEY>\<$HKLM_RUN_DISPLAY_MD5_VALUENAME>"")."
;**|               Text = Text & vbCRLF & vbCRLF & "We were passed " & wscript.arguments.count & " parameters"
;**|               if   wscript.arguments.count = 0 then
;**|                    Text = Text & "."
;**|               else
;**|                    Text = Text & ":" & vbCRLF
;**|                    dim i
;**|                    for i = 0 to wscript.arguments.count-1
;**|                        Text = Text & vbCRLF & "#" & i+1 & ": " & wscript.arguments(i)
;**|                    next
;**|               end if
;**|               msgbox Text, VbWarning, Title
;**|               wscript.quit 999
;**|           end if
;**|           dim ProductCode : ProductCode = wscript.arguments(0)
;**|           dim InstallDir  : InstallDir  = wscript.arguments(1)
;**|           dim RegVersion  : RegVersion  = wscript.arguments(2)     'Not used but will be displayed in the above diagnostic
;**|
;**|           ;--- Initialization ----------------------------------------------
;**|           dim oInstaller : set oInstaller = CreateObject("WindowsInstaller.Installer")
;**|           dim oShell     : set oShell     = CreateObject("WScript.Shell")
;**|           dim oFs        : set oFs        = CreateObject("Scripting.FileSystemObject")
;**|
;**|           ;--- Ignore any (other) errors -----------------------------------
;**|           on error resume next
;**|
;**|           ;--- Work out the shortcut name ----------------------------------
;**|           dim ShortcutFile, TargetFile, IconFile
;**|           ShortcutFile  = oShell.SpecialFolders("SendTo") & "\<$SendToShortCutName>.lnk"
;**|           TargetFile    = InstallDir & "MmMD5.VBS"
;**|           IconFile      = InstallDir & "5.ico"
;**|
;**|           ;--- Create or delete the icon -----------------------------------
;**|           const msiInstallStateDefault =  5
;**|           dim ProductState : ProductState = oInstaller.ProductState(ProductCode)
;**|           if  ProductState <> msiInstallStateDefault then
;**|               ;--- Delete the shortcut -------------------------------------
;**|               if  oFs.FileExists(ShortcutFile) then
;--- |                   ;--- Shortcut exists so delete it ------------------
;**|                   oFs.DeleteFile ShortcutFile
;**|               end if
;**|           else
;**|               ;--- Create the shortcut -------------------------------------
;**|               set oSc = oShell.CreateShortcut(ShortcutFile)
;**|               oSc.TargetPath       = TargetFile
;**|               oSc.WindowStyle      = 1
;**|               oSc.Description      = "<$SendToShortCutDesc>"
;**|               oSc.WorkingDirectory = InstallDir
;**|               oSc.IconLocation     = IconFile & ",0"
;**|               oSc.Save
;**|           end if
;**|       <$/FileMake>
;**|
;**|       ;--- Add the VBS to the component ------------------------------------
;**|       <$File RowKey="SendToMd5.vbs" source="<$MAKEMSI_VBSCRIPT_DIR>\<$@@VBS_NAME>" COMMENT=^Run at user logon to create or delete the MD5 "Send To" shortcut.  This file and the "run" registry entry not removed at uninstall.^>
;**|
;**|       ;--- Setup the registry to run our VBS -------------------------------
;**|       #(
;**|           ;--- MSI version passed for sanity checks on error ---------------
;**|           <$Registry
;**|                   HKEY="LOCAL_MACHINE"
;**|                    Key="<$HKLM_RUN_DISPLAY_MD5_KEY>"
;**|                   Name='<$HKLM_RUN_DISPLAY_MD5_VALUENAME>'
;**|                  Value=^[!SendToMd5.vbs] "[ProductCode]" "[INSTALLDIR]" "<$ProductVersion>"^
;**|           MsiFormatted="VALUE"
;**|                KeyPath="Y"
;**|           >
;**|       #)
;**|   <$/Component>
;**+----------------------------------------------------------------------
;**    CommentBlockEnd]       (September 16, 2005 5:26:26 PM EST, Dennis)
<$/Feature>




;----------------------------------------------------------------------------
;--- MAKEMSI ActiveX Control ------------------------------------------------
;----------------------------------------------------------------------------
<$Cabinet "MakeMSI.DLL">
    #(
       <$Feature "InstallActiveXDll"
                Directory_="INSTALLDIR"
                     Title="Install ActiveX DLL"
               Description=^Useful but optional DLL. Used to determine if dll has self registration entry points.^
    ;;               Level="5"         ;;Not installed by default
       >
    #)
        <$Component "ActiveXControl" Create="Y" Directory_="INSTALLDIR">
            <$File RowKey="MakeMSI.DLL" Source="..\MAKEMSI_ActiveXControl\out\MakeMSI.DLL" KeyPath="Y" Comment=^MAKEMSI's 32 BIT Active-X DLL. Note that on a 64 bit OS, you must call via the 32 bit version of "cscript.exe"^>
        <$/Component>
        <$SelfRegister "MakeMSI.DLL">
    <$/Feature>
    <$Table "Condition">
    #(
        ;--- Disable this feature if the required DLL can't be located ----------
        <$Row
               Feature_="InstallActiveXDll"
                  Level="0"
              Condition=^not MSVBVM60.DLL^
        >
    #)
    <$/Table>
<$/Cabinet>

;----------------------------------------------------------------------------
;--- Not sure why this is now required in 2017 (new MS validation?) ---------
;----------------------------------------------------------------------------
<$MsiValFilter RE="Y" "The file '.*' will be installed to the per user directory '.*' that doesn't vary based on ALLUSERS value">

SOURCE CODE - MAKEMSI.MM.H

D:\DBAREIS\Projects\Win32\MakeMsi\MAKEMSI.MM.H dated Thu Apr 28 2022 at 9:05:18am
;----------------------------------------------------------------------------
;
;    MODULE NAME:   MAKEMSI.MM.H
;
;        $Author:   USER "Dennis"  $
;      $Revision:   1.9  $
;          $Date:   28 Apr 2022 09:05:18  $
;       $Logfile:   D:/DBAREIS/Projects.PVCS/Win32/MakeMsi/Makemsi.mm.h.pvcs  $
;      COPYRIGHT:   (C)opyright Dennis Bareis, Australia, 2003
;                   All rights reserved.
;
; DESCRIPTION
; ~~~~~~~~~~~
; I had to get a bit creative with the filename as I have many files with
; similar names!
;
; This file is a common header file included by MAKEMSI.MM and other
; related build scripts.
;
; It supplies some common definitions as well as loading MAKEMSI support.
;----------------------------------------------------------------------------


;----------------------------------------------------------------------------
;--- Apply most department/company standards and include "MAKEMSI" support --
;----------------------------------------------------------------------------
#define? DEPT_ARP_URL_PUBLISHER                 <?PpwizardAuthorHomePage>
#define? DEPT_ARP_URL_TECHNICAL_SUPPORT         <$MAKEMSI_HOMEPAGE>
#define  COMPILE_CABDDF_CompressionType         <$COMPRESS_BEST>
#define  COMPANY_HTMLRPT_DOCO_INSTALL_DIR_KEY   INSTALLDIR
#define+ MmMODE                                 P        ;;Always want to build in production mode!
#include "DENNIS.MMH"                           ;;Include MAKEMSI support (customised for me)
#define+ DEFAULT_ROW_VALIDATE_NO_WHERE          NEW

;----------------------------------------------------------------------------
;--- MAKEMSI Program IDs ----------------------------------------------------
;----------------------------------------------------------------------------
#define PROGID_MAKEMSI_MM  MAKEMSI Script Source
#define PROGID_MAKEMSI_MMH MAKEMSI Script Header

;----------------------------------------------------------------------------
;--- Windows Installer database types (HKCR) --------------------------------
;----------------------------------------------------------------------------
#(
    #define PROGIDS_MSI
    Msi.Package                     ;;MSI (one of the few MS got right)
#)
#(
    #define PROGIDS_MSM
    ;--- Merge Modules (lots of aliases - Thanks again MS) ------------------
    .msm                            ;;Native state (as Windows installs)
    Msi.MergeModule                 ;;When Orca installed
    MaSaIModule.Document            ;;When MaSaI Editor installed
    WiseModule.Document             ;;When Wise Installer PRO Installed
#)
#(
    ;--- Orca edits these file types ----------------------------------------
    #define MSI_DATABASE_TYPES

    <$PROGIDS_MSI>
    <$PROGIDS_MSM>
    .pcp                            ;;Windows Installer Patch Creation File
    .cub                            ;;Validation Database
#)
#(
    #define MSI_TRANSFORM_TYPES

    ;--- TRANSFORMS ---------------------------------------------------------
    .mst                            ;;Native state (as Windows installs)
    MaSaITransform.Document         ;;When MaSaI Editor installed
    WiseTransform.Document          ;;When Wise Installer PRO Installed
    Msi.Transform                   ;;When "InstEd" (MSI Editor) is installed
#)
#(
    #define MSI_PATCH_TYPES

    ;--- PATCHES ------------------------------------------------------------
    Msi.Patch                       ;;Standard Windows Installer progtype
#)
; .MSP => Msi.Patch


;----------------------------------------------------------------------------
;--- MSIDIFF.VBS Extensions -------------------------------------------------
;----------------------------------------------------------------------------
#define MSIDUMP_OUTPUT_DIFFERENCE     MmDiffTxt
#define MSIDUMP_OUTPUT_COMPLETE       MmDumpTxt


;----------------------------------------------------------------------------
;--- Find "WSCRIPT.EXE" (see Dennis.MMH) ------------------------------------
;----------------------------------------------------------------------------
;<$CSCRIPT.EXE>
;<$WSCRIPT.EXE>
<$FileFindInListedDirs Property="CSCRIPT.EXE" File="CSCRIPT.EXE" DIRS="[System64Folder];[SystemFolder];[WindowsFolder]">
<$FileFindInListedDirs Property="WSCRIPT.EXE" File="WSCRIPT.EXE" DIRS="[System64Folder];[SystemFolder];[WindowsFolder]">


;----------------------------------------------------------------------------
;--- Handy macro to create a component for each file passed -----------------
;----------------------------------------------------------------------------
#(
   #define CompPerFile
   #evaluate+ ^COMPONENT_NAME^ ^FilePart('n', '{$#1}')^
   <$Component "<$COMPONENT_NAME>" Create="Y" Directory_="{$Dir=^INSTALLDIR^}">
       <$File Source="{$#1}" Comment=~{$Comment=^^}~ KeyPath="Y">
   <$/Component>
#)

;----------------------------------------------------------------------------
;--- Handy macro to find text editor ----------------------------------------
;----------------------------------------------------------------------------
#(
   #define FIND_DEFAULT_TEXT_EDITOR_CMDLINE
   <$RegistryRead
       Property="DEFAULT_TEXT_EDITOR_CMDLINE"
        Default=^notepad.exe "%1"^
           HKEY="CLASSES_ROOT"
            Key="txtfile\shell\open\command"    ;;Probably still notepad...
   >
#)



;----------------------------------------------------------------------------
;--- Include this header file as source in the generated HTML doco ----------
;----------------------------------------------------------------------------
<$SourceForReport>


This HTML page along with the MSI it documents was automatically generated using the freeware "MAKEMSI" tool (version 22.147). No Windows Installer skills are required to rebuild new versions of existing MSI files and you can do so while having your morning "cuppa". Given the automated build process and its extensive error handling MAKEMSI reliably builds MSIs, any bugs in the generated installer are not only consistant but likely to be in your script and can be fixed (it may help to think of a compiler, the source can be incorrect but the result is consistant and can be tested and fixed if required). No human need remember the correct procedure for creating a reliable standard package as these rules/procedures can be inbuilt.

The creation of new installers can frequently be simplified to a small trivial number of lines as often most MSIs created by any particular author (or team of) are very similar (particularly in a corporate environment). For example I have helped a team set up two line scripts for their many J2EE server installs (built via automated ANT processes). Yet another team has a set of about 40 two line scripts to build their workstation RIS packages. This meant that these teams don't need any skills to create new packages! It also means that the installer's logic can be incrementally improved (if required) in one single location and any future builds will automatically pick up these improvements.

Even if you can't reduce all installers this way, MAKEMSI encourages reuse and any huge (or miniscule) fragments of common logic can be centralised ("fragments" can take parameters and make decisions).


Created at Thu May 26 2022 at 1:21:35pm