What is MSIX?
MSIX is a Windows app package format that provides a modern packaging experience to all Windows apps. The MSIX package format preserves the functionality of existing app packages and/or install files in addition to enabling new, modern packaging and deployment features to Win32, WPF, and Windows Forms apps.
MSIX enables enterprises to stay current and ensure their applications are always up to date. It allows IT Pros and developers to deliver a user centric solution while still reducing the cost of ownership of application by reducing the need to repackage.
Key features
Highlights
Introduction video to MSIX and resources
This video introduces the key ways that MSIX packaging can help you streamline and improve your app installation and deployment workflows.
Visit the MSIX Tech Community page for discussions and the latest information about MSIX. For additional resources about learning MSIX, see this article.
Inside an MSIX package
App payload
The payload files are the app code files and assets that are created when building the app.
AppxBlockMap.xml
The package block map file is an XML document that contains a list of the app’s files along with indexes and cryptographic hashes for each block of data that is stored in the package. The block map file itself is verified and secured with a digital signature when the package is signed. The block map file allows MSIX packages to be downloaded and validated incrementally, and also works to support differential updates to the app files after they’re installed.
AppxManifest.xml
The package manifest is an XML document that contains the info the system needs to deploy, display, and update an MSIX app. This info includes package identity, package dependencies, required capabilities, visual elements, and extensibility points.
AppxSignature.p7x
The AppxSignature.p7x is generated when the package is signed. All MSIX packages are required to be signed before install. With the AppxBlockmap.xml, the platform is able to install the package and be validated.
Supported platforms
See this article for a full list of platforms that support MSIX.
Benefits of app containers
Apps that are packaged using MSIX run in a lightweight app container. The MSIX app process and its child processes run inside the container and are isolated using file system and registry virtualization. All MSIX apps can read the global registry. An MSIX app writes to its own virtual registry and application data folder, and this data will be deleted when the app is uninstalled or reset. Other apps do not have access to the virtual registry or virtual file system of an MSIX app.
Prepare your environment for conversion
Preparing your conversion environment is an important step in the conversion process. The following recommendations will help to ensure your success when you are converting your existing installers to MSIX.
The minimum OS version requirement for the MSIX Packaging Tool is Windows 10 1809. We understand that not everyone is on the Windows 10 October 2018 Update or even Windows 10. Therefore, we recommend that you create a clean VM that is pre-configured for the min version of support for the MSIX Packaging Tool. Deployment of the generated MSIX package has different support requirements.
A clean machine for conversion is important because during the installation step of the MSIX Packaging Tool, we will be listening to everything in the environment to capture what the installer is doing. A clean machine means that there aren’t extraneous apps or services running on your machine that could get captured in your package.
We recommend configuring the conversion machine to mimic the environment where the MSIX package will be run, so if there are services or policies that will be there, you can test that the package will actually work.
Your conversion environment should match the architecture of where you will be deploying the application. For example, if you are going to deploy your MSIX package on an x64 machine, you should perform the conversion on an x64 machine.
If this isn’t something you have we offer a Quick Create VM, the MSIX Packaging Tool Environment in Hyper-V, which is ready to go with conversion with Windows 10 1809 and the latest version of the MSIX Packaging Tool.
Follow the best practices recommendations for setting up the MSIX Packaging Tool (or tool of your choice), then create a checkpoint for the VM. This way you can use the VM to convert, revert to your previous checkpoint, and it will be a clean, configured machine ready for conversion again or for verifying your MSIX package converted successfully.
Its also good to know what kind of dependencies you have so that you can understand which ones you should run with your app and which should be packaged as a modification package. For example, if you have runtime dependencies, it’s a good idea to include those in your main application. If you have a plug in, you should package that as a modification package to associate with your main application.
If you want to perform your conversion on a remote machine, you will need to do some additional set-up to enable it for conversion.




