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.
El SDK de MSIX ofrece a los desarrolladores una manera universal de distribuir el contenido del paquete a los dispositivos cliente independientemente de la plataforma del sistema operativo en el dispositivo cliente. Esto permite a los desarrolladores empaquetar el contenido de la aplicación una vez en lugar de tener que empaquetar para cada plataforma.
Para aprovechar el SDK de MSIX y la capacidad de distribuir el contenido del paquete a varias plataformas, proporcionamos una manera de especificar las plataformas de destino en las que desea que los paquetes se extraigan. Esto significa que puede asegurarse de que el contenido del paquete se extrae del paquete solo como desee.
En la tabla siguiente se muestran las familias de dispositivos de destino que se van a declarar en el manifiesto.
| Plataforma | Familia | Familia de dispositivos objetivo | Notas | ||
|---|---|---|---|---|---|
| Windows 10 | Teléfono | Platform.All |
Windows.Universal | Windows.Mobile | Dispositivos móviles |
| Escritorio | Windows.Desktop | PC | |||
| Xbox | Windows.Xbox | Consola Xbox | |||
| Surface Hub (pantalla interactiva) | Windows.Team | Dispositivos Win 10 de pantalla grande | |||
| HoloLens | Windows.Holographic | Casco VR/AR | |||
| Internet de las cosas | Windows.IoT | Dispositivos IoT | |||
| Ios | Teléfono | Apple.Ios.All | Apple.iOS.Teléfono | iPhone, Táctil | |
| Tableta | Apple.Ios.Tablet | iPad mini, iPad, iPad Pro | |||
| TELEVISIÓN | Apple.Ios.TV | Apple TV | |||
| Reloj | Apple.Ios.Watch | iWatch | |||
| MacOS | Escritorio | Apple.MacOS.All | MacBook Pro, MacBook Air, Mac Mini, iMac | ||
| Androide | Teléfono | Google.Android.All | Google.Android.Phone | Dispositivos móviles que tienen como destino cualquier tipo de Android | |
| Tableta | Google Android Tablet | Tabletas Android | |||
| Escritorio | Google.Android.Desktop | Chromebooks | |||
| TELEVISIÓN | Google.Android.TV | Dispositivos android de pantalla grande | |||
| Reloj | Google.Android.Watch | Dispositivos de engranajes de Google | |||
| Windows | 7 | Windows7.Desktop | Dispositivos Windows 7 | ||
| 8 | Windows8.Desktop | Dispositivos Windows 8/8.1 | |||
| La web | Microsoft | Web.All | Web.Edge.All | Aplicaciones de motor web edge | |
| Androide | Web.Blink.All | Aplicaciones de motor web de Blink | |||
| Cromo | Web.Chromium.All | Aplicaciones de motor web chrome | |||
| Ios | Web.Webkit.All | Aplicaciones de motor web web de Webkit | |||
| MacOS | Web.Safari.All | Aplicaciones de motor web safari | |||
| Linux | Cualquiera/Todos | Linux.All | Todas las distribuciones de Linux | ||
En el archivo de manifiesto del paquete de la aplicación, deberá incluir la familia de dispositivos de destino adecuada si desea que el contenido del paquete solo se extraiga en plataformas y dispositivos específicos. Si deseas construir el paquete de tal manera que sea compatible con todos los tipos de plataformas y dispositivos, elige Platform.All como la familia de dispositivos objetivo. Del mismo modo, si desea que el paquete solo se admita en aplicaciones web, elija Web.All.
Archivo de manifiesto de ejemplo (AppxManifest.xml)
<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
IgnorableNamespaces="mp uap uap3">
<Identity Name="BestAppExtension"
Publisher="CN=awesomepublisher"
Version="1.0.0.0" />
<mp:PhoneIdentity PhoneProductId="56a6ecda-c215-4864-b097-447edd1f49fe" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>
<Properties>
<DisplayName>Best App Extension</DisplayName>
<PublisherDisplayName>Awesome Publisher</PublisherDisplayName>
<Description>This is an extension package to my app</Description>
<Logo>Assets\StoreLogo.png</Logo>
</Properties>
<Resources>
<Resource Language="x-generate"/>
</Resources>
<Dependencies>
<TargetDeviceFamily Name="Platform.All" MinVersion="0.0.0.0" MaxVersionTested="0.0.0.0"/>
</Dependencies>
<Applications>
<Application Id="App">
<uap:VisualElements
DisplayName="Best App Extension"
Description="This is the best app extension"
BackgroundColor="white"
Square150x150Logo="images\squareTile-sdk.png"
Square44x44Logo="images\smallTile-sdk.png"
AppListEntry="none">
</uap:VisualElements>
<Extensions>
<uap3:Extension Category="Windows.appExtension">
<uap3:AppExtension Name="add-in-contract" Id="add-in" PublicFolder="Public" DisplayName="Sample Add-in" Description="This is a sample add-in">
<uap3:Properties>
<!--Free form space-->
</uap3:Properties>
</uap3:AppExtension>
</uap3:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Versión de la plataforma
En el archivo de manifiesto de ejemplo anterior, junto con el nombre de la plataforma, también hay parámetros para especificar MinVersion y MaxVersionTested Estos parámetros se usan en plataformas de Windows 10. En Windows 10, el paquete solo se implementará en versiones del sistema operativo Windows 10 superiores a MinVersion. En otras plataformas que no son de Windows 10, los parámetros MinVersion y MaxVersionTested no se usan para realizar la declaración de si se va a extraer el contenido del paquete.
Si quieres usar el paquete para todas las plataformas (Windows 10 y no Windows 10), te recomendamos que uses los parámetros MinVersion y MaxVersionTested para especificar las versiones del sistema operativo Windows 10 donde quieres que funcione la aplicación. Por lo tanto, la sección Dependencias del manifiesto tendría este aspecto:
<Dependencies>
<TargetDeviceFamily Name="Platform.All" MinVersion="0.0.0.0" MaxVersionTested="0.0.0.0"/>
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.14393.0" MaxVersionTested="10.0.16294.0"/>
</Dependencies>
MinVersion y MaxVersionTested son campos obligatorios en el manifiesto y deben cumplir la notación cuádruple(#.#.#.#).#). Si solo usas el SDK de empaquetado MSIX solo para plataformas que no son de Windows 10, solo puedes usar '0.0.0.0' como MinVersion y MaxVersionTested como versiones.
Cómo usar eficazmente el mismo paquete en todas las plataformas (Windows 10 y no Windows 10)
Para aprovechar al máximo el SDK de empaquetado de MSIX, tendrás que compilar el paquete de una manera que se implementará como un paquete de aplicación en Windows 10 y al mismo tiempo compatible con otras plataformas. En Windows 10, puedes compilar el paquete como una extensión de aplicación. Para obtener más información sobre las extensiones de aplicación y cómo pueden ayudar a que la aplicación sea extensible, consulte la entrada de blog Introducción a las extensiones de aplicación.
En el ejemplo de archivo de manifiesto mostrado anteriormente en este artículo, observará un elemento Properties dentro del elemento AppExtension . No se realiza ninguna validación en esta sección del archivo de manifiesto. Esto permite a los desarrolladores especificar los metadatos necesarios entre la extensión y la aplicación host/cliente.