Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O MSIX SDK oferece aos desenvolvedores uma maneira universal de distribuir o conteúdo do pacote para dispositivos cliente, independentemente da plataforma do sistema operacional no dispositivo cliente. Isso permite que os desenvolvedores empacotem o conteúdo do aplicativo uma vez, em vez de ter que empacotar para cada plataforma.
Para aproveitar o SDK do MSIX e a capacidade de distribuir o conteúdo do pacote para várias plataformas, fornecemos uma maneira de especificar as plataformas de destino para as quais você deseja extrair seus pacotes. Isso significa que pode-se garantir que o conteúdo do pacote seja extraído somente como desejar.
A tabela a seguir mostra as famílias de dispositivos de destino a serem declaradas no manifesto.
| Plataforma | Família | Família de dispositivos alvo | Observações | ||
|---|---|---|---|---|---|
| Janelas 10 | Telemóvel | Plataforma.Todas |
Windows.Universal | Windows Mobile | Dispositivos móveis |
| Versão desktop | Windows.Desktop | Computador pessoal | |||
| Xboxe | Windows.Xbox | Consola Xbox | |||
| Surface Hub | Equipa Windows | Dispositivos de ecrã grande Windows 10 | |||
| HoloLens | Windows.Holográfico | Capacete VR/AR | |||
| Internet das coisas | Windows.IoT | Dispositivos IoT | |||
| iOS | Telemóvel | Apple.Ios.Todos | Apple.Ios.iPhone | iPhone, Toque | |
| Comprimido | Apple.Ios.Tablet | iPad mini, iPad, iPad Pro | |||
| Televisão | Apple iOS TV | Apple TV | |||
| Assistir | Apple.Ios.Watch | iWatch [en] | |||
| MacOS | Versão desktop | Apple.MacOS.Todos | MacBook Pro, MacBook Air, Mac Mini, iMac | ||
| Androide | Telemóvel | Google.Android.Todos | Google.Android.Telefone | Dispositivos móveis que visam qualquer tipo de Android | |
| Comprimido | Google.Android.Tablet | Tablets com Android | |||
| Versão desktop | Google.Android.Desktop | Chromebooks | |||
| Televisão | Google.Android.TV | Dispositivos Android de tela grande | |||
| Assistir | Google.Android.Watch | Dispositivos de engrenagem do Google | |||
| Mac OS | 7 | Windows7.Desktop | Dispositivos Windows 7 | ||
| 8 | Windows8.Desktop | Dispositivos Windows 8/8.1 | |||
| Sítio Web | A Microsoft | Web.Tudo | Web.Edge.Tudo | Aplicações de motor web do Edge | |
| Androide | Web.Blink.Tudo | Aplicações baseadas no motor Blink | |||
| Cromado | Web.Crómio.Tudo | Aplicações do motor Web do Chrome | |||
| iOS | Web.Webkit.Todos | Aplicações de motor Webkit | |||
| MacOS | Web.Safari.Tudo | Aplicações do motor Web Safari | |||
| Aplicações Linux | Qualquer/Tudo | Linux.Todos | Todas as distribuições Linux | ||
No arquivo de manifesto do pacote do aplicativo, você precisará incluir a família de dispositivos de destino apropriada se quiser que o conteúdo do pacote seja extraído apenas em plataformas e dispositivos específicos. Se quiser criar o pacote de uma forma que seja suportado em todos os tipos de plataformas e dispositivos, escolha Platform.All como a família de dispositivos alvo. Da mesma forma, se você quiser que o pacote seja suportado apenas em aplicativos Web, escolha Web.All.
Exemplo de arquivo de manifesto (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>
Versão da plataforma
No arquivo de manifesto de exemplo acima, juntamente com o nome da plataforma, também há parâmetros para especificar o MinVersion e MaxVersionTested Esses parâmetros são usados em plataformas Windows 10. No Windows 10, o pacote só será implantado em versões do sistema operacional Windows 10 maiores que o MinVersion. Em outras plataformas que não sejam do Windows 10, os parâmetros MinVersion e MaxVersionTested não são usados para fazer a declaração de extrair o conteúdo do pacote.
Se você quiser usar o pacote para todas as plataformas (Windows 10 e não Windows 10), recomendamos que você use os parâmetros MinVersion e MaxVersionTested para especificar as versões do sistema operacional Windows 10 onde você gostaria que seu aplicativo funcionasse. Assim, a seção Dependências do seu manifesto ficaria assim:
<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 e MaxVersionTested são campos obrigatórios no manifesto e precisam estar em conformidade com a notação quad(#.#.#.#). Se você estiver usando apenas o SDK de empacotamento MSIX apenas para plataformas que não sejam do Windows 10, você pode simplesmente usar '0.0.0.0' como MinVersion e MaxVersionTested como as versões.
Como usar efetivamente o mesmo pacote em todas as plataformas (Windows 10 e não Windows 10)
Para aproveitar ao máximo o MSIX Packaging SDK, você precisará criar o pacote de uma forma que será implantada como um pacote de aplicativo no Windows 10 e, ao mesmo tempo, suportada em outras plataformas. No Windows 10, você pode criar o pacote como uma extensão de aplicativo. Para obter mais informações sobre as Extensões de Aplicativo e como elas podem ajudar a tornar seu aplicativo extensível, consulte a postagem do blog Introdução às Extensões de Aplicativo .
No exemplo de arquivo de manifesto mostrado anteriormente neste artigo, você notará um elemento Properties dentro do elemento AppExtension . Não há validação executada nesta seção do arquivo de manifesto. Isso permite que os desenvolvedores especifiquem os metadados necessários entre a extensão e o aplicativo host/cliente.