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.
The fonts are installed per user not per-machine, meaning only the user that installed the MSIX has access to them.
Frequently Asked Questions about APPX&UWP
- What is an APPX?
- What does an APPX package contain?
- What is the installation type of a UWP app?
- Where the UWP apps get installed?
- What is a UWP package?
- How to install an APPX package from other sources that you trust, outside of the Windows Store?
- Why do I receive the "External tool not found: MakePri.exe" error during the UwpAppX build?
- Why do I receive the "Error: SignerSign() failed. (-2147024885/0x8007000b)" error during the UwpAppX build?
- Why do I receive the "You must include at least one Application in an UwpAppx build" error during the UwpAppX build?
- I have just converted a classic desktop application to an APPX package, why do I receive the “Failed due to unknown reasons” when I try to install it?
- Can I configure the default app launched at the end of the deployment of an APPX bundle?
- How do I access the APPX installation log?
- Why do I get the “Invalid package identity name” error?
- Why do I get the “Invalid package family name” error?
- Why do I get the “Invalid package publisher name” error?
- Why do I get the “This package’s manifest uses a display name that you have not reserved” error?
- Why is the static HTML page contained by my APPX package not rendered properly?
What is an APPX?
The APPX is the file format used to distribute and install apps on the Universal Windows Platform. The APPX is an .ZIP-based container file.
What does an APPX 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 APPX 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
What is the installation type of a UWP app?
The UWP app is installed per-user. Users don't have any knowledge of what was installed for any other user.
Where the UWP apps 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.
What is a UWP package?
The UWP packages are Win32 apps converted to APPX. Are also called full trusted apps.
How to install an APPX 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 APPX file from Windows Explorer and follow the graphical installer
- Untrusted apps:
- import the security certificate used to sign the APPX into the system store
- run PowerShell cmdlet as admin
- run following command pointing to the APPX file on the target system:
Add-AppxPackage -Path "C:\Path\Your.APPX"
To build a full trust APPX 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 UwpAppX build?
For creating UwpAppX 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 UwpAppx build" error during the UwpAppX build?
When you create your UwpAppX 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 UwpAppX build, and you will get this error. There are two solutions:
- Add your application(s) manually to the Application Details page
- Create the shortcut(s) for your application(s); they will be added automatically to your UwpAppX build
Desktop Bridge Setup Convertor
Applications are created automatically from your shortcuts when the UwpAppX build generates. If no shortcuts are found/captured by our converter, you get an error. Make sure you do not untick all the shortcuts from the dialog presenting you the summary of the package contents.
If your installer does not create shortcuts, you can create them manually after the installation has finished, while converting your application, before you press ENTER and let the converter continue its last step of the conversion/monitoring process.
I have just converted a classic desktop application to an APPX 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.
Matteo Pagani's blog post offers 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 APPX 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 APPX 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 APPX bundle?
When you install a multi-app package from the Windows Store, there is nobutton. 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 APPX bundle.
How do I access the APPX 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.
Why is the static HTML page contained by my APPX package not rendered properly?
If a static HTML page contained by an APPX 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.