MAKEMSI Changelog

What's new in MAKEMSI 22.0.148.000

Jun 2, 2022
  • Now includes rexx documentation (Rexx (regina).chm).
  • New version of PPWIZARD (v22.148).

New in MAKEMSI 22.0.121.000 (May 17, 2022)

  • Fixed: "cscript.exe" not found on uninstall or repair of MAKEMSI installer on Windows 11 (under some conditions, and maybe also WIN10?).
  • Created a new "FileFindInListedDirs" command.
  • The "Directory" command now has "MAKE", "REMOVE" & "COMPONENT" parameters.
  • The "DirectoryTree" command NOW adds all created directories to the create & remove tables (not just the last named/last) dir.
  • A component will now be created for you if required even if "N" used on the "MAKE" parameter (that is you no longer need to use "MAKE" if you just need to "REMOVE").
  • There is now a "DEFAULT_COMPONENT_OPTIONS_AUTO_CREATION" option for automatically created components (CU="Y" etc).
  • The directory command for adding the documentation (@AddDocumentationToTheMsi) now includes "REMOVE="Y".
  • The html report is now updated with the result of the validation before a validation error is reported (previously the report would have pre-check template details).
  • New version of PPWIZARD with many code and doco improvements.

New in MAKEMSI 19.0.089 (Apr 1, 2019)

  • Some minor changes to the html documentation footer generation to make it easier to disable the external link to "MAKEMSI_HOMEPAGE" if that is required by your companies (paranoid) policies. Simply override HTMLRPT_END_COMMENTS_MAKEMSI_LINK_OR_TEXT" to "MAKEMSI". Other footer changes also easier.

New in MAKEMSI 18.0.185 (Jul 4, 2018)

  • Fixed a "Microsoft VBScript runtime error: Path not found" which certain builds had when "CAB.CACHE" was missing at start.
  • Added the "Default4" parameter to the "Cabinet" command to allow you to define default cabinets by file extension.

New in MAKEMSI 18.0.170 (Jul 4, 2018)

  • The parameter handling of the VBS script created by "EventLogSource" has been fixed and now allows you to include the code "{dq}" for double quotes.
  • Cabinet" caches:
  • Cache Invalidations no longer caused by:
  • Changes to the filename of the generated msi.
  • Differences in the case of letters in the ".mm" script filename passed in the build request.
  • The "MAKEMSI_OUTDIR" value is now lower cased to ensure that no matter how "MM.CMD" (or the build in general) is invoked, it won't cause issues.
  • Renamed files, sundry diagnostic/logging improvements, including:
  • The top level cache directory now contains "[CABINET SUMMARY, pass x].txt" files.
  • Filenames starting with "{MAKECAB}" are involved/associated with the actual ".cab" file creation.
  • Filenames starting with "[" are diagnostics to help determine reasons for invalidations etc.
  • We now report the differences between "no preexisting" and "corrupted" caches.
  • These and previous changes has helped me chase the unexpected cache invalidations I notice down, I'd have looked at these years ago if anyone had bothered reported them...

New in MAKEMSI 18.0.160 (Jun 9, 2018)

  • The "Files" and "FilesExclude" commands would not accept a filemask that contained single quotes.
  • Now handles a single quote in the "DEPT_NAME" or "COMPANY_CONTACT_NAME" definitions.
  • Previously if the directory containing your project contained a left square bracket character ("["), then you would need to have turned off zipping of the source files (setting COMMONFRAMEWORK_ZIP_SOURCE_FOR_BACKUP to "N") due to an info zip bug, I now work around this by using relative paths (effectively stripping off the square brackets). For similar reasons "MM.CMD" was also updated so that the (default) root output path will no longer contain square brackets.
  • Also if the base filename contains square brackets this is also now handled. The last info zip upgrade probably broke this (in v17.218) as it changed the square bracket behaviour.
  • Certain characters in the ".mm" script's filename may have prevented the insertion of the "MSI_NOT_COMPLETE_TEXT" valdation.

