No matter how you use Windows, understanding the pros and cons of MSI and MSIX can help you make better decisions about your software. The MSIX packaging tool is a new feature in Windows 10 that allows software developers to package their apps as MSIX files and distribute them through the Microsoft Store. Here are some of the key information about these two types.
What is MSI?
MSI stands for Microsoft Installer, a tool that helps you install and uninstall software on Windows computers. MSI packages can be used to distribute software on Windows computers using the most common way to install applications in the Windows ecosystem.
The MSI format was created around 2001, and it has been almost completely adopted as a standard by all major software companies since then. As of now, MSI is the primary method of distributing software on Windows PCs. There are very few exceptions to this rule because Microsoft’s unique partnership with Adobe ensures that third-party applications use this format by default when they are distributed through their marketplaces (more info here).
Pros of MSI
MSI is the most common package format. It’s compatible with all operating systems and can be used to install, uninstall, and update software. MSI is also the most flexible package format because it can be customized in many ways:
- You can change where files are installed.
- You can add custom actions that run before or after installation (or both).
- You may add custom data to your application.
- You can add custom properties to your application. You can add custom files and directories to be installed.
- You can add custom registry keys and values to be created. You can change the format of the MSI database table. You can even add custom MSI tables.
Cons of MSI
MSI has been in use since the 1990s. While it’s still widely supported and useful, MSI is a legacy package format that can be difficult to work with for modern app development needs. MSI is not well-suited for modern app development due to its lack of support for:
- Modern app deployment mechanisms like Docker containers, cloud platforms, and continuous integration/continuous deployment (CI/CD) pipelines.
- MSI is not well-suited for modern app development due to its lack of support for Modern app deployment mechanisms like Docker containers, cloud platforms, and continuous integration/continuous deployment (CI/CD) pipelines Source code control systems like Git or GitHub.
What is MSIX?
MSIX is a new package format that allows you to install multiple apps in a single package. It’s the successor to MSI, and it’s based on the AppX format.
MSIX was introduced as a way of unifying all app delivery methods into one format. The goal is that MSIXs will be able to be installed from any source: Windows Store, web apps (like Chrome), and sideloaded apps (like those you install on your PC without going through Microsoft).
Pros of MSIX
- Provides a better experience for users and developers. MSI has a lot of issues that make it difficult to use, and MSIX addresses these problems by providing an improved user experience.
- Is easier to develop with than MSI. In addition to being more user-friendly, MSIX is also simpler for developers because it doesn’t require as many tools or steps as MSI does. Developers can create applications using just Visual Studio later versions without worrying about extra steps or having to install additional programs like WiX Toolset or WiX Code Generation Tools (Wix CGen).
- Is more secure than MSI. Because applications packaged in MSIX don’t need patches installed during installation or uninstallation. They’re just files and they can be installed without running through the Windows Update process, which prevents malware from being downloaded onto your computer during installation or uninstallation of the app itself
Cons of MSIX
- MSIX must be installed by a user
- MSIX is not supported on all Windows versions, but it is supported on all versions of Windows 10.
- Third-party apps and MSI packages are not supported in MSIX.
- App installation on non-Windows Store devices (such as Android) is also not supported by default.
Which package format is right for your needs?
If you’re familiar with MSI and have a large number of packages that need to be deployed, your organization has likely invested in tools for packaging and deploying them. If so, you should consider using MSIX instead. Not only does MSIX provide more flexibility than MSI. It’s easier to update and can support side-by-side installations. But it also allows you to move away from the file cabinet approach to updating applications.
However, if your organization doesn’t already have an established process for managing software updates or has fewer than 100 applications that need to be deployed, MSI may still be the best choice for you. This is because MSIX isn’t currently supported by all major vendors (such as Adobe and Autodesk), meaning that some users will still need MSI to get their software updates when they become available through Windows Update on Windows 10 devices running version 1903 or later operating systems (OS).
Conclusion
MSI and MSIX have their pros and cons. MSI is more lightweight, while MSIX offers more features. MSIX has a better open-source ecosystem with more options for extension points than MSI does. But if you want to build something with a lot of extensions that require fine-grained control over how your package is installed or uninstalled then you might prefer using MSI because it’s simpler to use when building packages with lots of dependencies.