Compartir a través de


Integración de la aplicación de escritorio con Windows mediante extensiones de empaquetado

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

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:

  1. Agregue entradas del Registro para redirigir el ejecutable de la aplicación de escritorio sin empaquetar a la aplicación empaquetada.
  2. 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.

  1. 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.
  2. En esta subclave, agregue los valores siguientes:
    • AppExecutionAliasRedirect (DWORD): si se establece en 1, el sistema comprobará si hay una extensión de paquete appExecutionAlias con 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/3
  • http://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>

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/3
  • http://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>

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/windows10
  • http://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>

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/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/2
  • http://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 antes de hacer clic con el botón derecho en el archivo. Este atributo es opcional y tiene como valor predeterminado un valor de False (por ejemplo, mostrar siempre el verbo) si no aparece en la lista. Este comportamiento se especifica individualmente para cada verbo (excepto "Abrir", que siempre es False).

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 &quot;%1&quot;">Edit</uap3:Verb>
              <uap3:Verb Id="Print" Extended="true" Parameters="/p &quot;%1&quot;">Print</uap3:Verb>
            </uap2:SupportedVerbs>
          </uap3:FileTypeAssociation>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

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/windows10
  • http://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

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 (WinRT) y la enumeración PackagePathType (Win32).

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

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/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/2
  • http://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/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/2
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3
  • http://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/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/2
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3
  • http://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 y los valores que puede usar para este campo, consulte Uso de nombres de tipo.

Espacios de nombres XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10
  • http://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/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3
  • http://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/windows10
  • http://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.

  1. 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;
    
  2. 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>
    
  3. 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

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 &quot;%1&quot;" />
        </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/3
  • http://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

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í .