Extension (in Package/Extensions) (Windows 10)
Declares an extensibility point for the package.
Element hierarchy
<Extension>
Syntax
<Extension
Category = 'A string that can have one of the following values: "windows.activatableClass.inProcessServer", "windows.activatableClass.outOfProcessServer", "windows.activatableClass.proxyStub", "windows.certificates", "windows.publisherCacheFolders", "windows.comInterface", or "windows.loaderSearchPathOverride".'
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 -->
InProcessServer
OutOfProcessServer
ProxyStub
Certificates
PublisherCacheFolders
com:ComInterface
uap6:LoaderSearchPathOverride
</Extension>
Attributes and elements
Attributes
Attribute | Description | Data type | Required | Default value |
---|---|---|---|---|
Category | The type of package extensibility point. | A string that can have one of the following values: windows.activatableClass.inProcessServer, windows.activatableClass.outOfProcessServer, windows.activatableClass.proxyStub, windows.certificates, windows.publisherCacheFolders, windows.comInterface, or windows.loaderSearchPathOverride | Yes | |
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 | This value 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. | ||
uap10:Parameters | Contains command line parameters for the extension. | A string 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 |
---|---|
Certificates | Declares a package extensibility point of type windows.certificates. The app requires one or more certificates from the specified certificate stores. |
InProcessServer | Declares a package extensibility point of type windows.activatableClass.inProcessServer. The app uses a dynamic link library (.dll ) that exposes one or more activatable classes. |
OutOfProcessServer | Declares a package extension point of type windows.activatableClass.outOfProcessServer. The app uses an executable (.exe ) that exposes one or more activatable classes. |
ProxyStub | Declares a package extensibility point of type windows.activatableClass.proxyStub. A proxy can be composed of one or more interfaces. |
PublisherCacheFolders | Declares a package extensibility point of type windows.publisherCacheFolders. This specifies one or more folders that the package shares with other packages from the same publisher. |
com:ComInterface | Declares a package extension point of type windows.comInterface. |
uap6:LoaderSearchPathOverride | Declares a package extension point of type windows.loaderSearchPathOverride. |
Parent elements
Parent element | Description |
---|---|
Extensions (type: CT_PackageExtensions) | Defines one or more extensibility points for the package. |
Related elements
The following elements have the same name as this one, but different content or attributes:
Remarks
Extensibility points are a mechanism by which a package can add functionality in a manner defined by the operating system. An extensibility point is a location where an app can register to execute code or use resources of the current package. To add functionality for a particular app, use the Application child element of the Applications element.
The windows.certificates extensibility point can't be declared multiple times in a manifest.
See also
Requirements
Item | Value |
---|---|
Namespace | http://schemas.microsoft.com/appx/manifest/foundation/windows10 |
com | http://schemas.microsoft.com/appx/manifest/com/windows10 |
uap6 | http://schemas.microsoft.com/appx/manifest/uap/windows10/10 |