Ever since the dawn of the consumer electronics and Windows OS, before virtualization has hit the mass-market, non-virtual packages were used to install software. It is worth mentioning though that non-virtual packages remain fairly popular and are nowadays widely used – as often as virtual packages.
Non-virtual packages can be grouped into three main categories, which we discussed in the previous blog posts:
- Microsoft Windows Installer packages (.MSI)
- Executable files (.EXE)
- Scripted installation (.bat, PowerShell, etc.)
According to the best practices, it is strongly advised to use Windows Installer (MSI) format for most application packaging needs.
- Being more flexible in comparison to other formats, MSI is a perfect choice to perform complex operations with packages.
- MSI allows using scripts to perform fine-tuning, therefore making it possible to deal with tasks of any complexity.
- Since many .exe installers are rather limited in terms of configuration options, they can be repackaged to Windows Installer packages. Unfortunately, some packages can’t be repackaged, as they might be based on complex internal logic (e.g., installation of a system service or a driver). In such cases, it’s possible to use MSI format as a wrapper for an .EXE file. Custom Action is used to deploy .exe files while all additional configuration is performed using MSI. That results in a single .MSI file, containing all necessary installation logic and ready for deployment.
- It should be noted, that Microsoft SCCM, one of the most popular deployment systems, is optimized for Windows Installer format providing a native support of .MSI packages. It ensures effective utilization of all features, offered by the Windows Installer technology.
In our next blog post, we’ll discuss existing approaches to virtual application packaging in Windows environment. Stay current!
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.
Learn more about PACE Suite: https://goo.gl/tP3mkK