Types of Packages: Non-Virtual Packages – Microsoft Windows Installer (MSI)
Microsoft knows a lot about doing things right. Wise people say, “Success is not a matter of chance, it is a matter of choice; it is not a thing to be waited for, it is a thing to be achieved”.
That is exactly the case of the most popular platform that allows creating non-virtual packages. Initially, MSI was designed with a single purpose in mind – to install Microsoft Office 2000. It was only later on, upon consideration of the flexibility and convenience of Windows Installer, that the company decided to extend MSI support to the OS level. Windows Installer 5.0 is included with Windows Server 2008 R2, the operating system in Windows 7, and later client and server releases, including Windows 10.
What Is An Installer and How It Works
The installer consists of a set of tables forming a relational database. The tables describe the package structure and its properties. The Microsoft Windows Installer technology includes a number of installation file formats, each serving different purposes:
- MSI. Microsoft Windows Installer Main Type includes the complete structure of tables and information summary, describing the installation. Read more about Windows Installers in the “Windows Installer Overview”.
- MSP. Microsoft Patch carries changes to the Basic Type installer. Its main function is to update the previous installation with new information (files, registry settings, configuration (.INI) files, etc.). MSP can be installed separately, but only after the MSI with previous version of the product has been installed into the system.
- MST. Microsoft Transform File modifies the Basic MSI. The key difference between MST and MSP is that MST can’t be installed separately from MSI. This format is extensively used in application packaging practice to customize Vendors’ .MSI files, ensuring the preservation of the initial .MSI logics, warranties and related liabilities. Normally, all additional settings and branding information are included into .MST Files. Explore the guide on Creating MST Files.
- MSM. Microsoft Merge Module is utilized to single out and integrate common components. It contains images of all tables, which have relevant information regarding the common components. MSM is used in various libraries from MS Redistributable Packages. Ready-made merge modules are supplied with Microsoft Visual Studio or can be downloaded from the alternative sources. Such modules contain accurate information regarding registration of a library in the system and are the best choice if a package contains common libraries.
- MSU. Microsoft Update Standalone Package was first introduced with Windows Vista and is nowadays used by Microsoft to install Windows updates. This format, utilized solely by Windows update service, is frequently (and falsely) associated with Windows Update Installer. However, it would be wrong to associate MSU with MSI format. Microsoft Update format is based on a completely different technology. It can’t be called flexible or worthy for packaging practice and can’t be used in any other way than to install system updates. Why did we put MSU on the list then? The answer is simple: sometimes you may need to install update packages and for a number of reasons you might be looking for an alternative to the regular update service.
For more information on Windows Installer features and functions, please refer to the official Microsoft website.
Information about another popular approach to non-virtual application packaging – Executable Installers is available here.
Discover application packaging formats that are available on the market today.
About the Author
Dmitry Puzanov is an experienced IT specialist, a leader of Infopulse application packaging team and an analyst in the packaging sphere with 10+ years of experience in support engineering, networking, software installation development, and IT management.