Introduction into EXE to MSI Repackaging
This article explains in what cases you need to repackage EXE to MSI, highlight benefits of installations in MSI format and describes a basics of repackaging process.
Installation packages in EXE and MSI formats seems to be similar from the end-user point of view. Both allow you to install and uninstall software by following installation and uninstallation steps. But MSI installations, also known as Windows Installation packages, have few features, important if you need to make a remote unattended installation or centralized software deployment to remote PCs. By repackaging EXE to MSI format you can keep the functionality of original installation and get benefit from remote software deployment.
What are Advantages of Installations in MSI Format?
A typical installation in the EXE format is just an executable file that performs a setup actions. Software developers may use InstallShield, InstallAnywhere, Wise Installation Studio and other tools to create EXE installations. Installation packages produced by different tools have a different install and uninstall options defined by a setup production tool. A lack of standard for installation features and their standard behavior are main limitations for using EXE setups for a remote deployment.
MSI technology was specially designed by Microsoft to address many installation issues, including a remote software deployment. There are few main reasons why using MSI technology is preferred (or even required in many cases) for network software distribution:
- Installations in EXE format are primarily designed for an interactive deployment and many of them don't support deployment in a silent mode, i.e. an automatic deployment with predefined options with no user interaction. It means that such setup packages can't be deployed remotely. Even if EXE installation supports silent mode, it's not obvious on practice how to activate it, because setup packages produced by different tools have different options to enable a silent mode. MSI packages, in opposite to this, should comply requirements of Windows Installer and support silent installation mode, so you can deploy them silently using standard methods.
- MSI technology is a current and future standard for installation on Windows platform, so it's better supported by a remote deployment tools. In order to deploy EXE installation through the Group Policy automatically, this installation have to work in a silent mode. Group Policy doesn't accept direct EXE installation therefore you have to create a ZAP file to execute EXE installation in a silent mode. In opposite to it, MSI installation is quick and easy. With no any additional steps you can make centralized MSI deployment in domain through a Group Policy. Or use EMCO Remote Installer, for example, to distribute software in workgroups or mixed (domain/workgroup) environments.
- EXE installations are more restrictive than MSI when deployed remotely. An installation cannot be rolled back if the application fails to install correctly. Also MSI can be uninstalled remotely by a standard way silently, while remote uninstallation of EXE package may become problematic, because it requires to run uninstallation in a silent mode and not all packages support this.
When Do You Need to Repackage EXE to MSI?
It makes sense to perform EXE to MSI repackaging in order to benefit from quick and easy deployment of MSI package in automatic mode across the network. If original EXE setup isn't ready for a silent install its repackaging to MSI format is the only way to prepare it for a remote distribution.
EXE to MSI repackaging technology also can help you to customize a third-party installations. As far as you don't have a source code, you can't modify existing installations directly. But you can repackage installations into MSI format and get an access to installation actions in order to modify them. For example, you can merge two installations into one MSI, apply additional installation steps or replace installed resources.
How EXE to MSI Repackaging Works
As far as EXE and MSI formats are incompatible, there is no direct way to transform one into another. But it's possible to track changes happened during the installation and create MSI package that makes the same. It means that produced MSI package can replicate installation results of the original installation and it doesn't require any interaction with the end-user, because installation options were already preconfigured. Such MSI can be deployed remotely in a silent mode.