Product: EMCO MSI Package Builder
Product Homepage: click here
Free Trial: click here
A big part of the job of IT is managing the deployment of applications to client computers and devices. Installing applications manually might work for small businesses that have only a handful of computers, but for companies that have more it's important to automate the process. The tools for deploying software to computers on a network are well known and range from built-in technologies like Group Policy Software Installation to products like Microsoft System Center Configuration Manager (SCCM) and various third-party system management platforms. And you can now even deploy applications from the cloud using subscription-based services like Windows Intune.
Whichever software deployment platform you choose to use, a key requirement is that the applications being deployed are packaged in a way that allows them to be deployed without any actions or intervention being required on the part of the users. In other words, you want applications to be deployed silently on end-user devices, and you want the applications to be configured appropriately as well.
To make such installations possible in Windows environments, the applications need to be packaged as Windows Installer (.msi) files. While many software vendors provide their applications packaged in such a way, some still provide only traditional setup (.exe) files in a form that is suitable only for manual installation and which require interaction on the part of the user to install. Because of this, companies that want to automate their software deployment over the network have need for tools that can take .exe files and package them into .msi files.
There are a number of different MSI packaging tools available in the marketplace. Some only perform MSI packaging and editing, while others include such features as application compatibility testing, support for the conversion of applications to formats suitable for application virtualization, support for integration with systems management platforms, and more. EMCO MSI Package Builder is one of the better stand-alone MSI packaging tools that I've had a chance to work with and it lets you create MSI packages quickly and easily from non-silent .exe setup files.
Features and capabilities
EMCO MSI Package Builder uses a technology called Live Monitoring to record all file system and registry changes associated with the process of manually installing an application using its .exe file and lets you filter out any changes associated with non-relevant applications or services that may be running. It also lets you modify packages to customize exactly how applications will be deployed on client systems. And it even allows you to monitor any file system and registry activity and use it as input for creating an MSI package that will perform the same actions on client systems that the package is deployed to. That last feature is pretty cool since it means you can also deploy file system and registry configuration changes to computers and other managed devices using your systems management platform.
MSI Package Builder allows you to create MSI packages two ways: by manually creating a project and configuring the MSI package using the visual editor, or by using its Live Monitoring technology to automatically generate the MSI package. You can also use MSI Package Builder to decompile an existing MSI package, customize the installation process, and recompile a new MSI package for an application.
MSI Package Builder comes in three versions: Starter, Professional, and Enterprise editions. The Starter edition doesn't include the Live Monitoring technology and can only be used for manual packaging of application setup files. The Enterprise edition includes some additional functionality not found in the Professional edition, such as the ability to create or delete user and system environment variables, and to create or delete system services or modify the service start options, state, arguments, and dependencies.
Testing the product
I tested the Enterprise edition of MSI Package Builder and tried using it to package the .exe files of a variety of different applications from different vendors including Adobe, Microsoft and others. I began by installing MSI Package Builder on a clean install of Windows 7 Enterprise x64 SP1 running in a domain-joined virtual machine on a Hyper-V host. If you test MSI Package Builder in a virtual environment like this, you should make sure you restore your virtual machine to its original clean state each time you want to perform the Live Monitoring process. You shouldn't simply uninstall the application you want to package because doing this might leave some files or registry settings remaining behind, which can result in subsequent Live Monitoring operations failing to pick up some changes. I tried creating packages for a variety of different types of applications, but as EMCO recommends I avoided trying to package system software such as hotfixes or drivers since these typically require special permissions in order to install properly.
Installing MSI Package Builder was straightforward. The system requirements for installing the product include administrative rights on the local computer and the Microsoft .NET Framework 2.0 (3.5 SP1 recommended). Once I activated MSI Package Builder using the license key EMCO provided me with for testing purposes, the product launched and displayed the Project Wizard, which provides a fast and simple way of automating MSI packaging using Live Monitoring:
Figure 1: The Project Wizard automates the MSI packaging process.
I began with a simple project of packaging the setup file for the latest version of Adobe Acrobat Reader which I downloaded from the Adobe website. Selecting the Create MSI option on the next wizard page made it easy to do this:
Figure 2: Creating an MSI from an EXE setup file.
On the next page this I selected the Monitor Installation option as shown here:
Figure 3: Using Live Monitoring.
The page that followed this recommended I close any other open applications and also warned me to disable any antivirus software running since it could interfere with the packaging process. On the next page, I specified the path to the setup file for Acrobat Reader:
Figure 4: Selecting the EXE to package.
The next page allowed me to customize various aspects of how the application is packaged. There are various tabs to explore here, and documentation of what they do can be found in the MSI Package Builder Help file which can be accessed from the Help menu of the product. I made only a few modifications and left most settings at their defaults:
Figure 5: Choosing the destination folder and configuring other package settings.
The next page displays any user-mode processes running on the system. By selecting these processes you can exclude them from being monitored during package creation:
Figure 6: Selecting running processes to filter out from being monitored.
A few more options are presented on the final wizard page as shown here.
Figure 7: Completing the wizard.
Clicking Finish started Live Monitoring and launched the installation process for Acrobat Reader. I walked through this process making the selections required such as specifying the installation folder and whether the product should be automatically updated when updates for it are released by Adobe. Once I completed installing Acrobat Reader, I clicked the Continue button in the Monitoring dialog shown here to terminate Live Monitoring and begin the packaging process:
Figure 8: Clicking Continue terminates the Live Monitoring process and starts the MSI packaging process.
Once the executable setup file was successfully packaged as an .msi file, I copied the package to another virtual machine running the same version of Windows and successfully performed a silent install of Acrobat Reader using the package. I also tried deploying it from the domain controller in my test environment using Group Policy Software Installation and this too worked without a hitch.
Most of the other applications I tried packaging worked fine as well. Only a few caused me some problems. Microsoft Security Essentials (MSE) was one application I had problems with, and while Microsoft provides this product as an .exe file that has parameters you can use for silent installation, I thought I'd try to see if I could package it into an .msi using MSI Package Builder. The first time I tried this, I allowed the MSE definition files to be downloaded as part of the installation process. Once the initial scan started, I terminated Live Monitoring to create the .msi package. I then deployed the package to a target system and installation failed with a message that one of the MSE services had failed to start. So I tried doing it again but this time selected the option not to download definition files or begin scanning. This time the resulting package deployed successfully, but the user had to open MSE and manually start it to download the definition files so scanning could commence.
Another application I had problems packaging was Microsoft Network Monitor, a free tool for capturing and analyzing network traffic that Microsoft provides in the form of an .exe setup file. The problem here might be that this .exe file already includes two .msi packages in it, one for installing Network Monitor itself and the other for installing the default parser files for analyzing different types of networking protocols. When I simply ran the Project Wizard and packaged Network Monitor into an MSI and deployed it, the application installed successfully but the parser files couldn't be read. However, after digging around in the documentation for Network Monitor I discovered you can extract the two .msi files from the .exe so you can deploy the application and parser files separately using your software deployment platform. All this really goes to show however is that converting .exe setup files into .msi packages isn't always a trivial process, and any tool that claims it can do this quickly and easily is overpromising to a certain degree.
EMCO MSI Package Builder is easy to use for packaging most applications you might want to deploy using your organization's automated software deployment platform. You might run into difficulties packaging a few applications, and while consulting the Help file for the product might help, the videos and tutorials on the EMCO website are the first place you should look. The videos seem to have been created using an earlier version of MSI Package Builder however. For example, in the video titled "How to repackage EXE to MSI" the Parameters field is not shown in the Monitoring Project Details page of the Project Wizard, and there are now extra tabs on the MSI Package Attributes wizard page that are not shown in the version used in the video. It would be good if EMCO updated their videos, got rid of the distracting background music, and used a real voice instead of computer-generated one for reading the video transcript. Until they do this it's probably better if you use the Getting Started tutorial instead of the videos as this tutorial seems to use the latest version of the product.
In conclusion, my rating for this product 4.5 out of 5 earning EMCO MSI Package Builder WindowsNetworking.com Gold Award.
For more information about EMCO MSI Package Builder and to download an evaluation copy of the software, go to http://emcosoftware.com/msi-package-builder.
The Getting Started tutorial for the product can be found at http://emcosoftware.com/msi-package-builder/getting-started.
A company profile of EMCO Software can be found at http://emcosoftware.com/about-us.
WindowsNetworking.com Rating 4.5/5