Frequently Asked Questions about MSIX

What is an MSIX package?

The MSIX is the file format used to distribute and install apps on the Universal Windows Platform (Windows 10 included). The MSIX is an .ZIP-based container file.

Win32 apps packages as an MSIX are also called "full trusted apps".

What does an MSIX package contain?

Each Windows Runtime app package contains the app’s payload files plus info needed to validate, deploy, manage, and update the app.

In an MSIX package you will find:

  • App payload which is the Application files
  • XML configuration files which are:
    • App manifest which is the app manifest file (AppxManifest.xml)
    • App block map which is the app package’s block map file (AppxBlockMap.xml)
  • App signature

A detailed explanation can be found here: https://www.advancedinstaller.com/msix-introduction.html#package-content-layout

How do I install and register a font using an MSIX package?

You need to add your font file in "Files and Folders" and create an install font declaration for the MSIX package.

To create the font declaration Go to Universal Windows > Declarations, right-click on the application entry and select Add Application Declaration > Shared Fonts. Press New > [...] to select and add your font as a shared font.

Detailed step-by-step instructions can be found here: https://www.advancedinstaller.com/install-fonts-msix.html

NoteThe fonts are installed per user not per-machine, meaning only the user that installed the MSIX has access to them.

What is the installation type of a MSIX package?

MSIX packages are installed per-user. Users don't have any knowledge of what was installed for any other user.

Where does a MSIX package get installed?

In UWP apps we have app isolation mechanism, which means they only impact the account of the user who installed them. The app binaries are stored on the drive (%ProgramFiles%\WindowsApps). Only the Operating System can write in that location. The application cannot write in that location; the application is running in a sandbox.

How to install an MSIX package from other sources that you trust, outside of the Windows Store?

A requirement is to have "Sideload apps" option enabled on your target machine from "Settings" -> "Update and security" -> "For developers".

There are two ways to sideload apps after Windows 10 Anniversary Update:

  • Full trust apps: double-click the MSIX file from Windows Explorer and follow the app installer
  • Untrusted apps:
    • import the security certificate used to sign the MSIX into the system store
    • run PowerShell cmdlet as admin
    • run following command pointing to the APPX file on the target system:
Add-AppPackage -Path "C:\Path\YourPackage.MSIX"

Read more about the PowerShell commandlets available for managing MSIX package here: https://www.advancedinstaller.com/msix-powershell-cmdlets.html

TipTo build a full trust MSIX package from Advanced Installer you must enable the option from the Capabilities Page.

Why do I receive the "External tool not found: MakePri.exe" error during the MSIX build?

For creating MSIX packages with Advanced Installer, the build machine must have the latest Windows SDK installed.

Why do I receive the "Error: SignerSign() failed. (-2147024885/0x8007000b)" error during the UwpAppX build?

This error may occur if the ID field from the Package Information view does not match with the publisher subject information of the certificate used to sign the package.

Why do I receive the "You must include at least one Application in an MSIX build" error during the MSIX build?

When you create your MSIX build, Advanced Installer checks your AIP project for the shortcut(s) to your application(s). If you don't have any shortcut(s), it won't know what application(s) you want to add to your MSIX build, and you will get this error. There are two solutions:

  1. Add your application(s) manually to the Application Details page
  2. Create the shortcut(s) for your application(s); they will be added automatically to your MSIX build

I have just converted a classic desktop application to an MSIX package, why do I receive the “Failed due to unknown reasons” when I try to install it?

This error may occur if you have not included in your Advanced Installer Project all the images in Visual Assets and Package Information for all the required resolutions and tile sizes.

Microsoft docs offer a solution for the same issue if you used Microsoft's Desktop App Converter for the conversion.

The same error could appear when you try to install an MSIX using a newer schema which is not available on an old version of Windows 10. In this case, the current system removes the unknown elements of the schema manifest and then tries to process the stripped out manifest.

Sometimes, due to system bugs, the stripped out manifest becomes invalid and cannot be processed. In this case, the current error is thrown. To get the exact source of the error, you can check the MSIX install log. For instance, Open the event log: Event Viewer (Local) > Applications and Services Logs > Microsoft > Windows > AppxPackagingOM > Microsoft-Windows-AppxPackaging/Operational

Can I configure the default app launched at the end of the deployment of an MSIX bundle?

When you install a multi-app package from the Windows Store, there is no [ Launch ] button. Instead, you are directed to the app list to choose what app you want to start, meaning you cannot have a default app for an MSIX bundle.

How do I access the MSIX installation log?

First, you have to launch the Event Viewer by going to Start > Event Viewer (Local).

Once in the Event Viewer go to Applications and Services Logs > Microsoft > Windows > AppxPackagingOM > Microsoft-Windows-AppxPackaging/Operational.

Why do I get the “Invalid package identity name” error?

The package identity name must be composed of the publisher/company name and the app name (i.e., YourCompanyName.YourAppName).

Microsoft automatically detects your company name from your Windows Developer account.

Why do I get the “Invalid package family name” error?

The package family name is generated by the OS (not Advanced Installer) starting from the package identity name. The OS appends a hash at the end of the name, which is generated from the package and publisher identify information.

You cannot directly set this name. As long as you set the package identity name (as Microsoft requires) and the CN, the package family name will be set correctly.

Why do I get the “Invalid package publisher name” error?

When you publish an app in the store you no longer need to sign it with your certificate; the Microsoft Store will do it instead. Digital signing is only required when you test the app on your local machine or if you plan to distribute it outside the Microsoft Store.

When you publish the app in the store, you need to disable digital signing in Advanced Installer and set the publisher ID in the project to the value from your Microsoft Developer account, i.e., CN=82A13EFD-FE37-4EFC-8BA4-1C3E9EFE5F23

Why do I get the “This package’s manifest uses a display name that you have not reserved” error?

You must log in to your Windows Developer account (sign up if you don't have one) and reserve your application name. For more details about registering a Windows Developer account see Microsoft’s documentation.

For more details on publishing an MSIX in the Microsoft Store visit this link: https://www.advancedinstaller.com/msix-publish-microsoft-store.html

Why is the static HTML page contained by my MSIX package not rendered properly?

If a static HTML page contained by an MSIX package does not render when launched from the installed package but renders correctly when launched from outside the package, check its encoding. Make sure you use UTF-8 with BOM encoding.

Why do I get the "Package acceptance validation error: The package file <package_file> specifies a headless app. You don't have permission to create a headless app."

This error is displayed when trying to upload to the Microsoft Store a package (.msixupload / .appxupload) with the AppList Entry option set to "None". The fix would be to update the AppList entry (in Application Details page) from None to Default or Not Specified.