Introduction |
MAKEMSI is a freeware tool to automate the updating or creation of MSI based installation programs (or any other Windows Installer database such as a merge modules). It can be downloaded from "https://dennisbareis.com/makemsi.htm". See the "some user feedback" section for some user opinions.
I recommend that you follow the steps in the "Quick Start Guide", this will guide you through building a complete MSI from a sample that MAKEMSI installed and point you to other main documentation pages.
MAKEMSI is aimed at both beginners and advanced users and includes a number of other useful utilities (for example GUID generation). The required steps are provided by a small number of XML like statements (and typically without writing code - although code can be imbedded). I repackage new versions of MAKEMSI by updating the version information and building the MSI (about 2 minutes), this NEVER fails. I only need to test my generated MSI if I have changed the way it is built and then generally only in the areas where it differs from all other MSIs you create.
Any requirements you have which are (or may be) "common" to many MSIs you wish to produce can be setup once and reused for all your MSI files (branding and general configuration are some examples). Because of the ease of reusing code, I have build many groups of 2 or 3 line scripts to build complete (and complex) MSIs. As these scripts tend to define parameters (differences) they are so simple that people with absolutely no MSI skills are able to create MSIs for themselves (it also means that no or at least very minimal testing need be performed on new or rebuilt MSIs).
As all files are in a text format, they are very easy to manage in revision control systems (PVCS etc) and can easily be compared.
A HTML report (which by default also shows the source code) is created when creating an MSI, for an example click here. The HTML report include product and file verification buttons (MD5 compares etc).
If you use this tool you may wish to join the MAKEMSI group, this is an email (or web) based list for people who require support, tips or just like to see what others are doing. The web interface can be used if you don't wish to receive email and there is also a daily digest option. The group is not expected to generate a lot of email. You can search or view the archive without joining but to protect its users from SPAM you must join to post messages (and the first message by any user is moderated and so may be a bit slow to appear).
There are commands to make creation of VBSCRIPT custom actions very simple (including the passing of "CustomActionData").
As MAKEMSI is built around a very powerful preprocessor (called "PPWIZARD") you can do anything that it is capable of, for example, executing external commands to produce zip or jar files or import SQL or many other data formats. Because of the the integration of the preprocessor you can also do things that you can not do via MSI alone due to the large amount of manual labour and/or complex processing that would normally be required.
I do not expect users to need to resort to coding VBSCRIPT however VBSCRIPT can be imbedded anywhere to cater for any missing functionality (after all MAKEMSI basically generates VB SCRIPT). I will need to document some "rules" and details for this.
This software is freeware and anyone may use it. A lot of work has gone into this product and I don't have a team of developers helping me test it on all sorts of boxes, operating systems, configurations and the many ways these tools can be used. Please let me know of any problems or suggestions you have. Please also read the disclaimer if you intend to use this tool (so you won't be "surprised").
I do like feedback (good or bad) and better yet suggestions for improving the product. If you can suggest tools, objects or ways of capturing "class" table or other similar information then I can build commands to automate these steps as well. There are many ways you can help.
Note that there is a vast number of options and ways of tweeking what and how MAKEMSI produces its output (including the HTML report). Most of these methods will probably never be documented (otherwise this would become my full time job!). Only the main options will be documented. Once you become familiar with MAKEMSI and PPWIZARD you should have little trouble working it out anyway, if you can't then you can always ask :-)
There is a user group (forum) which you can join to discuss any aspect of MAKEMSI. You don't have to be a member to read archived messages but you do need to join to ask questions.
Note that MAKEMSI (by default) works with Windows installer 1.11 (and probably earlier), it will use version 2.0 features such as MD5 hashes where available (so I do recommend use of version 2.0+). The generated MSIs will not require 2.0+ being available for installation.
As the source is text based, it could potentially be automatically built by another tool rather than being hand built by a user. As mentioned previously the actual build is completely "unattended".
The MAKEMSI homepage is at "https://dennisbareis.com/makemsi.htm".
Other "introduction" pages are:
Do yourself a favor - Don't use Notepad! |
If you use notepad for editing text then you may not realise that there are many excellent (and free) ones available (see the "Text Editors" section). Stop torturing yourself now!