How to Create MSI from EXE Installation

This article explains what is EXE to MSI repackaging, how it works and when it can be used. It provides an overview of repackaging tools and methods.

Repackaging of EXE installations into MSI format is required when you need to make an automatic software deployment across the network or customize existing third-party installations. MSI packages support silent installation mode, required for centralized remote deployment, and can be installed by standard software deployment tools. Most of legacy installations in EXE format couldn't be installed in a silent mode and aren't ready for remote deployment, so they have to be repackaged into MSI packages.

How Does EXE to MSI Repackaging Work

Any installation includes a list of resources and defines actions that should be performed in a scope of installation. For example, installation can create an application folder, copy files there, create entries in registry, create shortcut on the desktop, register DLL libraries in the system. All this information, including copied files, is stored in setup executable file. This file has a binary format, so it isn't possible to get an access to its content and transform it into MSI package. Nevertheless it is possible to create MSI package for corresponding EXE installation using other methods.

When application is installed, system modifications are applied - in particular, installation creates application file on the file system, it registers DLL libraries in the registry and so on. In general, application installation is a set of changes on the file system and registry. EXE to MSI repackagers can track these changes and use this information to create MSI package. In this case produced MSI package will work exactly as original installation that is installed manually and it's the way to produce a silent installation for the original one that couldn't work in a silent mode.

In order to repackage installation using one of repackaging tools you only need to follow installation steps once and install an application manually. Repackaging tool will track file system and registry changes in order to generate silent MSI automatically.

EXE to MSI Repackagers Comparison

There are two repackaging approaches that can be used for an automatic EXE to MSI repackaging. All tools available today use one of these approaches.

Snapshot comparison method is used by vast majority of tools, including EMCO Remote Deployment, ScriptLigic MSI Studio, Flexara AdminStudio and others. This method requires to make a file system and registry snapshots before and after application installation. Repackaging tool detects changes by comparing these snapshots.

Real-time monitoring method is implemented by EMCO MSI Package Builder. This method use kernel-mode driver to detect file system and registry changes at a real time and can produce more accurate results then snapshot comparison method. OS process information is reported for every change, so it's really easy to associate changes with processes and filter out unwanted changes performed by system or background processes.

Repackaging Example

All technical complexity of the EXE to MSI repackaging process can be hided by modern repackaging tools, so you don't need to be an expert in MSI in order complete repackaging successfully. The demo below shows how to convert the Adobe Reader installation to MSI package using EMCO MSI Package Builder.

Freeware MSI Tools
  • Windows Installer XML (WiX) is a free toolset that allows to build MSI package from XML source code.
  • Orca is a free database table editor for creating and editing Windows Installer packages and merge modules.