There are a number of application repackaging tools on the market. You may have worked with one of them, such as Flexera AdminStudio, the now-defunct Symantec Wise Package Studio, or any of a number of others. All of them have strengths and weaknesses, and nearly all of them cost money. CapaSystems is a Scandinavian software development house which also provides consulting services. Their software product line includes CapaInstaller, a suite of asset management, configuration management, and other tools. In this post, we’ll be looking at their free application repackaging tool called ezMSI.
ezMSI, according to their web site, is a "free tool available for anyone on the planet earth". The software is supported for their CapaInstaller Management Tool customers, but is free and unsupported for everyone else.
CapaSystems ezMSI has been tested (by CapaSystems) on Windows NT, Windows 2000, Windows XP, Windows Server 2003, and Windows 7. I was able to run it successfully on Windows XP, but had issues with it on 64-bit Windows 7. I suspect that it isn’t tested or intended for 64-bit Windows versions, but that is only a guess.
ezMSI downloads as a zip file, which unpacks into a directory containing four files. Two of these are MSIs, one is an INI, and the last is a batch file:
The batch file (install.bat) begins the installation process.
Once launched, it starts the installation wizard for ezMSI.
Clicking the Next button brings up the license agreement screen.
Clicking "I accept the terms in the license agreement" button and clicking Next again provides the option to change where the software is installed.
Clicking Next again provides a final confirmation of installation.
Installation takes place in a few seconds (depending of course on your system load and configuration).
The installer ends with a completion message:
At this point the batch script runs the second MSI silently and copies the INI file into the installation directory. ezMSI is ready to use at this point.
Using ezMSI to Repackage Software
You begin by launching the application from the Start Menu shortcut.
This interface is slightly confusing. For a typical repackaging task, where you’re capturing a legacy installer into an MSI, select "Create new MSI package". Then, fill in the file name, version, and product name. For example, to repackage Mozilla Firefox 17.0, I would begin with the following settings:
Clicking Next, ezMSI offers the opportunity to exclude files and directories from the snapshot process:
In this case, I choose to eliminate the patch directory and the D: drive.
I’m then offered the opportunity to exclude certain registry keys:
I click Next and ezMSI is ready to begin taking its "before" snapshot of the system.
Clicking next begins the snapshot process.
Once the initial snapshot has been taken, ezMSI prompts for the installer to be captured.
I select the Mozilla Firefox 17.0 installer and click Next. The Firefox installer is launched.
I click through the rest of this installation wizard to install Firefox. This leaves me back at the ezMSI window:
Clicking next, ezMSI lets us know that installation is complete and that it is ready to begin the final snapshot process.
Clicking Next begins the final snapshot process.
When the snapshot is complete, ezMSI offers the option to edit the capture:
Clicking Yes opens the registry editing dialog:
Any desired changes can be made here. Clicking Next displays the INI editor.
Clicking Next again displays the File editor:
I find that it has captured some temporary Windows files, so I remove those from the capture and click Next. I’m given the option to add or remove shortcuts.
Clicking Next gives me some final options before the MSI is created.
Clicking Next begins MSI capture and creation.
Clicking Next offers the opportunity to open the directory where the MSI was created:
ezMSI has in fact created an MSI for Mozilla Firefox 17.0:
Changing Capture Settings
The list of files, folders, and registry keys excluded from capture can be found in the CISetup.ini file located in the ezMSI installation path. By default, that path is:
You can edit this INI file in Notepad or another editor. This allows you to exclude additional registry keys, drives, directory trees, or files from captures.
If you edit the file, be sure to create a new snapshot of your packaging VM so that the changes become part of your "clean" capture configuration.
As repackaging tools go, this one is pretty bare-bones. However, apart from the initial window, it’s very straightforward to use and seems to do a good job.
It’s not a complete solution to your repackaging needs, since it lacks an MSI editor, MST creation, and other features you might want. However, if you’re on a limited budget and can live with its lack of 64-bit Windows support, it’s definitely a usable option.