deployment:Extension (in Package/Extensions)
Declares an extensibility point for the app that specifies an undocked deployment extension handler (DEH).
Element hierarchy
<deployment:Extension>
Syntax
<deployment:Extension
Category = 'A string that can have one of the following values: "windows.deploymentExtensionHandler".'
Executable = 'An optional string with a value 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 isnt specified, the EntryPoint defined for the app is used.'
EntryPoint = 'An optional string with a value 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 = 'An optional string with a value between 1 and 255 characters in length that cannot start or end with a period or contain these characters: <, >, :, ", /, \, |, ?, or *.'
StartPage = 'An optional string with a value between 1 and 256 characters in length that cannot contain these characters: <, >, :, ", |, ?, or *.'
uap10:TrustLevel = 'An optional string that can have one of the following values: "appContainer" or "mediumIL".'
uap10:RuntimeBehavior = 'An optional string that can have one of the following values: "windowsApp", "packagedClassicApp", or "win32App".'
uap10:HostId = 'An alphanumeric string with a value between 1 and 255 characters in length. Must begin with a letter.'
uap10:Parameters = 'An optional string with a value between 1 and 32767 characters in length with a non-whitespace character at its beginning and end.'
uap11:Id = 'An optional string with a value between 1 and 255 characters in length with a non-whitespace character at its beginning and end.'
uap11:Subsystem = 'An optional string that can have one of the following values: "console" or "windows".'
uap11:SupportsMultipleInstances = 'An optional boolean value.'
uap11:ResourceGroup = 'An optional alphanumeric string with a value between 1 and 255 characters in length. Must begin with a letter.'
uap11:CurrentDirectoryPath = 'An optional string that cannot contain these characters: <, >, |, ?, or *. >'
uap11:Parameters = 'An optional string with a value between 1 and 32767 characters in length with a non-whitespace character at its beginning and end.'
desktop7:CompatMode = 'An optional string the can have one of the following values: "classic" or "modern".'
desktop7:Scope = 'An optional string that can have one of the following values: "machine" or "user".' >
<!-- Child elements -->
deployment:DeploymentExtensionHandler?
</deployment:Extension>
Key
?
optional (zero or one)
Attributes and elements
Attributes
Attribute | Description | Data type | Required | Default value |
---|---|---|---|---|
Category | The category of the extension. | A string that can have one of the following values: windows.fileExplorerClassicContextMenuHandler or windows.fileExplorerClassicDragDropContextMenuHandler. | Yes | |
Executable | The default launch executable. | An optional string with a value 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 isnt specified, the EntryPoint defined for the app is used. |
No | |
EntryPoint | The activatable class ID. | An optional string with a value 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 | |
RuntimeType | The runtime provider. This attribute is used typically when there are mixed frameworks in an app. | An optional string with a value 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. | An optional string with a value between 1 and 256 characters in length that cannot contain these characters: < , > , : , " , | , ? , or * . |
No | |
uap10:TrustLevel | Specifies the trust level of the extension. | An optional string that can have one of the following values: appContainer or mediumIL. | No | |
uap10:RuntimeBehavior | Specifies the run time behavior of the extension. | An optional string that can have one of the following values: windowsApp, packagedClassicApp, or win32App. | No | |
uap10:HostId | Specifies the ID of the host runtime for the extension. | An alphanumeric string with a value between 1 and 255 characters in length. Must begin with a letter. | No | |
uap10:Parameters | Contains command line parameters to pass to the extension. Only supported for desktop apps that have package identity. | An optional string with a value between 1 and 32767 characters in length with a non-whitespace character at its beginning and end. | No | |
uap11:Id | An identifier for the extension. The ID must be unique for all extensions in a package. | An optional string with a value between 1 and 255 characters in length with a non-whitespace character at its beginning and end. | No | |
uap11:Subsystem | This attribute is inherited from the base extension syntax and is not applicable to the com4 extension. Other than syntactic validation, this value is ignored. | An optional string that can have one of the following values: console or windows. | No | |
uap11:SupportsMultipleInstances | Specifies whether instances should run in different processes. The default value is false. | An optional boolean value. | No | |
uap11:ResourceGroup | A tag that you can use to group extension activations together for resource management purposes (for example, CPU and memory). The value you can set ResourceGroup is free-form and flexible. See Application@ResourceGroup. | An optional alphanumeric string with a value between 1 and 255 characters in length. Must begin with a letter. | No | |
uap11:CurrentDirectoryPath | Specifies the initial directory when the application process is launched. This attribute supports macros. For more info, see Macros in the package manifest schema. | An optional string that cannot contain these characters: < , > , | , ? , or * . > |
No | |
uap11:Parameters | This attribute is inherited from the base extension syntax and is not applicable to the com4 extension. Other than syntactic validation, this value is ignored. This attribute supports macros. For more info, see Macros in the package manifest schema. | An optional string with a value between 1 and 32767 characters in length with a non-whitespace character at its beginning and end. | No | |
desktop7:CompatMode | Specifies whether this extension's information is registered with Windows in classic ways (e.g. unpackaged apps register types with COM via the registry) or in new more scoped ways. The default value is "modern". CompatMode="classic" requires the Microsoft.classicAppCompat_8wekyb3d8bbwe capability. | An optional string the can have one of the following values: classic or modern. | No | |
desktop7:Scope | Specifies whether the registrations are only visible to other applications running as a user who has this package registered (user), or whether they are visible to all users and services on the machine (machine). The default value is "user". Scope="machine" requires the Microsoft.classicAppCompatElevated_8wekyb3d8bbwe capability. | An optional string that can have one of the following values: machine or user. | No |
Child elements
Child element | Description |
---|---|
DeploymentExtensionHandler | Allows an app to specify one or more DLL files that provide DEH functionality that ships outside of an OS release. |
Parent elements
Parent element | Description |
---|---|
Extensions | Defines one or more extensibility points for the app. |
Remarks
A DEH allows apps to access extensibility points in the OS. An undocked DEH is one that ships outside of an OS release. This is extension is not intended for use by 3rd party developers.
Examples
The following example shows the usage of the DeploymentExtensionHandler element within a package manifest file to register an undocked DEH.
<Extension Category=”windows.deploymentExtensionHandler”>
<DeploymentExtensionHandler>
<Files>
<File>path/to/UndockedDEH.dll </File>
<File>path/to/UndockedDEH2.dll </File>
</Files>
</DeploymentExtensionHandler>
</Extension>
Requirements
Item | Value |
---|---|
Namespace | http://schemas.microsoft.com/appx/manifest/deployment/windows10 |
uap10 | http://schemas.microsoft.com/appx/manifest/uap/windows10/10 |
uap11 | http://schemas.microsoft.com/appx/manifest/uap/windows10/11 |
desktop7 | http://schemas.microsoft.com/appx/manifest/desktop/windows10/7 |
Minimum OS Version | Windows 10 (Build 20348) |