uap:Extension

Declara un punto de extensibilidad para la aplicación.

Jerarquía de elementos

<Package>
   └─ <Applications>
      └─ <Application>
         └─ <Extensions>
            └─ <uap:Extension>

Sintaxis

<uap:Extension
  Category = 'A required the extension category for a UAP extension.'
  desktop11:AppLifecycleBehavior = 'An optional string that can have one of the following values: "systemManaged", or "unmanaged".'
  Executable = 'An optional string between 1 and 256 characters in length that must end with ".exe" and cannot contain these characters: <, >, :, ", |, ?, or *.'
  EntryPoint = 'An optional string between 1 and 256 characters in length that cannot start or end with a whitespace character.'
  RuntimeType = 'An optional string between 1 and 255 characters in length that cannot start or end with a period or contain these characters: <, >, :, ", /, \, &#124;, ?, or *.'
  StartPage = 'An optional string between 1 and 256 characters in length that cannot contain these characters: <, >, :, ", |, ?, or *.'
  ResourceGroup = 'An optional alphanumeric string between 1 and 255 characters in length. Must begin with an alphabetic character.'
  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 optional alphanumeric string between 1 and 255 characters in length. Must begin with an alphabetic character.'
  uap10:Parameters = 'An optional string between 1 and 32767 characters in length with a non-whitespace character at its beginning and end.'
  uap11:Id = 'An optional string 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 between 1 and 255 characters in length. Must begin with an alphabetic character.'
  uap11:CurrentDirectoryPath = 'An optional string that cannot contain these characters: <, >, |, ?, or *.'
  uap11:Parameters = 'An optional string between 1 and 32767 characters in length with a non-whitespace character at its beginning and end.'
  desktop7:CompatMode = 'An optional string that 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 -->
  uap:FileTypeAssociationChoice?
  uap:ProtocolChoice?
  uap:AppServiceChoice?
  uap:AutoPlayContent?
  uap:AutoPlayDevice?
  uap:ShareTarget?
  uap:FileOpenPicker?
  uap:FileSavePicker?
  uap:AppointmentsProvider?
  uap:WebAccountProvider?
  uap:DialProtocol?
  uap:MediaPlayback?
  uap:VoipCall?

</uap:Extension>

Clave

? opcional (cero o uno)

Atributos

Atributo Descripción Tipo de dato Obligatorio Valor predeterminado
Categoría Tipo de extensión. Cadena que debe ser uno de los siguientes valores: windows.fileTypeAssociation, windows.protocol, windows.autoPlayContent, windows.autoPlayDevice, windows.shareTarget, windows.search, windows.fileOpenPicker, windows.fileSavePicker, windows.cachedFileUpdater, windows.cameraSettings, windows.accountPictureProvider, windows.printTaskSettings, windows.lockScreenCall, windows.appointmentsProvider, windows.alarm, windows.webAccountProvider, windows.dialProtocol, windows.appService, windows.mediaPlayback, windows.print3DWorkflow, windows.lockScreen, windows.aboveLockScreen, windows.personalAssistantLaunch, windows.voipCall.
desktop11:AppLifecycleBehavior Cadena opcional que puede tener uno de los siguientes valores: systemManaged, unmanaged. No
Executable Ejecutable de inicio predeterminado. Cadena opcional entre 1 y 256 caracteres de longitud que debe terminar con ".exe" y no puede contener estos caracteres: <, , : >, ", |, ?o *. No
EntryPoint Identificador de clase activable. Cadena opcional entre 1 y 256 caracteres de longitud que no puede iniciar ni terminar con un carácter de espacio en blanco. No
RuntimeType El proveedor en tiempo de ejecución. Normalmente se usa cuando hay marcos mixtos en una aplicación. Cadena opcional entre 1 y 255 caracteres de longitud que no puede iniciar ni terminar con un punto o contener estos caracteres: <, , >:, ", /, ,|, ?o *. No
StartPage La página web que controla el punto de extensibilidad. Cadena opcional entre 1 y 256 caracteres de longitud que no puede contener estos caracteres: <, , >, :, ", |, ?, o *. No
ResourceGroup Etiqueta que puede usar para agrupar las activaciones de extensión con fines de administración de recursos (por ejemplo, CPU y memoria). Cadena alfanumérica opcional entre 1 y 255 caracteres de longitud. Debe comenzar con un carácter alfabético. No
uap10:TrustLevel Especifica el nivel de confianza de la extensión. Cadena opcional que puede tener uno de los siguientes valores: appContainer, mediumIL. No
uap10:RuntimeBehavior Especifica el comportamiento en tiempo de ejecución de la extensión. Cadena opcional que puede tener uno de los siguientes valores: windowsApp, packagedClassicApp, win32App. No
uap10:HostId Especifica el identificador del entorno de ejecución del host para la extensión. Cadena alfanumérica opcional entre 1 y 255 caracteres de longitud. Debe comenzar con un carácter alfabético. No
uap10:Parameters Contiene parámetros de línea de comandos para pasar a la extensión. Solo se admite para las aplicaciones de escritorio que tienen identidad de paquete. Cadena opcional entre 1 y 32767 caracteres de longitud con un carácter de espacio no en blanco al principio y al final. No
uap11:Id Identificador de la extensión. El identificador debe ser único para todas las extensiones de un paquete. Cadena opcional entre 1 y 255 caracteres de longitud con un carácter de espacio no en blanco al principio y al final. No
uap11:Subsystem Este atributo es útil para los procesos que no son para UWP que deben iniciarse con un subsistema específico. En la mayoría de los casos, debe dejarse como valor predeterminado. Cadena opcional que puede tener uno de los siguientes valores: consola, ventanas. No
uap11:SupportsMultipleInstances Especifica si la extensión admite varias instancias. Valor booleano opcional. No
uap11:ResourceGroup Etiqueta que puede usar para agrupar las activaciones de extensión con fines de administración de recursos (por ejemplo, CPU y memoria). Cadena alfanumérica opcional entre 1 y 255 caracteres de longitud. Debe comenzar con un carácter alfabético. No
uap11:CurrentDirectoryPath Especifica el directorio inicial al iniciar el proceso. Cadena opcional que no puede contener estos caracteres: <, , >|, ?o *. No
uap11:Parameters Contiene parámetros de línea de comandos para pasar a la extensión. Cadena opcional entre 1 y 32767 caracteres de longitud con un carácter de espacio no en blanco al principio y al final. No
desktop7:CompatMode Especifica el modo de compatibilidad de la extensión. Cadena opcional que puede tener uno de los siguientes valores: clásico y moderno. No
desktop7:Scope Especifica si la extensión es por usuario o por máquina. Cadena opcional que puede tener uno de los siguientes valores: máquina, usuario. No

