MAKEMSI - бесплатная легкая и надежная утилита для создания низкоуровневых MSI и Windows инсталляторов. MSI - формат или же технология для построения надежных установочных пакетов.
MAKEMSI is a freeware tool which enables you to easily and reliably create low overhead "MSI" or "Windows Installer" based installers. Windows Installer is a Microsoft developed and backed installer format or technology for building reliable installation packages.
MAKEMSI utilizes simple XML like text files for the reliable creation (or updating) of MSI based installers. Once set up subsequent rebuilds are automated, reliable, quick and in general require no MSI skills. Not only does MAKEMSI build the MSI but it creates HTML documentation for it as well! As an MSI creator MAKEMSI generates small files, unlike those built by other tools which can be huge!
MAKEMSI is aimed at both beginners as well as advanced users. If required you have full control over every Windows Installer table and row (you can even create your own). You can also just point MAKEMSI at a complete directory tree or a registry file and it will create the appropriate Windows Installer entries (components, GUIDs, cab files) and doing this doesn't prevent the use of the more advanced capabilities. MAKEMSI can actually build or update any Windows Installer database types, for example ICE validation suites or merge modules. It is the simplest tool available for MSI automation.
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).
07.341 (7 December 2007) The "Registry" command now has a new type of "MultiString" to provide improved support for "REG_MULTI_SZ" (null delimitered) strings.
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 the "MM.CMD" batch file into the ".dbg.txt" file.. 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.
* Updated "uisample.msi" from the latest Windows Installer 4.5 SDK (previous template was from the 4.5 beta). * Thanks to Christoph Mockenhaupt for the "FireWall.MMH" code which adds to the MS Windows FireWall Exception list. * Thanks to Lucas Marcel for pointing out the compare bug in the "file version compare code". * New "INSTALLER_SDK_DIR" configuration. * Minor change to the logging of the "ProductValidation" command (product names on progress dialog).
* 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.
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.
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.
» Нажмите, для открытия спойлера | Press to open the spoiler «
10.241 (29 August 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.