New in MAKEMSI 18.0.149 (May 29, 2018)

  • The "FeatureComponents" table was being updated by the "Component" command even if the component was not being added.
  • Recentish changes broke "OPENMSI.MMH":
  • Macro named "ProdInfo.MsiName" does not exist!
  • The header now defines "CABINET_SRC_FILE_NAME".
  • Macro named "HTML_SYMBOL_TICK" does not exist!
  • This probably broke in v17.267, some html report generation didn't check if it should be executed (ONEXIT_GENERATE_HTML?).

New in MAKEMSI 18.0.093 (May 29, 2018)

  • The "/ROW" command now has an "UPDATE" parameter which should be used if updating a record.
  • The "ShortCut" command has supported multiple directories since v15.120 (30 April 2015) but the HTML report only listed a single shortcut entry (dir was the list).
  • Double quotes in directory names are invalid but the "Directory" and "DirectoryTree" commands would fail with a cryptic syntax error, they now fail with a more informative error message.

New in MAKEMSI 18.0.052 (May 29, 2018)

  • The "EventLogSource" command could fail if RegisterOnly="Y" was used (became the default).
  • Conditional self registration (SelfReg="?") was being performed unconditionally by the "File(s)" command, failing registration at install time for files that don't support it. Guessing broken since "v15.120".
  • Fixed the "FolderIcon" command which I'd broken at some stage (displays error dialog per instance).
  • Now backup ".DBG" console output to 9 levels (by default).
  • Minor non-functional change to "ShortcutUrl".

New in MAKEMSI 17.0.320 (Nov 16, 2017)

  • Fixed a VBS syntax error when using the "FolderIcon" command.
  • A new more powerful "Cabinet" command replaces the older "Compile" command. Caching of cabinet output is now on by default, this should speed up compiles and shouldn't have any negative effects (except possibly the disk space taken up by the cached cab files).
  • The "File" & "Files" commands now have a "cabinet" parameter to allow you to override the default.