Elementos secundarios

Elemento secundario Descripción
uap:AutoPlayContent Declara un punto de extensibilidad de la aplicación de tipo windows.autoPlayContent. La aplicación proporciona las acciones de contenido de Reproducción automática especificadas.
uap:AutoPlayDevice Declara un punto de extensibilidad de la aplicación de tipo windows.autoPlayDevice. La aplicación proporciona las acciones de dispositivo de Reproducción automática especificadas.
uap:ShareTarget Declara un punto de extensión de aplicación de tipo windows.shareTarget. La aplicación puede compartir los tipos de archivos especificados.
uap:FileOpenPicker Declara un punto de extensibilidad de la aplicación de tipo windows.fileOpenPicker. La aplicación permite al usuario elegir y abrir los tipos de archivos especificados.
uap:FileSavePicker Declara un punto de extensibilidad de la aplicación de tipo windows.fileSavePicker. La aplicación permite al usuario elegir el nombre de archivo, la extensión y la ubicación de almacenamiento para los tipos de archivos especificados.
uap:AppointmentsProvider Declara un punto de extensibilidad de la aplicación de tipo windows.appointmentsProvider.
uap:WebAccountProvider Declara un punto de extensibilidad de la aplicación de tipo windows.webAccountProvider.
uap:DialProtocol Declara un punto de extensibilidad de la aplicación de tipo windows.dialProtocol.
uap:MediaPlayback Declara un punto de extensibilidad de la aplicación de tipo mediaPlayback para que la aplicación pueda declarar que realiza la transcodificación de vídeo.
uap:VoipCall Declara un punto de extensibilidad de la aplicación de tipo voipCall para que la aplicación pueda declarar que puede realizar una actualización desde una llamada de telefonía móvil a una llamada de vídeo voIP y/o si es una aplicación VoIP que admite la marcación de números de teléfono directamente.

Elementos primarios

Elemento principal Descripción
Extensions

Requisitos

Elemento Importancia
Namespace http://schemas.microsoft.com/appx/manifest/uap/windows10
desktop11 http://schemas.microsoft.com/appx/manifest/desktop/windows10/11
desktop7 http://schemas.microsoft.com/appx/manifest/desktop/windows10/7
uap10 http://schemas.microsoft.com/appx/manifest/uap/windows10/10
uap11 http://schemas.microsoft.com/appx/manifest/uap/windows10/11
versión mínima del sistema operativo Windows 10 versión 1511 (compilación 10586)

Observaciones

Para la mayoría de los tipos de extensiones, Extension@ResourceGroup deben coincidir Applicationcon @ResourceGroup (si Applicationse omite @ResourceGroup, también se debe omitir Extension@ResourceGroup).

Para un contrato basado en la interfaz de usuario: si no se especifica Extension@ResourceGroup, se agrupará implícitamente con Application; si Extension@ResourceGroup no coincide Applicationcon @ResourceGroup, el manifiesto producirá un error en la validación del esquema.

