Kae Travis

What is an MSIX AppxManifest.xml

When looking at the anatomy of an MSIX package, one of the most important files is AppxManifest.xml.  But what is an MSIX AppxManifest.xml file, and what is it used for?

The MSIX app manifest is an XML file that provides important information about the MSIX application, such as its name, version, dependencies, and capabilities. Here is a breakdown of the different elements that make up an MSIX app manifest:

  1. Package Identity: This section contains information about the package identity, such as the package name, publisher, and version.
  2. Dependencies: This section lists any dependencies that the application has, such as other packages or libraries that need to be installed alongside the main application package.
  3. Capabilities: This section specifies the capabilities that the application requires, such as access to certain system resources or features. This helps to ensure that the application is only installed on systems that meet the necessary requirements.
  4. Executables: This section lists the executable files that are included in the package, along with their associated entry points.
  5. File Associations: This section specifies any file associations that the application should register with the operating system.
  6. Registry: This section provides information about any registry keys that the application needs to create or modify.
  7. Environment Variables: This section lists any environment variables that the application needs to set.
  8. Extensions: This section specifies any extensions that the application needs to install, such as browser extensions or shell extensions.
  9. Visual Elements: This section provides information about the application’s visual elements, such as the icon and splash screen.
  10. Applicability: This section specifies any rules or conditions for when the application can or cannot be installed, such as minimum system requirements or compatibility with specific versions of Windows.

Overall, the MSIX app manifest is a key component of the MSIX package, providing important information about the application that helps to ensure its proper installation and operation on the target system.

AppxManifest.XML Example Content

Here’s an example of an AppxManifest.xml file for a simple MSIX app:

<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
         xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
         xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
         IgnorableNamespaces="uap mp">

  <Identity Name="Contoso.MyApp" Publisher="CN=01234567-89ab-cdef-0123-456789abcdef" Version="1.0.0.0" />

  <Properties>
    <DisplayName>My App</DisplayName>
    <PublisherDisplayName>Contoso, Inc.</PublisherDisplayName>
    <Description>A simple app for Windows</Description>
    <Logo>Assets\Logo.png</Logo>
  </Properties>

  <Dependencies>
    <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14316.0" MaxVersionTested="10.0.19042.0" />
  </Dependencies>

  <Resources>
    <Resource Language="en-us" />
  </Resources>

  <Applications>
    <Application Id="App" Executable="MyApp.exe" EntryPoint="Windows.FullTrustApplication">
      <uap:VisualElements DisplayName="My App" Description="A simple app for Windows" Square150x150Logo="Assets\Square150x150Logo.png" Square44x44Logo="Assets\Square44x44Logo.png" />
    </Application>
  </Applications>

</Package>

This AppxManifest.xml file contains the following elements:

  • The Identity element specifies the name, publisher, and version of the app.
  • The Properties element specifies the display name, publisher display name, description, and logo of the app.
  • The Dependencies element specifies the target device family and minimum and maximum versions of Windows that the app supports.
  • The Resources element specifies the language of the app.
  • The Applications element specifies the app’s executable file, entry point, and visual elements such as its display name and logos.
What is an MSIX AppxManifest.xml
What is an MSIX AppxManifest.xml

Leave a Reply