New in MAKEMSI 17.0.315 (Nov 11, 2017)

  • New "FilesInZip" command to allow you to include a zip file to be unpacked at installation file. This is less flexible that adding the file individually but can be much faster to create and install the msi.
  • The defaults for the "#options" (and new "HashPrefix) parameters of the "FileMake" command can now be mode specific.
  • Powershell specific options are now set so that it's comment character "#" doesn't cause problems.
  • The "compile" command's console/log output improved.
  • Some changes to the event log commands introduced in "v17.310".
  • Minor spelling/grammar fixes to "MM.CMD".
  • Newer PPWIZARD (v17.315).

New in MAKEMSI 17.0.310 (Nov 6, 2017)

  • Newer PPWIZARD (v17.308) with powershell support.
  • Added the "#options" parameter to the "FileMake" command.
  • Two new Windows Event log macros:
  • EventLogCustomView to define event log sources.
  • EventLogSource to define event log custom filters.

New in MAKEMSI 17.0.286 (Oct 13, 2017)

  • Fixed definitions of "HTMLSUMM_UPGRADE_CODE" and "HTMLSUMM_PRODUCT_CODE" which could cause errors reporting "HTMLRPT_TT" as unknown.
  • Fixed VBS syntax error in "ShortcutUrl".

New in MAKEMSI 17.0.267 (Sep 25, 2017)

  • Under some circumstances the make could fail creating the ".ddf" file.
  • New version of the "Regular Expression Tester" tool (v2017.09.21d), a number of changes including the new "literal text" button.
  • Minor improvement to the validation summary in the html.

New in MAKEMSI 17.0.225 (Aug 14, 2017)

  • New "MajorUpgrade" command and the summary contains better upgrade related information.

New in MAKEMSI 17.0.223 (Aug 11, 2017)

  • New "FolderIcon" command to create "desktop.ini" files.
  • Fixed a bug introduced in "VbsCaSetup" for version 17.222 which could cause a failure if no #data supplied.

New in MAKEMSI 17.0.222 (Aug 10, 2017)

  • The "MM.CMD" batch file can now try escalating your privledges if you don't have access.
  • Fixed generation of "AddErr/ErrDetails" functions.
  • Extra 3rd optional column on #data for "VbsCa".

New in MAKEMSI 15.120 (May 4, 2015)

  • The "DIR" parameter of the "Shortcut" command now supports a semicolon delimitered list of shortcuts directories so the shortcut can easily be created in multiple locations.
  • The "Component" parameters "CU" and "LM" now support "?" to use whatever is appropriate for the install mode.
  • Updated "COMPANY.MMH" so that the registry keypath for the generated documentation now depends on the installation mode.
  • The "SelfRegister" command now supports per-user/per-machine registrations (based on installation mode) and for this reason can no longer use the native "SelfReg" table support at all. The command now also supports registration of ".exe" files as "msiexec.exe" is also no longer used.
  • Made it easier to find file related entries in the "*.dbg.txt" file.
  • Includes newer PPWIZARD (version 15.085) - [1] Reversed stack trace on trap and [2] INPUT dependancy now relative where possible.
  • Parameter names are now validated on the "Extn", "/Extn" and "ExtnAction" commands.
  • Added a new parameter to the "ExtnAction" command to support adding to Explorer's "NEW" menu.
  • Added new "TryMeExtnAction.MM" and "TryMeExcelAddIn.MM" samples.

New in MAKEMSI 15.083 (Mar 24, 2015)

  • Fixed a very old bug in the "Files" command which would cause problems if the semi colon list of files included 2 or more semicolons in a row (extras now correctly ignored).
  • Updated the "ShortcutUrl" command to be more flexible and also to handle an IE8 "Integrity Issue" (0x800706B5) plus similar.
  • Updated the "Extn" command to support the optional "HKEY" parameter which defaults to the previous releases "CLASSES_ROOT" value, you can also choose current user or local machine hives.
  • Now "flashes" the results control in the "Regular Expression Tester" tool so its easier to see something has happened
  • Includes newer PPWIZARD (version 14.089).
  • Minor modifications to the "File" and "Files" commands to support the "OptionMakeRemoveDirs" option (placebo for now).
  • Renamed internal "Rexx4MakeDirTree()" routine.
  • Created new template msi called "TEMPLATE_MSI-SimpleSchedule.MMH" and an example to demonstrate it (TryMeTemplate-SimpleSchedule.MM)
  • Now include a tool to delete files older than a certain age (DelOlderRE.vbs). This will be used by "TEMPLATE_MSI-SimpleSchedule.MMH".

New in MAKEMSI 13.321 (Nov 19, 2013)

  • Implemented a fix suggested by Jason Gibbons to handle redefining "TABLES_FILE_SEQ_NUMBER_LIMIT" from its default value 2 to 4 (in order to handles > 32767 files).
  • Assorted improvements to the "Regular Expression Tester" tool.

New in MAKEMSI 13.267 (Sep 23, 2013)

  • Added the "IeAddressBar" parameter to the ShortcutUrl command

New in MAKEMSI 13.251 (Sep 23, 2013)

  • Have modified "MM.CMD" so it detects if the "Ignore Me" file is non-blank and warns you

New in MAKEMSI 12.206 (Jul 27, 2012)

  • Added the "VBSCRIPT subroutines in BATCH files" tip
  • Other generally minor documentation improvements

New in MAKEMSI 11.249 (Oct 25, 2011)

  • Have modified "MM.CMD" so that it works around the WINDOWS 7 (Vista also?) explorer command line bugs. The "/root" parameter only used where Windows major version is "5".
  • Made some non-functional changes to the "dialog" commands so that the VBS marks the reason for its creation better (if validating or transforming).
  • Includes newer PPWIZARD (version 11.140).

New in MAKEMSI 11.087 (Oct 25, 2011)

  • The "DEFAULT_FILE_LANG_WHEN_GETLANGUAGE_FAILS" value was not being applied since the "10.341" release.
  • Made minor changes and added error checking to make it much less likely that a line continuation (user) error would go undetected when creating scripts (VbsCa).

New in MAKEMSI 11.078 (Oct 25, 2011)

  • Christoph Vogtlaender found a bug in the handling of double quotes by the "DATA" parameter of the "VbsCaSetup" command (quotes were being doubled up).
  • Includes newer PPWIZARD (version 11.078).

New in MAKEMSI 10.341 (Oct 25, 2011)

  • As pointed out by Christoph Vogtlaender, all files were getting the language "1033" (the configurable default). Have adjusted "FileLanguage()" as suggested and testing proves it works again.

New in MAKEMSI 10.241 (Aug 29, 2010)

  • The "PopupMessage()" sample code in "TryMeDllCustomAction.MM" was leaking handles (as reported by "grizzlyyh"), incorporated the fix provided.
  • By default MAKEMSI now generates a warning when no final validation occurs so that it is more obvious that this is not a desirable stte of affairs. Override "VALID_MSIVAL2_COULDNT_VALIDATE_WARNING" to disable or alter.

New in MAKEMSI 10.169 (Jun 18, 2010)

  • The "DllCa-C" command was not detecting failures in the batch file correctly, in general this would cause other downlstream issues and be detected anyway.
  • Added "DLLCA_C_MINGW_INCLUDE_DIRECTIVES" to the "DllCa-C" command's configuration.
  • Fixed minor bug in "TryMeDllCustomAction.MM", it didn't display the "INFO" message if not compressing result.
  • If no files being compiled now delete "_MAKEMSI_FileSource" if required to avoid "ICE03" messages.

New in MAKEMSI 10.087 (Mar 28, 2010)

  • The "10.067" release broke the "Dialog" command as the "condition" parameter now needs to be specified. For the moment download fix from MAKEMSI's files area.
  • You could not specify "" for the "Integer" parameter of the "DialogEntry" command as documented.
  • Added "

New in MAKEMSI 10.067 (Mar 8, 2010)

  • The code for the FilesInUse dialog tip was dodgy, I fixed this and improved it to show the number of running instances of a program if more than 1. It allows you to check the command line and uses regular expressions for matching.
  • Updated "FIREWALL.MMH".
  • The "CONDITION" parameter used to default to "" but is now mandatory for the commands "AbortIf", "DllCa", "ExeCa", "JsCaSetup" and "VbsCaSetup". It is unlikely anyone would want an empty condition and covers cases where insufficient testing has been performed.

New in MAKEMSI 10.030 (Jan 30, 2010)

  • Improved the UnzipImage sample to log more and display better error if "iunzip.exe" not found.

New in MAKEMSI 09.360 (Dec 26, 2009)

  • New "ControlName" parameter on the "DialogEntry" command allows you to "name" controls if you need to refer to them elsewhere.
  • By default the "VbsCa" command will now use "FileMake" to generate the binary script so that the "binary" will no longer change for "insignificant" changes. This makes it much easier to detect "real differences" between msi versions.
  • I have now replaced the code that made use of "DTREG.EXE" so it is no longer installed at all.

New in MAKEMSI 09.328 (Nov 24, 2009)

  • Added the ".NET Framework Installed?" validation/sample.
  • The base url of all links in the generated html report that pointed into the online MAKEMSI manual incorrectly started with "http://dennisbareis.com/makemsi/" (causing a 404).
  • If you used "MM.CMD" without parameters and there was only one match whose filename contained spaces then the build wouldn't work.
  • I finally got sick of the false AV hits on "DTREG.EXE" (which is only used by experimental "SelfRegImport" command) so its now zipped in a password protected archive to "hide it". If you need it then unzip to install.

New in MAKEMSI 09.316 (Nov 12, 2009)

  • The "compile" command now supports caching of "MakeCab.EXE" output.
  • A type of "DWORD" on the "Registry" command could fail with ICE70.
  • Setting "UISAMPLE_DISABLE_TYPICAL_SETUP" to "A" would cause the build to fail syntax error.

New in MAKEMSI 09.296 (Nov 12, 2009)

  • The default method used to persist properties during uninstall in the "Property" command was changed to use permanent (versus unregistered) components as this allows repair of those values.
  • The compile options can now be varied per "compile" command.

New in MAKEMSI 09.284 (Oct 8, 2009)

  • Added the "64Bit" parameter to the "RegistryRead" command.
  • Added the "RAW" parameter to the "Registry" command.
  • Rather than warn you if you forget to supply "VALUE" on the "MsiFormatted" parameter for "MultiString" types, the code now automatically applies it.
  • An "ICE70" during validation and a 1406 error during install would be generated if you supplied a string starting with "#" (which has special meaning to Windows Installer) to the "Registry" command.
  • As this is my new laptop running 64 bit Vista Ultimate, if anything was to go wrong this is the release it will occur in but I'm pretty confident. Let me know if that was wrong :-)

New in MAKEMSI 09.198 (Jul 17, 2009)

  • The "FileFind" command could fail with a 2228 error on the "Signature" table when searching for a directory, I think this is because of a change to Windows Installer (it now requires it).

New in MAKEMSI 09.155 (Jun 4, 2009)

  • Improved hte solution to the "HTMLMSITABLE_MSIDIFF_NAME" issue as the one in "09.153" required MSIDIFF to be installed or reconfiguration by default.

New in MAKEMSI 09.153 (Jun 3, 2009)

  • The "DllCa-C" command would fail if a long (non 8.3) binary key was chosen (for example "SimpleSlashRemoval.dll", "Simple.dll" worked).
  • Updated the "VbsCa" & "VbsCaSetup" commands to support type 38 custom actions (simple inline).
  • Updated the "JsCa" & "JsCaSetup" commands to support type 37 custom actions (simple inline).
  • Removed the hardcoded path from the DEFAULT value for "HTMLMSITABLE_MSIDIFF_NAME" (minor fix for people not installing to "c:").
  • Fixed the "VbscriptBasedService.MM" sample.
  • Adjusted the attribute ("type" parameter etc) handling of all custom actions.
  • Minor enhancement to the "Schedule" command.

New in MAKEMSI 09.045 (Feb 14, 2009)

  • The "CONDITION_PER_USER" definition was faulty

New in MAKEMSI 08.362 (Dec 28, 2008)

  • Fixed the "Integer" parameter of the "DialogEntry" command to work with numbers greater than 32,767.

New in MAKEMSI 08.345 (Dec 11, 2008)

  • Improved regular expression testing (to pick up pattern syntax errors). This involves changes to the "DialogPreview" & "TableExportToIdt" commands and also in the custom action code generated for handling the "MatchRe" parameter of the "DialogEntry" command.
  • Added "helper" buttons and other minor changes to the "Regular Expression Tester" tool.

New in MAKEMSI 08.320 (Nov 15, 2008)

  • New "Regular Expression Tester" tool.
  • The use of the "SameLine" parameter on a "DialogEntry" command would cause an "UNKNOWN VARIABLE" error for the variable "PARAMETER".
  • Had accidently broken the "TryMeWithUserDialog.MM" example in the "08.312" release.

New in MAKEMSI 08.312 (Nov 10, 2008)

  • Modified the "Insert" parameter of the "Dialog" command so that dialog insertion is optional.
  • New "TryMeConditionDialogs.MM" sample

New in MAKEMSI 08.298 (Oct 24, 2008)

  • Updated the IE automation based shortcuts so that they now support property formatting. For testing now support override with environment variable. Fixed bug which required url to end with "/" if there was no page info present.

New in MAKEMSI 08.258 (Oct 24, 2008)

  • Updated the IE automation based shortcuts so that they now support property formatting. For testing now support override with environment variable. Fixed bug which required url to end with "/" if there was no page info present.

New in MAKEMSI 08.257 (Sep 14, 2008)

  • The "DialogEntry" command's transformations were not being executed unless validations were also being performed.
  • Updated the "Folder Attributes - Reapply at Install Time" code to also take care of empty directories.
  • The "MsiSync.VBS" tool will now retry on Windows Installer return codes of 1618.

New in MAKEMSI 08.241 (Sep 2, 2008)

  • The "Directory" command's "conditional" directory creation support would create the code even if the key's case was different (keys are case sensitive). As this probably only occured in the case of a user error this change probably won't change the outcome but I have now documented error "2756".
  • Moved the definition of validation entries for "MAKEMSI_TABLENAME_CABS" table to the "compile" processing.
  • "VbsScriptTestingStub()" could logs some irrelevant "err" details.

New in MAKEMSI 08.209 (Aug 19, 2008)

  • The "MsiValFilter" "regular expression" tests could cause validation filtering to fail on some workstations (on any particular machine it would either consistently fail or work). MAKEMSI should now also detect and warn about any filter failure. Also added some more debugging features to the validation process.
  • Many MAKEMSI commands make use of the "GetSeqNumber()" routine which would display an error if the available space was exactly equal to the requested number of sequence numbers.
  • The "CustomAction" column "ExtendedType" is now created by default allowing the new "PatchUninstall" custom action attribute to be used. If you are operating on existing msi files you may need to set the "TABLES_DEFINE.CustomAction.ExtendedType" macro to "N" if it doesn't already contain the column.
  • Minor change to "HookInto.MMH" to fix the bug (#ifdef "macro") reported by Christoph Mockenhaupt (thanks). Found similar issue in "MacroCfg.MMH".
  • Christoph Mockenhaupt improved his "FireWall.MMH" code.

New in MAKEMSI 08.188 (Jul 6, 2008)

  • Added these system folder properties to "COMPANY.MMH":
  • CommonFiles64Folder
  • ProgramFiles64Folder
  • System64Folder

New in MAKEMSI 08.177 (Jun 26, 2008)

  • The "CaDeleteFile()" code would most likely fail unless you had defined "oFS" globally.
  • It is now possible to configure the "WrapInstall" command to wait for a period of time for an async uninstall to complete (for example an NSIS "uninstall.exe").
  • New optional "CaSleep()" routine.
  • The "UpgradeTable" macro can now be told the "@validate" information for the rows being added.

New in MAKEMSI 08.148 (May 27, 2008)

  • Some tools create an "ActionText" table which only allows for short descriptions ("L64" for the "Description" column in my testcase). The "ProductValidation" command would fail in this situation, the text is now configurable with the default probably short enough for all cases.
  • The "TableDelete" command can now delete tables that haven't been predefined.

New in MAKEMSI 08.123 (May 5, 2008)

  • A new "AccessApply" command.
  • Minor change to the "Access" command.
  • The second "EntryCheck" in the VBS created with the "VbsCa" command should have been "ExitCheck".

New in MAKEMSI 08.096 (Apr 8, 2008)

  • MAKEMSI now performs more validations to work around the Windows Installer bug described in section "A Windows Installer _Streams table key longer than 62 bytes corrupts the database".
  • Updated the 2213 error message which gets displayed when build fails.
  • Added the new "PatchUninstall" custom action attribute, rework required as mechanism changed in recent 4.5 beta 2.

New in MAKEMSI 08.066 (Mar 6, 2008)

  • Not sure that the "DialogEntry" CheckBox type is working correctly when values other than 0/1 used. For example, uncheck "TryMeWithUserDialog.MM" go next and previous, checked again!
  • English text, in sundry ".mmh" files (mainly "uisample.mmh"), see the "Internationalization" section.
  • Look into smart cabbing.
  • Check out sorting of .chm contents: And a very minor thing I noticed at the MAKEMSI help file: the command list in the contents seems to be alphabetical, but a number of entries starting with 'Registry' stand in between Platform and ProductFind. On closer examination, this is not a bug as such but the ordering of entries in the documentation (which I should improve).
  • Any "flashing" tooltips in the documentation (MAKEMSI and generated) is an IE 7 bug, but is there something I can do about it?

New in MAKEMSI 08.023 (Jan 23, 2008)

  • Fixed a "DirectoryTree" bug which would also have affected the "Files" command (and possibly others). In some situations (long and/or similar directory names), part of the structure could be lost.
  • New "MAKEMSI_MM_SUPPORT_TEXT" environment variable which controls the "support text" inserted by "MM.CMD".
  • Updated the code which determines the default value of the "PLATFORM_SDK_DIR" macro.
  • The "TryMeAddVersionKeywordAndLaunchCondition.MM" sample would fail if none of the "OnlyOn" types generated code.

New in MAKEMSI 07.341 (Dec 8, 2007)

  • The "Registry" command now has a new type of "MultiString" to provide improved support for "REG_MULTI_SZ" (null delimitered) strings.

New in MAKEMSI 07.337 (Dec 4, 2007)

  • The "UninstallRc0" parameter of the "WrapInstall" command was being ignored when "UninstallExe" not supplied.
  • No longer fails if the "UninstallArgs" parameter of the "WrapInstall" command contains double quotes.
  • The "TABLES_LNG_FILE_COLUMN" macro wasn't being applied to the definition of foreign keys into the file table (I think I found them all).

New in MAKEMSI 07.325 (Nov 22, 2007)

  • Can now validate the macro being restored by the "/MacroCfg" command.
  • Now set "FILE_GENERATED_COMPONENT_MAX_LENGTH" to maximum as I now follow any specified "FILE_GENERATED_COMPONENT_PREFIX" with a unique number to ensure the generated component names will be unique within the first few characters anyway.
  • New "TryMeUserInputUsed2CreateFile.MM" sample.

New in MAKEMSI 07.310 (Nov 6, 2007)

  • Made the link process of the "DllCa-C" command more flexable (don't have to override the "kitchen sink"). Also added the "-mwindows" option. Other minor tweeks.
  • The "VbsCa" command's logging (CaDebug()) now includes a timestamp.
  • Minor cosmetic change to progress dialog (ActionText moved left and extended).
  • Now that I know about error code "2716", I have created a new "FILE_GENERATED_COMPONENT_MAX_LENGTH" option which I have defaulted to 40.
  • New "Browse for File" DLL custom action tip.
  • Improved (and made configurable) the comment (in the html report) for the binary produced by the "ProductValidation" command.

New in MAKEMSI 07.291 (Oct 18, 2007)

  • Added the "PreExists" parameter to the "MacroCfg" command.
  • Fixed bug in the "files" command's handling of "SUBDIR='FLAT'", as this only adds files to a single directory you should not be getting an error message if adding to a single component. Note that this error message has also been improved.
  • Changed the default value of the "DIRTREE_DRIVE_PROPERTY_PREFIX" macro to "DRIVE." as a Windows Installer bug prevent use of the previous prefix on the command line.
  • New option "FILE_GENERATED_COMPONENT_PREFIX" (set to "FILE."). Also new "FILE_GENERATED_COMPONENT_USE_FILE_AS_KEYPATH" option.

New in MAKEMSI 07.266 (Sep 24, 2007)

  • The CaMsgBox() function could previously display "ERROR:" for informational message boxes.
  • Added definitions of DVD capacities (for example "COMPRESS_CAPACITY_DVD-R(SL)").

New in MAKEMSI 07.244 (Sep 3, 2007)

  • New "msi to exe" framework based on "Free Extractor".
  • Added the 4 new "Shortcut" table columns defined by Windows Installer 4.0 to the "Shortcut" command.
  • Text that "GuidGet" puts into the guid file is now configurable.
  • Added the "UninstallOnSupersedence" & "Shared" attributes (Windows Installer 4.5) to the "component" command.

New in MAKEMSI 07.235 (Aug 24, 2007)

  • Multiple uses of the "ComPlusCompUpdate" and "ComPlusRole" commands could fail as VB variables were being redefined.
  • While not so much a bug as a user configuration issue, I have made it possible by default to allocate more than 23 com plus applications ("ComPlusApp").
  • Better error message when MAKEMSI can't allocate sequence number(s) in the range requested (see GetSeqNumber()). Also fixed bug where allocated range could extend past specified end point (when range full).

New in MAKEMSI 07.222 (Aug 11, 2007)

  • You can now pass the name of a macro in the "conditional" parameter of the "Directory" command.
  • By default the code generated by the "ShortcutUrl" command now ignores resizing problems (to be more IE7 friendly).
  • Added the "64bit" & "DisableRegistryReflection" attributes to the "component" command.
  • The "Watch Uninstall Keys" facility will now also tell you if a detected product is a Windows Installer one.

New in MAKEMSI 07.212 (Aug 1, 2007)

  • Updated the "Registry Conversion" facility and the "RegistryImport" command. Fixed some minor issues and added some debugging output. The registry exported by the "Install Watch PRO" program could contain intermediate ",00" sequences in "hex(2)" data (invalid) and terminating commas on hex(2/7) values, these are now handled.
  • The ability to configure compile compression OFF by processing mode was not working correctly.

New in MAKEMSI 07.194 (Jul 14, 2007)

  • Some source management utilities such as "AccuRev" can create NTFS hard links ("virtual files"), unfortunately Windows (WinXP SP2 at least) has bugs in their "8.3" filename retrieval. I have created a workaround so that the "file" and "files" commands will not fail for hard links. Improved associated error messages. Note that "virtual directories" (NTFS reparse or junction points) have always worked.
  • Win2000 wrapped lines in the Add/Remove Applet, WinXP doesn't (probably a bug). This could cause some very wide dialogs if there were few newlines in the text defined by the "COMPANY_PROPERTY_ARPCOMMENTS" macro. By default MAKEMSI now inserts new lines at end of sentences (". ") making it much more likely the dialog will be well sized.
  • Slight improvement to the error handling in the CA generated by the "WrapInstall" command.
  • If you turned off documentation installation with "COMPANY_WANT_TO_INSTALL_DOCUMENTATION" macro you also had to set another macro ("MSI_COMPLETE_AT_END_OF_PASS") or the msi would not install, this is no longer required.

New in MAKEMSI 07.180 (Jun 30, 2007)

  • The "MsiValFilter" report used html entities for a tick and cross, unfortunately these are not supported by IE6, so now default to true/false text.
  • Updated the "Test for AntiVirus Issues" shortcut.
  • If the build fails due to inability to create basic WSH objects then error message now suggests it's reinstallation.

New in MAKEMSI 07.058 (Feb 28, 2007)

  • New "ProductValidation" command.
  • New "uisample.msi" template, which means at a minimum:
  • New Vista "MsiRMFilesInUse" restart manager dialog.
  • The action button of "VerifyReadyDlg", "VerifyRemoveDlg" and "VerifyRepairDlg" dialogs now have the Vista UAC "ElevationShield" attribute.
  • Updates some "Error" table messages.
  • Some new and updated "_Validation" table entries.
  • Bugs in latest "MSIVAL2" from Microsoft may cause problems such as incorrect reporting of invalid bits in "VerifyRepairDlg.Repair" etc when updating MSIs, see code in "UISAMPLE.MMH" for example of workaround.
  • Added the 4 new "Shortcut" table columns defined by Windows Installer 4 .