Application (Windows 10)

Represents an app that comprises part of or all of the functionality delivered in the package.

Element hierarchy

<Package>
<Applications>
<Application>

Syntax

<Application Id                  = An ASCII string between 1 and 64 characters in length. See the Attributes table for more information on character restrictions.
             Executable?         = A string between 1 and 256 characters in length that must end with ".exe" and cannot contain these characters: <, >, :, ", |, ?, or *. It specifies the default executable for the extension. If not specified, the executable defined for the app is used.  If specified, the EntryPoint property is also used. If that EntryPoint property isn't specified, the EntryPoint defined for the app is used.
             EntryPoint?         = A string between 1 and 256 characters in length, representing the  task handling the extension. This is normally the fully namespace-qualified name of a Windows Runtime type. If EntryPoint is not specified, the EntryPoint defined for the app is used instead.
             StartPage?          = Any valid URI or IRI (the non-ASCII version of a URI). See below for more details. 
             ResourceGroup?      = An alphanumeric string between 1 and 255 characters in length. Must begin with an alphabetic character.
             desktop4:Subsystem? = String value. Can be one of the following: "console", "windows"
             desktop4:SupportsMultipleInstances? = Boolean. >

  <!-- Child elements -->
  ( uap:VisualElements
  & uap:ApplicationContentUriRules?
  & Extensions?
  )

</Application>

Key

? optional (zero or one) & interleave connector (may occur in any order)

Attributes and Elements

Attributes

Attribute Description Data type Required Default value
EntryPoint

The activatable class ID, such as ""Office.Winword.Class".

If you specify this attribute, you must also specify the Executable attribute. If you specify this attribute you must not specify the StartPage attribute.

A string between 1 and 256 characters in length, representing the task handling the extension. This is normally the fully namespace-qualified name of a Windows Runtime type. If EntryPoint is not specified, the EntryPoint defined for the app is used instead. No
Executable

The default launch executable for the app. This file must be present in the package.

If you specify this attribute you must specify the EntryPoint attribute. If you specify this attribute you must not specify the StartPage attribute.

A string between 1 and 256 characters in length that must end with ".exe" and cannot contain these characters: <, >, :, ", |, ?, or *. It specifies the default executable for the extension. If not specified, the executable defined for the app is used. If specified, the EntryPoint property is also used. If that EntryPoint property isn't specified, the EntryPoint defined for the app is used. No
Id

The unique identifier of the application within the package. This value is sometimes referred to as the package-relative app identifier (PRAID).

The ID is unique within the package but not globally. There may be another package on the system that uses the same ID. The same ID cannot be used more than once in the same package.

This string contains alpha-numeric fields separated by periods. Each field must begin with an ASCII alphabetic character. You cannot use these as field values: "CON", "PRN", "AUX", "NUL", "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8", and "LPT9".

When using a Visual Studio template, the default value of this attribute is "App". Developers should manually change this in the manifest.

The app's identifier should not be changed after the app has been published to the Microsoft Store; doing so will disrupt the tile's position on the Start screen.

An ASCII string between 1 and 64 characters in length. Yes
ResourceGroup

ResourceGroup is a tag that you can use to group extension activations together for resource management purposes (for example, CPU and memory). See Extension@ResourceGroup.

An alphanumeric string between 1 and 255 characters in length. Must begin with an alphabetic character. No
StartPage

The default launch HTML page for the app. This can be a relative Windows file path referencing a document in the app's package, or it can be an absolute URL (so that a web site can publish as an app in the Store). The URL can only be starting with http://, https:// or ms-appx-web://. This is the entry point document that will be loaded by WWAHost when starting a WWA for that app.

Technically, the value may be a URL or an IRIā€”the non-ASCII version of a URI. An IRI must support up to 2084 characters and must be allowed to contain the %, and reserved and unreserved characters as described in RFC 3986 Appendix A.

If you specify this attribute, you cannot specify either the EntryPoint attribute or the Executable attribute.

Any valid URI or IRI (the non-ASCII version of a URI). No
uap4:Subsystem

Indicates whether the app is a standard UWP app or a UWP console app.

String value. Can be one of the following: "console", "windows". No
uap4:SupportsMultipleInstances

Indicates support of multiple, separate instances of UWP apps.

Boolean value. No

Child Elements

Child Element Description
Extensions (type: CT_ApplicationExtensions)

Defines one or more extensibility points for the app.

uap:ApplicationContentUriRules

Specifies which pages in the web context have access to the system's geolocation devices (if the app has permission to access this capability) and access to the clipboard.

uap:VisualElements

Describes the visual aspects of the app: its default tile, logo images, text and background colors, initial screen orientation, splash screen, and lock screen tile appearance.

Parent Elements

Parent Element Description
Applications

Represents one or more apps that comprise the package.

Remarks

The Application element contains attributes that are common to the extensibility points that pertain to the app. This information is used by other extensibility points to get information about the app. Also, Application attributes are used in the start and management of an instance of the app.

The StartPage applies only to a JavaScript app. If StartPage is not specified, then both the Executable and EntryPoint attributes must be specified, and this applies only to a C#, C++, or VB app.

Important notes about multi-instancing apps:

  • If an app declares SupportsMultipleInstances within the Application element, then all foreground extensions will also be multi-instanced.
  • The app should only declare SupportsMultipleInstances on background tasks, background audio, or app services.
  • If the app declares SupportsMultipleInstances at the Application node, then it does not need to be declared at the Extensions level.
  • Console apps will always be multi-instanced and must explicitly declare SupportsMultipleInstances.
  • Apps can use the ResourceGroup declaration in the manifest to group multiple background tasks into the same host. This conflicts with multi-instancing, where each activation goes into a separate host. Therefore, an app cannot declare both SupportsMultipleInstances and ResourceGroup in the manifest.

Requirements

Namespace

http://schemas.microsoft.com/appx/manifest/foundation/windows10