Application (package schema for Windows 8)

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?  = A string between 1 and 256 characters in length that cannot contain these characters: <, >, :, %, ", |, ?, or *. >

  <!-- Child elements -->
  ( VisualElements
  & 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".

For desktop apps, this value should be the actual entry point of the executable, such as "main", "WinMain", or "wWinMain".

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
StartPage

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

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

A string between 1 and 256 characters in length that cannot contain these characters: <, >, :, %, ", |, ?, or *. No

 

Child Elements

Child Element Description
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.

Extensions (type: CT_ApplicationExtensions)

Defines one or more extensibility points for the app.

VisualElements

Describes the visual aspects of the UWP 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.

If the StartPage attribute is specified, it is a Windows app using JavaScript. If StartPage is not specified, then both the Executable and EntryPoint attributes must be specified, and it is a UWP app using C# or VB and XAML.

Examples

The following example is taken from the package manifest of one of the SDK samples.

                    
<Applications>
  <Application Id="App" StartPage="default.html">

    <VisualElements DisplayName="Assocation launching sample" 
         Logo="images\squareTile-sdk.png" SmallLogo="images\smallTile-sdk.png" 
         Description="SDK sample" 
         ForegroundText="dark" BackgroundColor="#FFFFFF" ToastCapable="false">
      <DefaultTile ShowName="allLogos" />
      <SplashScreen BackgroundColor="white" Image="images\splash-sdk.png" />
    </VisualElements>

    <Extensions>
      <Extension Category="windows.fileTypeAssociation">
        <FileTypeAssociation Name=".alsdkjs">
          <SupportedFileTypes>
            <FileType>.alsdkjs</FileType>
          </SupportedFileTypes>
        </FileTypeAssociation>
      </Extension>

      <Extension Category="windows.protocol">
        <Protocol Name="alsdkjs" />
      </Extension>
    </Extensions>
  </Application>
</Applications>
                

Requirements

Value
Namespace http://schemas.microsoft.com/appx/2010/manifest