Si no se especifica Extension@ResourceGroup para una tarea en segundo plano o para un contrato basado en una tarea en segundo plano, se asociará a un grupo predeterminado para todas las tareas en segundo plano. Los contratos de tareas en segundo plano pueden especificar los mismos valores que Application@ResourceGroup.

Para el siguiente Extensions, Extension@ResourceGroup permite agrupar la tarea en segundo plano en distintos procesos que se administrarán de forma independiente de los recursos y del ciclo de vida, independientemente de otros grupos: windows.backgroundTasks, windows.appServices, windows.preinstalledConfigTask y windows.updateTask.

Por ejemplo, si el manifiesto tenía estas tres entradas.

<Extension Category="windows.backgroundTasks" EntryPoint="Fabrikam.BackgroundTask" ResourceGroup="Group1">
  <BackgroundTasks>
    <Task Type="timer"/>
  </BackgroundTasks>
</Extension>
<Extension Category="windows.backgroundTasks" EntryPoint="Fabrikam.BackgroundTask2" ResourceGroup="Group2">
  <BackgroundTasks>
    <Task Type="controlChannel"/>
  </BackgroundTasks>
</Extension>
<Extension Category="windows.backgroundTasks" EntryPoint="Fabrikam.BackgroundTask3" ResourceGroup="Group2">
  <BackgroundTasks>
    <Task Type="pushNotification"/>
  </BackgroundTasks>
</Extension>

A continuación, las dos últimas tareas en segundo plano se activarían en la misma instancia de backgroundtaskhost.exe si se activaran simultáneamente. Sin embargo, una instancia independiente de backgroundtaskhost.exe se crearía para la primera entrada porque tiene un resourceGroup diferente.

Si no se especifica ResourceGroup para una extensión, todas las tareas en segundo plano se activan en la misma instancia de backgroundtaskhost.exe.

Además, si una de estas extensiones (windows.backgroundTasks, windows.appServices, windows.preinstalledConfigTask o windows.updateTask) especifica el mismo valor del atributo ResourceGroup del elemento primario Application que se activarán en el mismo proceso que la interfaz de usuario.

Las siguientes extensiones se pueden encontrar en la pestaña declaraciones de la interfaz de usuario del diseñador de paquetes; vea las descripciones de cada uno de estos elementos:

  • Búsqueda: registra la aplicación como proveedor de búsqueda. El contenido indexado de la aplicación puede aparecer como resultados de búsqueda en la experiencia de búsqueda global iniciada a través del acceso De búsqueda. Solo se permite una instancia de esta declaración por aplicación.
  • CachedFileUpdater: registra la aplicación como actualizador de archivos almacenados en caché, lo que permite a la aplicación proporcionar actualizaciones a los archivos a los que acceden otras aplicaciones de Microsoft Store. Solo se permite una instancia de esta declaración por aplicación.
  • Configuración de la cámara: permite a la aplicación proporcionar paneles de control personalizados para dispositivos de cámara web. Solo se permite una instancia de esta declaración por aplicación.
  • AccountPictureProvider: registra la aplicación como proveedor de imágenes de cuenta, lo que permite iniciarla en un modo de imagen de cuenta y establecer la imagen del usuario sin preguntar más. Solo se permite una instancia de esta declaración por aplicación.
  • PrintTaskSettings: permite que la aplicación reemplace la experiencia básica de configuración de impresión. Solo se permite una instancia de esta declaración por aplicación.
  • LockScreen: si un teléfono está bloqueado, hay una cantidad limitada de interacción que el usuario puede realizar. En algunos casos, un usuario desea poder responder a una llamada VoIP sin desbloquear el teléfono. Este contrato hace que sea posible. Solo se permite una instancia de esta declaración por aplicación.
  • Alarma: una aplicación puede declararse como aplicación de alarma del sistema. Cuando un usuario pasa por la interfaz de usuario de selección para establecer su alarma del sistema, solo se pueden seleccionar las aplicaciones declaradas como Aplicaciones de alarma del sistema. Solo se permite una instancia de esta declaración por aplicación.
  • BackgroundTasks: las tareas en segundo plano permiten a las aplicaciones comunicarse entre sí y permitir que una aplicación llame a otra. Para poder usar contratos para proporcionar o iniciar estas tareas en segundo plano, es necesario declarar una aplicación como servicio de aplicaciones. Se permiten varias instancias de esta declaración en cada aplicación.
  • Print3DWorkFlow: los fabricantes de impresoras 3D pueden proporcionar una aplicación de Windows universal para proporcionar una experiencia única en el cuadro de diálogo de impresión 3D. Si no lo hacen, Windows proporciona una experiencia de impresión 3D predeterminada. Solo se permite una instancia de esta declaración por aplicación.
  • PersonalAssistantLaunch: permite que una aplicación se integre con Cortana. Solo se permite una instancia de esta declaración por aplicación.

Ejemplos