Partilhar via


Use o SDK do MSIX para distribuir um pacote MSIX em plataformas que não sejam Windows 10

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.