Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Si la aplicación de escritorio está empaquetada (tiene identidad de paquete en tiempo de ejecución), puede usar extensiones para integrar la aplicación con Windows mediante extensiones de predefinidas en el manifiesto del paquete. Consulte también las características que requieren identidad de paquete.
Por ejemplo, use una extensión para crear una excepción de firewall; convierta su aplicación en la aplicación predeterminada para un tipo de archivo; o apunte las baldosas de Inicio hacia su aplicación. Para usar una extensión, solo tiene que agregar código XML al archivo de manifiesto del paquete de la aplicación. No se requiere código.
En este tema se describen esas extensiones y las tareas que puede realizar con ellas.
Nota:
Las características descritas en este tema requieren que la aplicación esté empaquetada (tiene identidad de paquete en tiempo de ejecución). Esto incluye aplicaciones empaquetadas (consulta Crear un nuevo proyecto para una aplicación de escritorio winUI 3 empaquetada) y aplicaciones empaquetadas con ubicación externa (consulta Conceder identidad de paquete mediante el empaquetado con ubicación externa). Consulte también las características que requieren identidad de paquete.
Transicione a los usuarios a su aplicación
Ayude a los usuarios a realizar la transición a la aplicación empaquetada.
- Redirigir la aplicación de escritorio existente a la aplicación empaquetada
- Redirija las baldosas de Inicio existentes y los botones de la barra de tareas a su aplicación empaquetada
- Hacer que la aplicación empaquetada abra archivos en lugar de la aplicación de escritorio
- Asociar la aplicación empaquetada con un conjunto de tipos de archivo
- Agregar opciones a los menús contextuales de los archivos que tienen un tipo de archivo determinado
- Abrir determinados tipos de archivos directamente mediante una dirección URL
Redirigir la aplicación de escritorio existente a la aplicación empaquetada
Cuando los usuarios inician la aplicación de escritorio sin empaquetar existente, puede configurar la aplicación empaquetada para que se abra en su lugar.
Nota:
Esta característica se admite en windows Insider Preview Build 21313 y versiones posteriores.
Para habilitar este comportamiento:
- Agregue entradas del Registro para redirigir el ejecutable de la aplicación de escritorio sin empaquetar a la aplicación empaquetada.
- Registre la aplicación empaquetada para que se inicie cuando se inicie el ejecutable de la aplicación de escritorio sin empaquetar.
Agrega entradas al Registro para redirigir el ejecutable de la aplicación de escritorio sin empaquetar.
- En el Registro, cree una subclave con el nombre del archivo ejecutable de la aplicación de escritorio en la clave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options.
- En esta subclave, agregue los valores siguientes:
AppExecutionAliasRedirect (DWORD): si se establece en 1, el sistema comprobará si hay una extensión de paquete appExecutionAliascon el mismo nombre que el ejecutable. Si la extensión AppExecutionAlias está habilitada, la aplicación empaquetada se activará con ese valor. - AppExecutionAliasRedirectPackages (REG_SZ): el sistema solo le redirigirá a los paquetes enumerados. Los paquetes se muestran por su nombre de familia de paquetes, separados por punto y coma. Si se usa el valor especial * , el sistema le redirigirá a un AppExecutionAlias desde cualquier paquete.
Por ejemplo:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\contosoapp.exe
AppExecutionAliasRedirect = 1
AppExecutionAliasRedirectPackages = "Microsoft.WindowsNotepad_8weky8webbe"
Registrar la aplicación empaquetada para su lanzamiento
En el manifiesto del paquete, agregue una extensión AppExecutionAlias que registre el nombre del ejecutable de la aplicación de escritorio sin empaquetar. Por ejemplo:
<Package
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
IgnorableNamespaces="uap3">
<Applications>
<Application>
<Extensions>
<uap3:Extension Category="windows.appExecutionAlias" EntryPoint="Windows.FullTrustApplication">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="contosoapp.exe" />
</uap3:AppExecutionAlias>
</uap3:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Deshabilitación del redireccionamiento
Los usuarios pueden desactivar el redireccionamiento e iniciar el archivo ejecutable de la aplicación sin empaquetar a través de estas opciones:
- Pueden desinstalar la versión empaquetada de la aplicación.
- El usuario puede deshabilitar la entrada de AppExecutionAlias para tu aplicación empaquetada en la página de Alias de ejecución de aplicaciones en Configuración.
Espacios de nombres XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/3http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elementos y atributos de esta extensión
<uap3:Extension
Category="windows.appExecutionAlias"
EntryPoint="Windows.FullTrustApplication">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="[AliasName]" />
</uap3:AppExecutionAlias>
</uap3:Extension>
| Nombre | Descripción |
|---|---|
| Categoría | Siempre windows.appExecutionAlias. |
| Ejecutable | La ruta relativa al ejecutable que se iniciará cuando se invoque el alias. |
| Alias (Nombre ficticio) | Nombre corto de la aplicación. Siempre debe terminar con la extensión ".exe". |
Dirigir los mosaicos de inicio existentes y los botones de la barra de tareas a tu aplicación empaquetada.
Es posible que los usuarios hayan anclado la aplicación de escritorio a la barra de tareas o al menú Inicio. Puedes apuntar esos accesos directos a tu nueva aplicación empaquetada.
Espacio de nombres XML
http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3
Elementos y atributos de esta extensión
<Extension Category="windows.desktopAppMigration">
<DesktopAppMigration>
<DesktopApp AumId="[your_app_aumid]" />
<DesktopApp ShortcutPath="[path]" />
</DesktopAppMigration>
</Extension>
Busque la referencia de esquema completa aquí.
| Nombre | Descripción |
|---|---|
| Categoría | Siempre windows.desktopAppMigration. |
| AumID | ID del modelo de usuario de la aplicación empaquetada. |
| Ruta de acceso directo | La ruta de acceso a los archivos .lnk que ejecutan la versión de escritorio de tu aplicación. |
Ejemplo
<Package
xmlns:rescap3="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3"
IgnorableNamespaces="rescap3">
<Applications>
<Application>
<Extensions>
<rescap3:Extension Category="windows.desktopAppMigration">
<rescap3:DesktopAppMigration>
<rescap3:DesktopApp AumId="[your_app_aumid]" />
<rescap3:DesktopApp ShortcutPath="%USERPROFILE%\Desktop\[my_app].lnk" />
<rescap3:DesktopApp ShortcutPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\[my_app].lnk" />
<rescap3:DesktopApp ShortcutPath="%PROGRAMDATA%\Microsoft\Windows\Start Menu\Programs\[my_app_folder]\[my_app].lnk"/>
</rescap3:DesktopAppMigration>
</rescap3:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Ejemplo relacionado
Visor de imágenes de WPF con transición, migración o desinstalación
Hacer que la aplicación empaquetada abra archivos en lugar de la aplicación de escritorio
Puede asegurarse de que los usuarios abran la nueva aplicación empaquetada de forma predeterminada para determinados tipos de archivos en lugar de abrir la versión de escritorio de la aplicación.
Para ello, especificará el identificador programático (ProgID) de cada aplicación de la cual desea heredar asociaciones de archivos.
Espacios de nombres XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/3http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3
Elementos y atributos de esta extensión
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<MigrationProgIds>
<MigrationProgId>"[ProgID]"</MigrationProgId>
</MigrationProgIds>
</FileTypeAssociation>
</Extension>
Busque la referencia de esquema completa aquí.
| Nombre | Descripción |
|---|---|
| Categoría | Siempre windows.fileTypeAssociation. |
| Nombre | Nombre de la asociación de tipos de archivo. Puede usar este nombre para organizar y agrupar tipos de archivo. El nombre debe tener todos los caracteres en minúsculas sin espacios. |
| MigrationProgId | El identificador de programación (ProgID) que describe la aplicación, el componente y la versión de la aplicación de escritorio desde la que desea heredar asociaciones de archivos. |
Ejemplo
<Package
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:rescap3="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3"
IgnorableNamespaces="uap3, rescap3">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="myfiletypes">
<rescap3:MigrationProgIds>
<rescap3:MigrationProgId>Foo.Bar.1</rescap3:MigrationProgId>
<rescap3:MigrationProgId>Foo.Bar.2</rescap3:MigrationProgId>
</rescap3:MigrationProgIds>
</uap3:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Ejemplo relacionado
Visor de imágenes de WPF con transición, migración o desinstalación
Asocia tu aplicación empaquetada con un conjunto de tipos de archivo
Puede asociar la aplicación empaquetada con extensiones de tipo de archivo. Si un usuario hace clic con el botón derecho en un archivo en el Explorador de archivos y, a continuación, selecciona la opción Abrir con, tu aplicación aparece en la lista de sugerencias. Para obtener más información sobre el uso de esta extensión, consulte Integrar una aplicación de escritorio empaquetada con el Explorador de archivos.
Espacios de nombres XML
http://schemas.microsoft.com/appx/manifest/uap/windows10http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elementos y atributos de esta extensión
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>"[file extension]"</FileType>
</SupportedFileTypes>
</FileTypeAssociation>
</Extension>
Busque la referencia de esquema completa aquí.
| Nombre | Descripción |
|---|---|
| Categoría | Siempre windows.fileTypeAssociation. |
| Nombre | Nombre de la asociación de tipos de archivo. Puede usar este nombre para organizar y agrupar tipos de archivo. El nombre debe tener todos los caracteres en minúsculas sin espacios. |
| Tipo de archivo | La extensión de archivo compatible con la aplicación. |
Ejemplo
<Package
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
IgnorableNamespaces="uap, uap3">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="mediafiles">
<uap:SupportedFileTypes>
<uap:FileType>.avi</uap:FileType>
</uap:SupportedFileTypes>
</uap3:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Ejemplo relacionado
Visor de imágenes de WPF con transición, migración o desinstalación
Agregar opciones a los menús contextuales de los archivos que tienen un tipo de archivo determinado
Esta extensión permite agregar opciones al menú contextual que se muestra cuando los usuarios hacen clic con el botón derecho en un archivo en el Explorador de archivos. Estas opciones ofrecen a los usuarios otras formas de interactuar con el archivo, como imprimir, editar o obtener una vista previa del archivo. Para obtener más información sobre el uso de esta extensión, consulte Integrar una aplicación de escritorio empaquetada con el Explorador de archivos.
Espacios de nombres XML
http://schemas.microsoft.com/appx/manifest/uap/windows10http://schemas.microsoft.com/appx/manifest/uap/windows10/2http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elementos y atributos de esta extensión
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedVerbs>
<Verb Id="[ID]" Extended="[Extended]" Parameters="[parameters]">"[verb label]"</Verb>
</SupportedVerbs>
</FileTypeAssociation>
</Extension>
Busque la referencia de esquema completa aquí.
| Nombre | Descripción |
|---|---|
| Categoría | Siempre windows.fileTypeAssociation. |
| Nombre | Nombre de la asociación de tipos de archivo. Puede usar este nombre para organizar y agrupar tipos de archivo. El nombre debe tener todos los caracteres en minúsculas sin espacios. |
| Verbo | Nombre que aparece en el menú contextual del Explorador de archivos. Esta cadena es localizable y utiliza ms-resource. |
| Identificación | Identificador único del verbo. Si la aplicación es una aplicación UWP, esta información se pasa a la aplicación como parte de sus argumentos de eventos de activación, para que pueda gestionar la selección del usuario de forma adecuada. Si su aplicación es una aplicación empaquetada de plena confianza, recibirá parámetros en lugar de otra cosa (vea la siguiente viñeta). |
| Parámetros | Lista de parámetros y valores de argumento asociados al verbo. Si la aplicación es una aplicación empaquetada de plena confianza, estos parámetros se pasan a la aplicación como argumentos de evento cuando se activa la aplicación. Puede personalizar el comportamiento de la aplicación en función de distintos verbos de activación. Si una variable puede contener una ruta de acceso de archivo, envuelva el valor del parámetro entre comillas. Esto evitará los problemas que se produzcan en los casos en los que la ruta de acceso incluya espacios. Si la aplicación es una aplicación para UWP, no puedes pasar parámetros. La aplicación recibe el identificador en su lugar (vea la viñeta anterior). |
| Extendido | Especifica que el verbo solo aparece si el usuario muestra el menú contextual manteniendo presionada la tecla Mayús |
Ejemplo
<Package
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
IgnorableNamespaces="uap, uap2, uap3">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="myfiletypes">
<uap2:SupportedVerbs>
<uap3:Verb Id="Edit" Parameters="/e "%1"">Edit</uap3:Verb>
<uap3:Verb Id="Print" Extended="true" Parameters="/p "%1"">Print</uap3:Verb>
</uap2:SupportedVerbs>
</uap3:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Ejemplo relacionado
Visor de imágenes de WPF con transición, migración o desinstalación
Abrir determinados tipos de archivos directamente mediante una dirección URL
Puede asegurarse de que los usuarios abran la nueva aplicación empaquetada de forma predeterminada para determinados tipos de archivos en lugar de abrir la versión de escritorio de la aplicación.
Espacios de nombres XML
http://schemas.microsoft.com/appx/manifest/uap/windows10http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elementos y atributos de esta extensión
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]" UseUrl="true" Parameters="%1">
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
</FileTypeAssociation>
</Extension>
Busque la referencia de esquema completa aquí.
| Nombre | Descripción |
|---|---|
| Categoría | Siempre windows.fileTypeAssociation. |
| Nombre | Nombre de la asociación de tipos de archivo. Puede usar este nombre para organizar y agrupar tipos de archivo. El nombre debe tener todos los caracteres en minúsculas sin espacios. |
| UseUrl | Indica si se deben abrir archivos directamente desde un destino de dirección URL. Si no establece este valor, la aplicación intenta abrir un archivo mediante una dirección URL que hace que el sistema descargue primero el archivo localmente. |
| Parámetros | Parámetros opcionales. |
| Tipo de archivo | Extensiones de archivo pertinentes. |
Ejemplo
<Package
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
IgnorableNamespaces="uap, uap3">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="myfiletypes" UseUrl="true" Parameters="%1">
<uap:SupportedFileTypes>
<uap:FileType>.txt</uap:FileType>
<uap:FileType>.doc</uap:FileType>
</uap:SupportedFileTypes>
</uap3:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Realizar tareas de instalación
- Crear excepción de firewall para la aplicación
- Colocar los archivos DLL en cualquier carpeta del paquete
Creación de una excepción de firewall para la aplicación
Si la aplicación requiere comunicación a través de un puerto, puede agregar la aplicación a la lista de excepciones de firewall.
Nota:
Para utilizar la categoría de extensión "windows.firewallRules" (consulte a continuación), su paquete necesita la capacidad restringida de nivel de permisos de plena confianza . Consulte lista de funcionalidades restringidas.
Espacio de nombres XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elementos y atributos de esta extensión
<Extension Category="windows.firewallRules">
<FirewallRules Executable="[executable file name]">
<Rule
Direction="[Direction]"
IPProtocol="[Protocol]"
LocalPortMin="[LocalPortMin]"
LocalPortMax="LocalPortMax"
RemotePortMin="RemotePortMin"
RemotePortMax="RemotePortMax"
Profile="[Profile]"/>
</FirewallRules>
</Extension>
Busque la referencia de esquema completa aquí.
| Nombre | Descripción |
|---|---|
| Categoría | Siempre windows.firewallRules |
| Ejecutable | Nombre del archivo ejecutable que desea agregar a la lista de excepciones de firewall. |
| Dirección | Indica si la regla es una regla entrante o saliente. |
| Protocolo IP | Protocolo de comunicación |
| LocalPortMin | Número de puerto inferior en un intervalo de números de puerto locales. |
| LocalPortMax | Número de puerto más alto de un intervalo de números de puerto local. |
| RemotePortMax | El número de puerto más bajo en un intervalo de números de puerto remotos. |
| RemotePortMax | Número de puerto más alto de un intervalo de números de puerto remotos. |
| Perfil | Tipo de red |
Ejemplo
<Package
xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
IgnorableNamespaces="desktop2">
<Extensions>
<desktop2:Extension Category="windows.firewallRules">
<desktop2:FirewallRules Executable="Contoso.exe">
<desktop2:Rule Direction="in" IPProtocol="TCP" Profile="all"/>
<desktop2:Rule Direction="in" IPProtocol="UDP" LocalPortMin="1337" LocalPortMax="1338" Profile="domain"/>
<desktop2:Rule Direction="in" IPProtocol="UDP" LocalPortMin="1337" LocalPortMax="1338" Profile="public"/>
<desktop2:Rule Direction="out" IPProtocol="UDP" LocalPortMin="1339" LocalPortMax="1340" RemotePortMin="15"
RemotePortMax="19" Profile="domainAndPrivate"/>
<desktop2:Rule Direction="out" IPProtocol="GRE" Profile="private"/>
</desktop2:FirewallRules>
</desktop2:Extension>
</Extensions>
</Package>
Colocar los archivos DLL en cualquier carpeta del paquete
Use la extensión uap6:LoaderSearchPathOverride para declarar hasta cinco rutas de acceso de carpeta en el paquete de la aplicación, en relación con la ruta de acceso raíz del paquete de la aplicación, que se usará en la ruta de búsqueda del cargador para los procesos de la aplicación.
El orden de búsqueda DLL para aplicaciones de Windows incluye paquetes en el grafo de dependencias de paquetes si los paquetes poseen derechos de ejecución. De forma predeterminada, esto incluye los paquetes principal, opcional y de marco, aunque esto se puede sobrescribir mediante el elemento uap6:AllowExecution en el manifiesto del paquete.
Un paquete que se incluye en el orden de búsqueda DLL incluirá su ruta de acceso efectiva de forma predeterminada. Para obtener más información sobre las rutas de acceso eficaces, consulte la propiedad EffectivePath
Si un paquete especifica uap6:LoaderSearchPathOverride, esta información se usa en lugar de la ruta de acceso efectiva del paquete.
Cada paquete solo puede contener una extensión uap6:LoaderSearchPathOverride. Esto significa que puede agregar uno de ellos al paquete principal y, a continuación, agregar uno a cada uno de los paquetes opcionales de y los conjuntos relacionados.
Espacio de nombres XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/6
Elementos y atributos de esta extensión
Declare esta extensión al nivel de paquete del manifiesto de la aplicación.
<Extension Category="windows.loaderSearchPathOverride">
<LoaderSearchPathOverride>
<LoaderSearchPathEntry FolderPath="[path]"/>
</LoaderSearchPathOverride>
</Extension>
| Nombre | Descripción |
|---|---|
| Categoría | Siempre windows.loaderSearchPathOverride. |
| Ruta de carpeta | Ruta de acceso de la carpeta que contiene los archivos DLL. Especifique una ruta de acceso relativa a la carpeta raíz del paquete. Puede especificar hasta cinco rutas de acceso en una extensión. Si desea que el sistema busque archivos en la carpeta raíz del paquete, use una cadena vacía para una de estas rutas de acceso. No incluya rutas de acceso duplicadas y asegúrese de que las rutas de acceso no contienen barras diagonales iniciales y finales ni barras diagonales inversas. El sistema no buscará subcarpetas, por lo que asegúrese de enumerar explícitamente cada carpeta que contenga archivos DLL que quiera que cargue el sistema. |
Ejemplo
<Package
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/6"
IgnorableNamespaces="uap6">
...
<Extensions>
<uap6:Extension Category="windows.loaderSearchPathOverride">
<uap6:LoaderSearchPathOverride>
<uap6:LoaderSearchPathEntry FolderPath=""/>
<uap6:LoaderSearchPathEntry FolderPath="folder1/subfolder1"/>
<uap6:LoaderSearchPathEntry FolderPath="folder2/subfolder2"/>
</uap6:LoaderSearchPathOverride>
</uap6:Extension>
</Extensions>
...
</Package>
Integración con el Explorador de archivos
Ayude a los usuarios a organizar los archivos e interactuar con ellos de maneras conocidas.
- Definir cómo se comporta la aplicación cuando los usuarios seleccionan y abren varios archivos al mismo tiempo
- Mostrar contenido de archivo en una imagen en miniatura en el Explorador de archivos
- Mostrar contenido del archivo en un panel vista previa del explorador de archivos
- Habilitar a los usuarios para agrupar archivos mediante la columna Kind en el Explorador de archivos
- Hacer que las propiedades de archivo estén disponibles para buscar, indexar, cuadros de diálogo de propiedades y el panel de detalles
- Especificar un controlador de menú contextual para un tipo de archivo
- Hacer que los archivos del servicio en la nube aparezcan en el Explorador de archivos
Definir cómo se comporta la aplicación cuando los usuarios seleccionan y abren varios archivos al mismo tiempo
Especifique cómo se comporta la aplicación cuando un usuario abre varios archivos simultáneamente.
Espacios de nombres XML
http://schemas.microsoft.com/appx/manifest/uap/windows10http://schemas.microsoft.com/appx/manifest/uap/windows10/2http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elementos y atributos de esta extensión
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]" MultiSelectModel="[SelectionModel]">
<SupportedVerbs>
<Verb Id="Edit" MultiSelectModel="[SelectionModel]">Edit</Verb>
</SupportedVerbs>
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
</Extension>
Busque la referencia de esquema completa aquí.
| Nombre | Descripción |
|---|---|
| Categoría | Siempre windows.fileTypeAssociation. |
| Nombre | Nombre de la asociación de tipos de archivo. Puede usar este nombre para organizar y agrupar tipos de archivo. El nombre debe tener todos los caracteres en minúsculas sin espacios. |
| MultiSelectModel | Consulte a continuación |
| Tipo de archivo | Extensiones de archivo pertinentes. |
Modelo de Selección Múltiple
las aplicaciones de escritorio empaquetadas tienen las mismas tres opciones que las aplicaciones de escritorio normales.
-
Player: la aplicación se activa una vez. Todos los archivos seleccionados se pasan a la aplicación como parámetros de argumento. -
Single: la aplicación se activa una vez para el primer archivo seleccionado. Se omiten otros archivos. -
Document: se activa una nueva instancia independiente de la aplicación para cada archivo seleccionado.
Puede establecer diferentes preferencias para diferentes tipos de archivo y acciones. Por ejemplo, puede que desee abrir Documentos en modo Documento y Imágenes en modo Reproductor.
Ejemplo
<Package
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
IgnorableNamespaces="uap, uap2, uap3">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="myfiletypes" MultiSelectModel="Document">
<uap2:SupportedVerbs>
<uap3:Verb Id="Edit" MultiSelectModel="Player">Edit</uap3:Verb>
<uap3:Verb Id="Preview" MultiSelectModel="Document">Preview</uap3:Verb>
</uap2:SupportedVerbs>
<uap:SupportedFileTypes>
<uap:FileType>.txt</uap:FileType>
</uap:SupportedFileTypes>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Si el usuario abre 15 o menos archivos, la opción predeterminada para el atributo MultiSelectModel es Player. De lo contrario, el valor predeterminado es Document. Las aplicaciones para UWP siempre se inician como Player.
Mostrar el contenido del archivo en una imagen en miniatura en el Explorador de archivos
Permitir que los usuarios vean una imagen en miniatura del contenido del archivo cuando el icono del archivo aparezca en el tamaño mediano, grande o extra grande.
Espacio de nombres XML
http://schemas.microsoft.com/appx/manifest/uap/windows10http://schemas.microsoft.com/appx/manifest/uap/windows10/2http://schemas.microsoft.com/appx/manifest/uap/windows10/3http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elementos y atributos de esta extensión
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
<ThumbnailHandler
Clsid ="[Clsid ]" />
</FileTypeAssociation>
</Extension>
Busque la referencia de esquema completa aquí.
| Nombre | Descripción |
|---|---|
| Categoría | Siempre windows.fileTypeAssociation. |
| Nombre | Nombre de la asociación de tipos de archivo. Puede usar este nombre para organizar y agrupar tipos de archivo. El nombre debe tener todos los caracteres en minúsculas sin espacios. |
| Tipo de archivo | Extensiones de archivo pertinentes. |
| Clsid | El identificador de clase de la aplicación. |
Ejemplo
<Package
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
IgnorableNamespaces="uap, uap2, uap3, desktop2">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="myfiletypes">
<uap:SupportedFileTypes>
<uap:FileType>.bar</uap:FileType>
</uap:SupportedFileTypes>
<desktop2:ThumbnailHandler
Clsid ="20000000-0000-0000-0000-000000000001" />
</uap3:FileTypeAssociation>
</uap::Extension>
</Extensions>
</Application>
</Applications>
</Package>
Mostrar el contenido del archivo en el panel Vista previa del Explorador de archivos
Permitir que los usuarios obtengan una vista previa del contenido de un archivo en el panel Vista previa del Explorador de archivos.
Espacio de nombres XML
http://schemas.microsoft.com/appx/manifest/uap/windows10http://schemas.microsoft.com/appx/manifest/uap/windows10/2http://schemas.microsoft.com/appx/manifest/uap/windows10/3http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elementos y atributos de esta extensión
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
<DesktopPreviewHandler Clsid ="[Clsid ]" />
</FileTypeAssociation>
</Extension>
Busque la referencia de esquema completa aquí.
| Nombre | Descripción |
|---|---|
| Categoría | Siempre windows.fileTypeAssociation. |
| Nombre | Nombre de la asociación de tipos de archivo. Puede usar este nombre para organizar y agrupar tipos de archivo. El nombre debe tener todos los caracteres en minúsculas sin espacios. |
| Tipo de archivo | Extensiones de archivo pertinentes. |
| Clsid | El identificador de clase de la aplicación. |
Ejemplo
<Package
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
IgnorableNamespaces="uap, uap2, uap3, desktop2">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="myfiletypes">
<uap:SupportedFileTypes>
<uap:FileType>.bar</uap:FileType>
</uap:SupportedFileTypes>
<desktop2:DesktopPreviewHandler Clsid ="20000000-0000-0000-0000-000000000001" />
</uap3:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Permitir que los usuarios agrupe archivos mediante la columna Kind en el Explorador de archivos
Puede asociar uno o varios valores predefinidos para los tipos de archivo con el campo de Tipo .
En el Explorador de archivos, los usuarios pueden agrupar esos archivos mediante ese campo. Los componentes del sistema también usan este campo con diversos fines, como la indexación.
Para obtener más información sobre el campo de tipo
Espacios de nombres XML
http://schemas.microsoft.com/appx/manifest/uap/windows10http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3
Elementos y atributos de esta extensión
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
<KindMap>
<Kind value="[KindValue]">
</KindMap>
</FileTypeAssociation>
</Extension>
Busque la referencia de esquema completa aquí.
| Nombre | Descripción |
|---|---|
| Categoría | Siempre windows.fileTypeAssociation. |
| Nombre | Nombre de la asociación de tipos de archivo. Puede usar este nombre para organizar y agrupar tipos de archivo. El nombre debe tener todos los caracteres en minúsculas sin espacios. |
| Tipo de archivo | Extensiones de archivo pertinentes. |
| valor | Un valor de Kind válido |
Ejemplo
<Package
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3"
IgnorableNamespaces="uap, rescap">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap:FileTypeAssociation Name="mediafiles">
<uap:SupportedFileTypes>
<uap:FileType>.m4a</uap:FileType>
<uap:FileType>.mta</uap:FileType>
</uap:SupportedFileTypes>
<rescap:KindMap>
<rescap:Kind value="Item">
<rescap:Kind value="Communications">
<rescap:Kind value="Task">
</rescap:KindMap>
</uap:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Hacer que las propiedades de archivo estén disponibles para buscar, indexar, cuadros de diálogo de propiedades y el panel de detalles
Espacio de nombres XML
http://schemas.microsoft.com/appx/manifest/uap/windows10http://schemas.microsoft.com/appx/manifest/uap/windows10/3http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elementos y atributos de esta extensión
<uap:Extension Category="windows.fileTypeAssociation">
<uap:FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>.bar</FileType>
</SupportedFileTypes>
<DesktopPropertyHandler Clsid ="[Clsid]"/>
</uap:FileTypeAssociation>
</uap:Extension>
Busque la referencia de esquema completa aquí.
| Nombre | Descripción |
|---|---|
| Categoría | Siempre windows.fileTypeAssociation. |
| Nombre | Nombre de la asociación de tipos de archivo. Puede usar este nombre para organizar y agrupar tipos de archivo. El nombre debe tener todos los caracteres en minúsculas sin espacios. |
| Tipo de archivo | Extensiones de archivo pertinentes. |
| Clsid | El identificador de clase de la aplicación. |
Ejemplo
<Package
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
IgnorableNamespaces="uap, uap3, desktop2">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="myfiletypes">
<uap:SupportedFileTypes>
<uap:FileType>.bar</uap:FileType>
</uap:SupportedFileTypes>
<desktop2:DesktopPropertyHandler Clsid ="20000000-0000-0000-0000-000000000001"/>
</uap3:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Especificar un controlador de menú contextual para un tipo de archivo
Si la aplicación de escritorio define un controlador de menú contextual , use esta extensión para registrar el controlador de menús.
Espacios de nombres XML
http://schemas.microsoft.com/appx/manifest/foundation/windows10http://schemas.microsoft.com/appx/manifest/desktop/windows10/4
Elementos y atributos de esta extensión
<Extensions>
<com:Extension Category="windows.comServer">
<com:ComServer>
<com:SurrogateServer AppId="[AppID]" DisplayName="[DisplayName]">
<com:Class Id="[Clsid]" Path="[Path]" ThreadingModel="[Model]"/>
</com:SurrogateServer>
</com:ComServer>
</com:Extension>
<desktop4:Extension Category="windows.fileExplorerContextMenus">
<desktop4:FileExplorerContextMenus>
<desktop4:ItemType Type="[Type]">
<desktop4:Verb Id="[ID]" Clsid="[Clsid]" />
</desktop4:ItemType>
</desktop4:FileExplorerContextMenus>
</desktop4:Extension>
</Extensions>
Busque la referencia de esquema completa aquí: com:ComServer y desktop4:FileExplorerContextMenus.
Instrucciones
Para registrar el controlador de menú contextual, siga estas instrucciones.
En la aplicación de escritorio, implemente un controlador de menú contextual mediante la implementación de la interfaz IExplorerCommand o IExplorerCommandState. Para obtener un ejemplo, consulte el ejemplo de código
ExplorerCommandVerb. Asegúrese de definir un GUID de clase para cada uno de los objetos de implementación. Por ejemplo, el código siguiente define un identificador de clase para una implementación de IExplorerCommand. class __declspec(uuid("00001111-aaaa-2222-bbbb-3333cccc4444")) CExplorerCommandVerb;En el manifiesto del paquete, especifique una extensión de aplicación com:ComServer que registra un servidor suplente COM con el identificador de clase de la implementación del controlador de menú contextual.
<com:Extension Category="windows.comServer"> <com:ComServer> <com:SurrogateServer AppId="00001111-aaaa-2222-bbbb-3333cccc4444" DisplayName="ContosoHandler"> <com:Class Id="00001111-aaaa-2222-bbbb-3333cccc4444" Path="ExplorerCommandVerb.dll" ThreadingModel="STA"/> </com:SurrogateServer> </com:ComServer> </com:Extension>En el manifiesto del paquete, especifique una extensión de la aplicación desktop4:FileExplorerContextMenus que registre la implementación del manejador de menú contextual.
<desktop4:Extension Category="windows.fileExplorerContextMenus"> <desktop4:FileExplorerContextMenus> <desktop4:ItemType Type=".rar"> <desktop4:Verb Id="Command1" Clsid="00001111-aaaa-2222-bbbb-3333cccc4444" /> </desktop4:ItemType> </desktop4:FileExplorerContextMenus> </desktop4:Extension>
Ejemplo
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:desktop4="http://schemas.microsoft.com/appx/manifest/desktop/windows10/4"
xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10"
IgnorableNamespaces="desktop4">
<Applications>
<Application>
<Extensions>
<com:Extension Category="windows.comServer">
<com:ComServer>
<com:SurrogateServer AppId="00001111-aaaa-2222-bbbb-3333cccc4444" DisplayName="ContosoHandler">
<com:Class Id="00001111-aaaa-2222-bbbb-3333cccc4444" Path="ExplorerCommandVerb.dll" ThreadingModel="STA"/>
</com:SurrogateServer>
</com:ComServer>
</com:Extension>
<desktop4:Extension Category="windows.fileExplorerContextMenus">
<desktop4:FileExplorerContextMenus>
<desktop4:ItemType Type=".contoso">
<desktop4:Verb Id="Command1" Clsid="00001111-aaaa-2222-bbbb-3333cccc4444" />
</desktop4:ItemType>
</desktop4:FileExplorerContextMenus>
</desktop4:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Hacer que los archivos del servicio en la nube aparezcan en el Explorador de archivos
Registre los controladores que implemente en la aplicación. También puede agregar opciones de menú contextual que aparecen cuando los usuarios hacen clic con el botón derecho en los archivos basados en la nube en el Explorador de archivos.
Espacio de nombres XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elementos y atributos de esta extensión
<Extension Category="windows.cloudfiles" >
<CloudFiles IconResource="[Icon]">
<CustomStateHandler Clsid ="[Clsid]"/>
<ThumbnailProviderHandler Clsid ="[Clsid]"/>
<ExtendedPropertyhandler Clsid ="[Clsid]"/>
<CloudFilesContextMenus>
<Verb Id ="Command3" Clsid= "[GUID]">[Verb Label]</Verb>
</CloudFilesContextMenus>
</CloudFiles>
</Extension>
| Nombre | Descripción |
|---|---|
| Categoría | Siempre windows.cloudfiles. |
| recurso de icono | Icono que representa el servicio del proveedor de archivos en la nube. Este icono aparece en el panel navegación del Explorador de archivos. Los usuarios eligen este icono para mostrar archivos desde el servicio en la nube. |
| Clsid CustomStateHandler | Identificador de clase de la aplicación que implementa CustomStateHandler. El sistema usa este identificador de clase para solicitar estados y columnas personalizados para archivos en la nube. |
| Clsid ThumbnailProviderHandler | Identificador de clase de la aplicación que implementa ThumbnailProviderHandler. El sistema usa este identificador de clase para solicitar imágenes en miniatura para archivos en la nube. |
| ManejadorDePropiedadesExtendidas Clsid | Identificador de clase de la aplicación que implementa ExtendedPropertyHandler. El sistema usa este identificador de clase para solicitar propiedades extendidas para un archivo en la nube. |
| Verbo | Nombre que aparece en el menú contextual del Explorador de archivos para los archivos proporcionados por el servicio en la nube. |
| Identificación | Identificador único del verbo. |
Ejemplo
<Package
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
IgnorableNamespaces="desktop">
<Applications>
<Application>
<Extensions>
<Extension Category="windows.cloudfiles" >
<CloudFiles IconResource="images\Wide310x150Logo.png">
<CustomStateHandler Clsid ="20000000-0000-0000-0000-000000000001"/>
<ThumbnailProviderHandler Clsid ="20000000-0000-0000-0000-000000000001"/>
<ExtendedPropertyhandler Clsid ="20000000-0000-0000-0000-000000000001"/>
<desktop:CloudFilesContextMenus>
<desktop:Verb Id ="keep" Clsid=
"20000000-0000-0000-0000-000000000001">
Always keep on this device</desktop:Verb>
</desktop:CloudFilesContextMenus>
</CloudFiles>
</Extension>
</Extensions>
</Application>
</Applications>
</Package>
Iniciar la aplicación de maneras diferentes
- Iniciar la aplicación mediante un protocolo
- Iniciar la aplicación usando un alias
- Iniciar un archivo ejecutable cuando los usuarios inician sesión en Windows
- Permitir que los usuarios inicien la aplicación cuando conectan un dispositivo a su equipo
- Reiniciar automáticamente después de obtener una actualización de Microsoft Store
Iniciar la aplicación mediante un protocolo
Las asociaciones de protocolo pueden permitir que otros programas y componentes del sistema interoperan con la aplicación empaquetada. Cuando la aplicación empaquetada se inicia mediante un protocolo, puede especificar parámetros específicos para pasar a sus argumentos de evento de activación para que pueda comportarse en consecuencia. Los parámetros solo se admiten para aplicaciones empaquetadas de plena confianza. Las aplicaciones para UWP no pueden usar parámetros.
Espacio de nombres XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elementos y atributos de esta extensión
<Extension
Category="windows.protocol">
<Protocol
Name="[Protocol name]"
Parameters="[Parameters]" />
</Extension>
Busque la referencia de esquema completa aquí.
| Nombre | Descripción |
|---|---|
| Categoría | Siempre windows.protocol. |
| Nombre | Nombre del protocolo. |
| Parámetros | Lista de parámetros y valores que se van a pasar a la aplicación como argumentos de evento cuando se activa la aplicación. Si una variable puede contener una ruta de acceso de archivo, envuelva el valor del parámetro entre comillas. Esto evitará los problemas que se produzcan en los casos en los que la ruta de acceso incluya espacios. |
Ejemplo
<Package
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
IgnorableNamespaces="uap3, desktop">
<Applications>
<Application>
<Extensions>
<uap3:Extension
Category="windows.protocol">
<uap3:Protocol
Name="myapp-cmd"
Parameters="/p "%1"" />
</uap3:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Inicio de la aplicación mediante un alias
Los usuarios y otros procesos pueden usar un alias para iniciar la aplicación sin tener que especificar la ruta de acceso completa a la aplicación. Puede especificar ese nombre de alias.
Espacios de nombres XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/3http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elementos y atributos de esta extensión
<uap3:Extension
Category="windows.appExecutionAlias"
Executable="[ExecutableName]"
EntryPoint="Windows.FullTrustApplication">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="[AliasName]" />
</uap3:AppExecutionAlias>
</uap3:Extension>
| Nombre | Descripción |
|---|---|
| Categoría | Siempre windows.appExecutionAlias. |
| Ejecutable | La ruta relativa al ejecutable que se iniciará cuando se invoque el alias. |
| Alias (Nombre ficticio) | Nombre corto de la aplicación. Siempre debe terminar con la extensión ".exe". Solo puede especificar un alias de ejecución de aplicación único para cada aplicación del paquete. Si varias aplicaciones se registran para el mismo alias, el sistema invocará al último que se registró, por lo que debe asegurarse de elegir un alias único que otras aplicaciones probablemente no invaliden. |
Ejemplo
<Package
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
IgnorableNamespaces="uap3">
<Applications>
<Application>
<Extensions>
<uap3:Extension
Category="windows.appExecutionAlias"
Executable="exes\launcher.exe"
EntryPoint="Windows.FullTrustApplication">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="Contoso.exe" />
</uap3:AppExecutionAlias>
</uap3:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Busque la referencia de esquema completa aquí.
Iniciar un archivo ejecutable cuando los usuarios inician sesión en Windows
Las tareas de inicio permiten a la aplicación ejecutar un archivo ejecutable automáticamente cada vez que un usuario inicia sesión.
Nota:
El usuario debe iniciar la aplicación al menos una vez para registrar esta tarea de inicio.
La aplicación puede declarar varias tareas de inicio. Cada tarea se inicia de forma independiente. Todas las tareas de inicio aparecerán en el Administrador de tareas en la pestaña Inicio con el nombre que especifiques en el manifiesto de la aplicación y en el icono de la aplicación. El Administrador de tareas analizará automáticamente el impacto de inicio de las tareas.
Los usuarios pueden deshabilitar manualmente la tarea de inicio de la aplicación mediante el Administrador de tareas. Si un usuario deshabilita una tarea, no puede volver a habilitarla mediante programación.
Espacio de nombres XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elementos y atributos de esta extensión
<Extension
Category="windows.startupTask"
Executable="[ExecutableName]"
EntryPoint="Windows.FullTrustApplication">
<StartupTask
TaskId="[TaskID]"
Enabled="true"
DisplayName="[DisplayName]" />
</Extension>
| Nombre | Descripción |
|---|---|
| Categoría | Siempre windows.startupTask. |
| Ejecutable | Ruta de acceso relativa al archivo ejecutable que se va a iniciar. |
| Id de tarea | Identificador único de la tarea. Con este identificador, la aplicación puede llamar a las API de la clase Windows.ApplicationModel.StartupTask para habilitar o deshabilitar mediante programación una tarea de inicio. |
| Activado | Indica si la tarea se inicia por primera vez habilitada o deshabilitada. Las tareas habilitadas se ejecutarán la próxima vez que el usuario inicie sesión (a menos que el usuario lo deshabilite). |
| Nombre para mostrar | Nombre de la tarea que aparece en el Administrador de tareas. Puede localizar esta cadena mediante ms-resource. |
Ejemplo
<Package
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
IgnorableNamespaces="desktop">
<Applications>
<Application>
<Extensions>
<desktop:Extension
Category="windows.startupTask"
Executable="bin\MyStartupTask.exe"
EntryPoint="Windows.FullTrustApplication">
<desktop:StartupTask
TaskId="MyStartupTask"
Enabled="true"
DisplayName="My App Service" />
</desktop:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Permitir que los usuarios inicien la aplicación cuando conecten un dispositivo a su EQUIPO
La reproducción automática puede presentar la aplicación como una opción cuando un usuario conecta un dispositivo a su PC.
Espacio de nombres XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10/3
Elementos y atributos de esta extensión
<Extension Category="windows.autoPlayHandler">
<AutoPlayHandler>
<InvokeAction ActionDisplayName="[action string]" ProviderDisplayName="[name of your app/service]">
<Content ContentEvent="[Content event]" Verb="[any string]" DropTargetHandler="[Clsid]" />
<Content ContentEvent="[Content event]" Verb="[any string]" Parameters="[Initialization parameter]"/>
<Device DeviceEvent="[Device event]" HWEventHandler="[Clsid]" InitCmdLine="[Initialization parameter]"/>
</InvokeAction>
</AutoPlayHandler>
| Nombre | Descripción |
|---|---|
| Categoría | Siempre windows.autoPlayHandler. |
| ActionDisplayName | Cadena que representa la acción que los usuarios pueden realizar con un dispositivo que se conectan a un equipo (por ejemplo: "Importar archivos" o "Reproducir vídeo"). |
| NombreDeProveedorAMostrar | Una cadena que representa tu aplicación o servicio (por ejemplo: "Reproductor de vídeo Contoso"). |
| Evento de Contenido | Nombre de un evento de contenido que hace que se les presenten a los usuarios ActionDisplayName y ProviderDisplayName. Se genera un evento de contenido cuando se inserta un dispositivo de volumen, como una tarjeta de memoria de cámara, una unidad usb o un DVD en el equipo. Puede encontrar la lista completa de esos eventos aquí. |
| Verbo | La opción Verbo identifica un valor que se pasa a la aplicación para la opción seleccionada. Puede especificar varias acciones de lanzamiento para un evento de Reproducción Automática y usar la configuración 'Verbo' para determinar qué opción ha seleccionado un usuario para su aplicación. Puedes determinar qué opción seleccionó el usuario comprobando la propiedad del verbo de los argumentos del evento de inicio que se pasan a tu aplicación. Puede usar cualquier valor para la configuración de verbo, excepto open, que está reservado. |
| DropTargetHandler | El identificador de clase de la aplicación que implementa la interfaz IDropTarget. Los archivos de los medios extraíbles se pasan al método Drop de su implementación de IDropTarget. |
| Parámetros | No es necesario implementar la interfaz IDropTarget para todos los eventos de contenido. Para cualquiera de los eventos de contenido, puede proporcionar parámetros de línea de comandos en lugar de implementar la interfaz IDropTarget. Para esos eventos, La reproducción automática iniciará la aplicación mediante esos parámetros de línea de comandos. Puede analizar esos parámetros en el código de inicialización de la aplicación para determinar si se inició mediante Reproducción automática y, a continuación, proporcionar la implementación personalizada. |
| DeviceEvent | Nombre de un evento de dispositivo que hace que se notifique a los usuarios con su ActionDisplayName y ProviderDisplayName. Se genera un evento de dispositivo cuando un dispositivo está conectado al equipo. Los eventos de dispositivo comienzan con la cadena WPD y puede encontrarlos enumerados aquí. |
| HWEventHandler | Identificador de clase de la aplicación que implementa la interfaz IHWEventHandler. |
| InitCmdLine | Parámetro de cadena que desea pasar al método Initialize de la interfaz IHWEventHandler. |
Ejemplo
<Package
xmlns:desktop3="http://schemas.microsoft.com/appx/manifest/desktop/windows10/3"
IgnorableNamespaces="desktop3">
<Applications>
<Application>
<Extensions>
<desktop3:Extension Category="windows.autoPlayHandler">
<desktop3:AutoPlayHandler>
<desktop3:InvokeAction ActionDisplayName="Import my files" ProviderDisplayName="ms-resource:AutoPlayDisplayName">
<desktop3:Content ContentEvent="ShowPicturesOnArrival" Verb="show" DropTargetHandler="CD041BAE-0DEA-4472-9B7B-C98043D26EA8"/>
<desktop3:Content ContentEvent="PlayVideoFilesOnArrival" Verb="play" Parameters="%1" />
<desktop3:Device DeviceEvent="WPD\ImageSource" HWEventHandler="CD041BAE-0DEA-4472-9B7B-C98043D26EA8" InitCmdLine="/autoplay"/>
</desktop3:InvokeAction>
</desktop3:AutoPlayHandler>
</Extensions>
</Application>
</Applications>
</Package>
Reiniciar automáticamente después de recibir una actualización de Microsoft Store
Si la aplicación está abierta cuando los usuarios instalan una actualización, la aplicación se cierra.
Si desea que esa aplicación se reinicie una vez completada la actualización, llame a la función RegisterApplicationRestart en cada proceso que desee reiniciar.
Cada ventana activa de la aplicación recibe un mensaje WM_QUERYENDSESSION. En este momento, la aplicación puede llamar a la función RegisterApplicationRestart para actualizar la línea de comandos si es necesario.
Cuando cada ventana activa de la aplicación recibe el mensaje WM_ENDSESSION, la aplicación debe guardar los datos y apagarse.
Nota:
Las ventanas activas también reciben el mensaje WM_CLOSE en caso de que la aplicación no controle el mensaje WM_ENDSESSION.
En este momento, la aplicación tiene 30 segundos para cerrar sus propios procesos o la plataforma los finaliza de forma forzada.
Una vez completada la actualización, la aplicación se reinicia.
Trabajar con otras aplicaciones
Integrar con otras aplicaciones, iniciar otros procesos o compartir información.
- Hacer que la aplicación aparezca como destino de impresión en las aplicaciones que admiten la impresión
- Compartir fuentes con otras aplicaciones de Windows
- Iniciar un proceso de Win32 desde una aplicación para la Plataforma universal de Windows (UWP)
Hacer que la aplicación aparezca como destino de impresión en las aplicaciones que admiten la impresión
Cuando los usuarios quieren imprimir datos desde otra aplicación, como el Bloc de notas, puede hacer que la aplicación aparezca como un destino de impresión en la lista de destinos de impresión disponibles de la aplicación.
Tendrá que modificar la aplicación para que reciba datos de impresión en formato XML Paper Specification (XPS).
Espacios de nombres XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elementos y atributos de esta extensión
<Extension Category="windows.appPrinter">
<AppPrinter
DisplayName="[DisplayName]"
Parameters="[Parameters]" />
</Extension>
Busque la referencia de esquema completa aquí.
| Nombre | Descripción |
|---|---|
| Categoría | Siempre windows.appPrinter. |
| Nombre para mostrar | Nombre que desea que aparezca en la lista de destinos de impresión de una aplicación. |
| Parámetros | Cualquier parámetro que la aplicación requiera para controlar correctamente la solicitud. |
Ejemplo
<Package
xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
IgnorableNamespaces="desktop2">
<Applications>
<Application>
<Extensions>
<desktop2:Extension Category="windows.appPrinter">
<desktop2:AppPrinter
DisplayName="Send to Contoso"
Parameters="/insertdoc %1" />
</desktop2:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Busque un ejemplo que use esta extensión Aquí
Uso compartido de fuentes con otras aplicaciones de Windows
Comparta sus fuentes personalizadas con otras aplicaciones de Windows.
Nota:
Para poder enviar una aplicación que use esta extensión a la Tienda, primero debes obtener la aprobación del equipo de la Tienda. Para obtener la aprobación, vaya a https://aka.ms/storesupport, haga clic en Póngase en contacto con nosotrosy elija las opciones pertinentes para enviar aplicaciones al panel. Este proceso de aprobación ayuda a garantizar que no haya conflictos entre las fuentes instaladas por la aplicación y las fuentes instaladas con el sistema operativo. Si no obtienes aprobación, recibirás un error similar al siguiente al enviar la aplicación: "Error de validación de aceptación del paquete: no puedes usar extension windows.sharedFonts con esta cuenta. Póngase en contacto con nuestro equipo de soporte técnico si desea solicitar permisos para usar esta extensión".
Espacios de nombres XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/4
Elementos y atributos de esta extensión
<Extension Category="windows.sharedFonts">
<SharedFonts>
<Font File="[FontFile]" />
</SharedFonts>
</Extension>
Busque la referencia de esquema completa aquí.
| Nombre | Descripción |
|---|---|
| Categoría | Siempre windows.sharedFonts. |
| Archivo | Archivo que contiene las fuentes que desea compartir. |
Ejemplo
<Package
xmlns:uap4="http://schemas.microsoft.com/appx/manifest/uap/windows10/4"
IgnorableNamespaces="uap4">
<Applications>
<Application>
<Extensions>
<uap4:Extension Category="windows.sharedFonts">
<uap4:SharedFonts>
<uap4:Font File="Fonts\JustRealize.ttf" />
<uap4:Font File="Fonts\JustRealizeBold.ttf" />
</uap4:SharedFonts>
</uap4:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Iniciar un proceso de Win32 desde una aplicación para la Plataforma universal de Windows (UWP)
Inicie un proceso de Win32 que se ejecute en plena confianza.
Espacios de nombres XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elementos y atributos de esta extensión
<Extension Category="windows.fullTrustProcess" Executable="[executable file]">
<FullTrustProcess>
<ParameterGroup GroupId="[GroupID]" Parameters="[Parameters]"/>
</FullTrustProcess>
</Extension>
| Nombre | Descripción |
|---|---|
| Categoría | Siempre windows.fullTrustProcess. |
| ID de Grupo | Cadena que identifica un conjunto de parámetros que desea pasar al ejecutable. |
| Parámetros | Parámetros que desea pasar al ejecutable. |
Ejemplo
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:rescap=
"http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10">
...
<Capabilities>
<rescap:Capability Name="runFullTrust"/>
</Capabilities>
<Applications>
<Application>
<Extensions>
<desktop:Extension Category="windows.fullTrustProcess" Executable="fulltrustprocess.exe">
<desktop:FullTrustProcess>
<desktop:ParameterGroup GroupId="SyncGroup" Parameters="/Sync"/>
<desktop:ParameterGroup GroupId="OtherGroup" Parameters="/Other"/>
</desktop:FullTrustProcess>
</desktop:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Esta extensión puede ser útil si desea crear una interfaz de usuario de la Plataforma universal de Windows que se ejecute en todos los dispositivos, pero quiere que los componentes de la aplicación Win32 sigan ejecutándose con plena confianza.
Solo tiene que crear un paquete de aplicación de Windows para la aplicación Win32. A continuación, agregue esta extensión al archivo de paquete de la aplicación para UWP. Esta extensión indica que quiere iniciar un archivo ejecutable en el paquete de aplicación de Windows. Si quieres comunicarte entre tu aplicación para UWP y tu aplicación Win32, puedes configurar uno o varios servicios de aplicaciones para hacerlo. Puede obtener más información sobre este escenario aquí.
Pasos siguientes
¿Tiene preguntas? Pregúntanos en Stack Overflow. Nuestro equipo supervisa estas etiquetas . También puede preguntarnos aquí .