Extensions (in Package) (Windows 10)

Defines one or more extensibility points for the package.

Element hierarchy

<Package>

    <Extensions>

Syntax

<Extensions>

  <!-- Child elements -->
  Extension{1,10000}

</Extensions>

Key

{}   specific range of occurrences

Attributes and elements

Attributes

None.

Child elements

Child element Description
Extension (in type: CT_PackageExtensions) Declares an extensibility point for the package.

Parent elements

Parent element Description
Package Defines the root element of an app package manifest. The manifest describes the structure and capabilities of the software to the system.

The following elements have the same name as this one, but different content or attributes:

Remarks

Extensibility points are a mechanism by which an app can add functionality in a manner defined by the operating system. An example of a package extensibility point is the ability to specify a dynamic-link library or executable that contains activatable classes that your code uses.

The Extension elements that can be included under the Package/Extensions element are enforced by the XML schema. Each of these Extension elements have a required Category attribute that specifies one or more extension points that the extension supports. Some extensions support both application and package extension categories. The following table lists the extension categories supported for application extensions and the associated Extension element that supports each category. A category can be supported for multiple extensions as a versioning mechanism.

Extension category Extension
windows.comServer com:Extension
windows.comInterface com:Extension
windows.comServer com2:Extension
windows.comInterface com2:Extension
windows.comServer com4:Extension
windows.comInterface com4:Extension
windows.deploymentExtensionHandler deployment:Extension
windows.firewallRules desktop2:Extension
windows.desktopEventLogging desktop2:Extension
windows.mutablePackageDirectories desktop6:Extension
windows.customInstall desktop6:Extension
windows.shadowCopyExcludeFiles desktop7:Extension
windows.errorReporting desktop7:Extension
windows.shadowCopyExcludeFiles desktop7:Extension
windows.errorReporting desktop7:Extension
windows.mutablePackageDirectories desktop8:Extension
windows.userMutablePackageDirectories desktop8:Extension
windows.eventTracing desktop8:Extension
windows.activatableClass.inProcessServer Extension
windows.activatableClass.outOfProcessServer Extension
windows.activatableClass.proxyStub Extension
windows.certificates Extension
windows.publisherCacheFolders Extension
windows.comInterface Extension
windows.loaderSearchPathOverride Extension
windows.classicAppCompatKeys rescap4:Extension
windows.primaryInteropAssemblies rescap4:Extension
windows.hostRuntime uap10:Extension
windows.mediaContentDecryptionModule uap10:Extension
windows.installedLocationVirtualization uap10:Extension
windows.sharedFonts uap4:Extension
windows.activatableClass.outOfProcessServer uap5:Extension
windows.loaderSearchPathOverride uap6:Extension
windows.sharedFonts uap7:Extension
windows.enterpriseDataProtection uap7:Extension
windows.dataProtection uap8:Extension

Examples

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

<Package>
  <Extensions>
    <Extension Category="windows.activatableClass.proxyStub">
      <ProxyStub ClassId="332fd2f1-1c69-4c91-949e-4bb67a85bdc5">
        <Path>Microsoft.Samples.DllServerAuthoring.Proxies.dll</Path>
        <Interface Name="IToaster" InterfaceId="6a112353-4f87-4460-a908-2944e92686f3" />
        <Interface Name="IToast" InterfaceId="699b1394-3ceb-4a14-ae23-efec518b088b" />
        <Interface Name="IAppliance" InterfaceId="332fd2f1-1c69-4c91-949e-4bb67a85bdc5" />
      </ProxyStub>
    </Extension>
    <Extension Category="windows.activatableClass.inProcessServer">
      <InProcessServer>
        <Path>Microsoft.Samples.DllServerAuthoring.dll</Path>
        <ActivatableClass ActivatableClassId="Microsoft.Samples.DllServerAuthoring.Toaster" ThreadingModel="both" />
      </InProcessServer>
    </Extension>
  </Extensions>
</Package>

See also

Requirements

Item Value
Namespace http://schemas.microsoft.com/appx/manifest/foundation/windows10