Extension (in type: CT_ApplicationExtensions)
Declares an extensibility point for the app.
Element hierarchy
- <Package>
-
- <Applications>
-
- <Application>
-
- <Extensions>
- <Extension>
Syntax
<Extension Category = "windows.fileTypeAssociation" | "windows.protocol" | "windows.autoPlayContent" | "windows.autoPlayDevice" | "windows.shareTarget" | ...
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.
RuntimeType? = A string between 1 and 255 characters in length that cannot start or end with a period or contain these characters: <, >, :, %, ", /, \, |, ?, or *.
StartPage? = A string between 1 and 256 characters in length that cannot contain these characters: <, >, :, %, ", |, ?, or *. >
<!-- Child elements -->
( FileTypeAssociation
| Protocol
| AutoPlayContent
| AutoPlayDevice
| ShareTarget
| FileOpenPicker
| FileSavePicker
| BackgroundTasks
)?
</Extension>
Key
?
optional (zero or one)
Attributes and Elements
Attributes
Attribute | Description | Data type | Required | Default value |
---|---|---|---|---|
Category | The type of app extensibility point. |
This attribute can have one of the following values:
|
Yes | |
EntryPoint | The activatable class ID. |
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. |
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 | |
RuntimeType | The runtime provider. This attribute is used typically when there are mixed frameworks in an app. |
A string between 1 and 255 characters in length that cannot start or end with a period or contain these characters: <, >, :, %, ", /, \, |, ?, or *. | No | |
StartPage | The web page that handles the extensibility point. |
A string between 1 and 256 characters in length that cannot contain these characters: <, >, :, %, ", |, ?, or *. | No |
Child Elements
Child Element | Description |
---|---|
AutoPlayContent | Declares an app extensibility point of type windows.autoPlayContent. The app provides the specified AutoPlay content actions. |
AutoPlayDevice | Declares an app extensibility point of type windows.autoPlayDevice. The app provides the specified AutoPlay device actions. |
BackgroundTasks | Defines an app extensibility point of type windows.backgroundTasks. Background tasks run in a dedicated background host; that is, without a UI. |
FileOpenPicker | Declares an app extensibility point of type windows.fileOpenPicker. The app lets the user choose and open the specified types of files. |
FileSavePicker | Declares an app extensibility point of type windows.fileSavePicker. The app lets the user choose the file name, extension, and storage location for the specified types of files. |
FileTypeAssociation | Declares an app extensibility point of type windows.fileTypeAssociation. A file type association indicates that the app is registered to handle files of the specified types. |
Protocol | Declares an app extensibility point of type windows.protocol. A URI association indicates that the app is registered to handle URIs with the specified scheme. |
ShareTarget | Declares an app extension point of type windows.shareTarget. The app can share the specified types of files. |
Parent Elements
Parent Element | Description |
---|---|
Extensions (type: CT_ApplicationExtensions) | Defines one or more extensibility points for the app. |
Related elements
The following elements have the same name as this one, but different content or attributes:
Remarks
These extensibility points can be declared only once per app:
- windows.accountPictureProvider
- windows.cachedFileUpdater
- windows.cameraSettings
- windows.contactPicker
- windows.fileOpenPicker
- windows.fileSavePicker
- windows.printTaskSettings
- windows.search
- windows.shareTarget
**Note about semantic rules for extensions: **For any Extension element the following semantic rules are enforced in the manifest API:
If /Application/@StartPage specified, it is a Windows app using JavaScript and the App Extension :
- Can be empty
- Can specify just the StartPage
- Can specify both Executable and EntryPoint (optional RuntimeType allowed), unless it is a BackgroundTask extension, in which case it can omit the Executable and default to the BackgroundTaskHost.exe executable.
If /Application/@StartPage is not specified, it is a UWP app using C# or VB and XAML and the App Extension :
- Can be empty
- Can specify just the StartPage
- Must specify EntryPoint if either Executable or RuntimeType is specified.
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>
See also
Concepts App contracts and extensions
Requirements
Value | |
---|---|
Namespace | http://schemas.microsoft.com/appx/2010/manifest |