Compartilhar via


Criar um arquivo do Instalador de Aplicativo manualmente

Este artigo mostra como criar manualmente um arquivo do Instalador de Aplicativos que define um conjunto relacionado com recursos de preenchimento automático e reparo. Um conjunto relacionado não é uma entidade, mas sim uma combinação de um pacote principal e pacotes opcionais.

Para poder instalar um conjunto relacionado como uma entidade, devemos ser capazes de especificar o pacote principal e o pacote opcional como um. Para fazer isso, precisaremos criar um arquivo XML com uma extensão .appinstaller para definir um conjunto relacionado. O Instalador de Aplicativos consome o arquivo *.appinstaller e permite que o usuário instale todos os pacotes definidos com um único clique.

Durante a implantação, o arquivo do Instalador de Aplicativos:

  • O pacote do aplicativo Windows referenciado no atributo URI do elemento < MainPackage > validará os atributos Name, Publisher e Version do pacote do aplicativo Windows de destino. Se o elemento Package/Identity no manifesto do pacote do aplicativo Windows não corresponder, a instalação falhará.
  • Crie uma referência aos URIs de Atualização e de Reparo para a família do pacote.

Como criar um arquivo do Instalador de Aplicativos

Para distribuir seu conjunto relacionado como uma entidade, você deve criar um arquivo do Instalador de Aplicativo que contenha os elementos exigidos pelo esquema do instalador de aplicativo.

  1. Crie o arquivo *.AppInstaller.
  2. Especifique os atributos de arquivo do Instalador de Aplicativo.
  3. Especifique o pacote principal do aplicativo Windows.
  4. Especifique o Pacote Opcional do conjunto relacionado.
  5. Especifique o pacote de estrutura do aplicativo do Windows de dependência.
  6. Especifique os caminhos do URI de Atualização.
  7. Especifique os caminhos de URI de reparo.
  8. Especifique as Configurações de Atualização.
Exemplo de um arquivo do Instalador de Aplicativo

Seguindo as etapas fornecidas acima, você terá criado com êxito um arquivo do Instalador de Aplicativos semelhante ao seguinte:

<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2017/2"
    Version="1.0.0.0"
    Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >

    <MainBundle
        Name="Contoso.MainApp"
        Publisher="CN=Contoso"
        Version="2.23.12.43"
        Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />

    <OptionalPackages>
        <Bundle
            Name="Contoso.OptionalApp1"
            Publisher="CN=Contoso"
            Version="2.23.12.43"
            Uri="http://mywebservice.azurewebsites.net/OptionalApp1.msixbundle" />

        <Bundle
            Name="Contoso.OptionalApp2"
            Publisher="CN=Contoso"
            Version="2.23.12.43"
            Uri="http://mywebservice.azurewebsites.net/OptionalApp2.msixbundle" />

        <Package
            Name="Fabrikam.OptionalApp3"
            Publisher="CN=Fabrikam"
            Version="10.34.54.23"
            Uri="http://mywebservice.azurewebsites.net/OptionalApp3.msix"
            ProcessorArchitecture="x64" />
    </OptionalPackages>

    <UpdateURIs>
        <UpdateURI>http://mywebservice.azurewebsites.net/appset.appinstaller</UpdateURI>
        <UpdateURI>http://mywebservice2.azurewebsites.net/appset.appinstaller</UpdateURI>
    </UpdateURIs>

    <RepairURIs>
        <RepairURI>http://mywebservice.azurewebsites.net/appset.appinstaller</RepairURI>
        <RepairURI>http://mywebservice2.azurewebsites.net/appset.appinstaller</RepairURI>
    </RepairURIs>

    <UpdateSettings>
        <OnLaunch HoursBetweenUpdateChecks="0"/>   
    </UpdateSettings>

</AppInstaller>

Etapa 1: Criar o arquivo *.appinstaller

Usando um editor de texto (Notepad.exe), crie um novo arquivo com uma extensão de nome de arquivo de *. AppInstaller

Como fazer:
  1. Abra o Menu Iniciar.
  2. Digite o seguinte: notepad.exe.
  3. Abra o menu Arquivo .
  4. Selecione Salvar como no menu suspenso.

Etapa 2: Adicionar o modelo básico

Inclua o AppInstaller elemento no arquivo do Instalador de Aplicativos, observando a versão, o caminho e o local da rede do arquivo do Instalador de Aplicativo. As informações no AppInstaller elemento serão consumidas ao instalar os aplicativos associados do Windows.

Elemento Descrição
xmlns O namespace de XML
Versão A versão do arquivo do Instalador de Aplicativo em uma notação de quadrupleto pontilhada (1.0.0.0).
URI Um caminho de URI para o arquivo atual do Instalador de Aplicativo, acessível pelo dispositivo.
Como fazer:
  1. Abra o arquivo criado na Etapa 1.

  2. Copie o conteúdo XML a seguir no seu arquivo *.AppInstaller.

    <?xml version="1.0" encoding="utf-8"?>
    <AppInstaller
        xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
        Version=""
        Uri="" >
    </AppInstaller>
    
  3. Atualizar o Version atributo com a versão do arquivo do Instalador de Aplicativos

  4. Atualize o atributo URI com o local de rede onde o arquivo .AppInstaller estará acessível.

Etapa 3: Adicionar as informações principais do pacote

<MainPackage> E <MainBundle> são usados para identificar o aplicativo primário do Windows que será instalado usando o arquivo do Instalador de Aplicativos. O <MainPackage> é usado quando o instalador de aplicativos do Windows é um *.msix ou *.appx. Use o <MainBundle> quando o instalador de aplicativo do Windows for um Instalador de Aplicativo do Windows agrupado, com uma extensão de *.msixbundle, ou *.appxbundle.

Elemento Descrição
Nome O nome do aplicativo primário que está sendo distribuído por meio do arquivo do Instalador de Aplicativo. Isso pode ser encontrado executando o seguinte cmdlet do PowerShell: $(Get-AppxPackage [AppName]).Name.
Publicador O nome canônico do certificado do distribuidor usado para assinar o instalador de aplicativo do Windows primário. Isso pode ser encontrado executando o seguinte cmdlet do PowerShell: $(Get-AppxPackage [AppName]).Publisher.
Versão A versão do instalador de aplicativo do Windows primário em uma notação de quadrupleto pontilhada (1.0.0.0). Isso pode ser encontrado executando o seguinte cmdlet do PowerShell: $(Get-AppxPackage [AppName]).Version.
Arquitetura do Processador A arquitetura na qual o instalador de aplicativo primário do Windows está sendo instalado.
URI O caminho do URI para a mídia de instalação do aplicativo do Windows primário.

As informações no atributo <MainBundle> ou <MainPackage> devem corresponder ao elemento Package/Identity no manifesto do bundle do aplicativo ou no manifesto do pacote do aplicativo, respectivamente.

Instalador de aplicativos do Windows

Se o pacote principal do aplicativo for um arquivo .msix ou .appx, use <MainPackage>, conforme mostrado abaixo. Certifique-se de incluir o ProcessorArchitecture, pois ele é obrigatório para pacotes que não são de pacote único.

<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
    Version="1.0.0.0"
    Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >

    <MainPackage
        Name="Contoso.MainApp"
        Publisher="CN=Contoso"
        Version="2.23.12.43"
        ProcessorArchitecture="x64"
        Uri="http://mywebservice.azurewebsites.net/mainapp.msix" />

</AppInstaller>
Instalador do Pacote de Aplicativos do Windows

Se o pacote do aplicativo principal for um .msixbundle ou .appxbundle ou arquivo, use o <MainBundle> no lugar do <MainPackage> mostrado abaixo. Para pacotes, ProcessorArchitecture não é necessário.

<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
    Version="1.0.0.0"
    Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >

    <MainBundle
        Name="Contoso.MainApp"
        Publisher="CN=Contoso"
        Version="2.23.12.43"
        Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />

</AppInstaller>

Etapa 4: Adicionar os pacotes opcionais

Semelhante ao atributo do pacote do aplicativo principal, se o pacote opcional puder ser um pacote de aplicativo ou um lote de aplicativo, respectivamente, o elemento filho dentro do atributo <OptionalPackages> deverá ser <Package> ou <Bundle>. As informações do pacote nos elementos filhos devem corresponder ao elemento de identidade no manifesto do pacote ou do lote.

Elemento Descrição
Nome O nome do aplicativo opcional que está sendo distribuído por meio do arquivo do Instalador de Aplicativo. Isso pode ser encontrado executando o seguinte cmdlet do PowerShell: $(Get-AppxPackage [AppName]).Name.
Publicador O nome canônico do certificado do distribuidor usado para assinar o instalador de aplicativo do Windows opcional. Isso pode ser encontrado executando o seguinte cmdlet do PowerShell: $(Get-AppxPackage [AppName]).Publisher.
Versão A versão do instalador de aplicativo do Windows opcional em uma notação de quadrupleto pontilhada (1.0.0.0). Isso pode ser encontrado executando o seguinte cmdlet do PowerShell: $(Get-AppxPackage [AppName]).Version.
Arquitetura do Processador A arquitetura na qual o instalador de aplicativo opcional do Windows está sendo instalado.
URI O caminho do URI para a mídia de instalação do aplicativo do Windows primário.
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
    Version="1.0.0.0"
    Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >

    <MainBundle
        Name="Contoso.MainApp"
        Publisher="CN=Contoso"
        Version="2.23.12.43"
        Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />

    <OptionalPackages>
        <Bundle
            Name="Contoso.OptionalApp1"
            Publisher="CN=Contoso"
            Version="2.23.12.43"
            Uri="http://mywebservice.azurewebsites.net/OptionalApp1.msixbundle" />

        <Package
            Name="Fabrikam.OptionalApp3"
            Publisher="CN=Fabrikam"
            Version="10.34.54.23"
            ProcessorArchitecture="x64"
            Uri="http://mywebservice.azurewebsites.net/OptionalApp3.msix" />

    </OptionalPackages>

</AppInstaller>

Etapa 5: Adicionar dependências

No elemento de dependências, você pode especificar os pacotes de estrutura necessários para o pacote principal ou os pacotes opcionais.

Elemento Descrição
Nome O nome do aplicativo de dependência que está sendo distribuído através do arquivo App Installer. Isso pode ser encontrado executando o seguinte cmdlet do PowerShell: $(Get-AppxPackage [AppName]).Name.
Publicador O nome canônico do certificado do distribuidor usado para assinar o instalador de aplicativo do Windows de dependência. Isso pode ser encontrado executando o seguinte cmdlet do PowerShell: $(Get-AppxPackage [AppName]).Publisher.
Versão A versão do instalador de aplicativo do Windows de dependência em uma notação de quadrupleto pontilhada (1.0.0.0). Isso pode ser encontrado executando o seguinte cmdlet do PowerShell: $(Get-AppxPackage [AppName]).Version.
Arquitetura do Processador A arquitetura em que o instalador do aplicativo do Windows de dependência está instalando.
URI O caminho do URI para a mídia de instalação do aplicativo do Windows de dependência.
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
    Version="1.0.0.0"
    Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >

    <MainBundle
        Name="Contoso.MainApp"
        Publisher="CN=Contoso"
        Version="2.23.12.43"
        Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />

    <Dependencies>
        <Package 
            Name="Microsoft.VCLibs.140.00" 
            Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" 
            Version="14.0.24605.0" ProcessorArchitecture="x86" Uri="http://foobarbaz.com/fwkx86.appx" />
        <Package 
            Name="Microsoft.VCLibs.140.00" 
            Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" 
            Version="14.0.24605.0" 
            ProcessorArchitecture="x64" 
            Uri="http://foobarbaz.com/fwkx64.appx" />
    </Dependencies>

</AppInstaller>

Etapa 6: Adicionar configuração de atualização

O arquivo Instalador de Aplicativo também pode especificar a configuração de atualização para que os conjuntos relacionados possam ser atualizados automaticamente quando um arquivo mais recente do Instalador de Aplicativo for publicado. <UpdateSettings> é um elemento opcional. No <UpdateSettings> , a opção OnLaunch especifica que as verificações de atualização devem ser feitas na inicialização do aplicativo, e HoursBetweenUpdateChecks="12" especifica que uma verificação de atualização deve ser feita a cada 12 horas. Se HoursBetweenUpdateChecks não for especificado, o intervalo padrão usado para verificar se há atualizações é de 24 horas. Tipos adicionais de atualizações, como atualizações em segundo plano, podem ser encontrados no esquema Configurações de Atualização; Tipos adicionais de atualizações no início, como atualizações com um prompt, podem ser encontrados no esquema OnLaunch

Elementos Descrição
HorasEntreVerificaçõesDeAtualização Define a lacuna mínima nas verificações de atualização de aplicativo do Windows.
AtualizaçãoDeAtivaçãoDeBlocos Define a experiência quando uma atualização de aplicativo é verificada.
ShowPrompt Define se uma janela é exibida quando as atualizações estão sendo instaladas e quando as atualizações estão sendo verificadas.
ForçarAtualizaçãoDeQualquerVersão Especifica que a próxima versão do aplicativo pode ser para uma versão mais recente ou mais antiga. Se True, tudo será para ambos, se False (padrão), somente novas versões serão instaladas.
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
    Version="1.0.0.0"
    Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >

    <MainBundle
        Name="Contoso.MainApp"
        Publisher="CN=Contoso"
        Version="2.23.12.43"
        Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />

    <UpdateSettings>
        <OnLaunch 
            HoursBetweenUpdateChecks="12"
            UpdateBlocksActivation="true"
            ShowPrompt="true" />
        <AutomaticBackgroundTask />
        <ForceUpdateFromAnyVersion>true</ForceUpdateFromAnyVersion>
    </UpdateSettings>

</AppInstaller>

Etapa 7: Adicionar Configurações de Atualização Automática

Importante

As configurações a seguir só estão disponíveis ao usar o esquema 2021 em um build do Windows Insider do Windows 10.

Aplicativos Windows instalados com um arquivo do Instalador de Aplicativos serão configurados por padrão para atualizar a partir do URI do Instalador de Aplicativos, seguindo as configurações estabelecidas na etapa anterior. As URIs de Atualização configuradas nesta etapa funcionarão como URIs de fallback que podem ser usadas se o URI original do Instalador de Aplicativo não estiver mais acessível. Um máximo de 10 URI de atualização pode ser configurado para qualquer aplicativo do Windows.

O URI de Atualização deve ter como destino os arquivos do Instalador de Aplicativo.

Observação

Essas configurações só funcionam quando o esquema é configurado como 2021 ou mais recente.

<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
    Version="1.0.0.0"
    Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >

    <MainBundle
        Name="Contoso.MainApp"
        Publisher="CN=Contoso"
        Version="2.23.12.43"
        Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />

    <UpdateSettings>
        <OnLaunch 
            HoursBetweenUpdateChecks="12" />
    </UpdateSettings>

    <UpdateUris>
        <UpdateUri>https://www.contoso.com/Installers/MainApp.AppInstaller</UpdateUri>
        <UpdateUri>\\ServerName\Share\Installers\MainApp.AppInstaller</UpdateUri>
    </UpdateUris>

</AppInstaller>

Etapa 8: Adicionar configurações de reparo automático

Importante

As configurações a seguir só estão disponíveis ao usar o esquema 2021 em um build do Windows Insider do Windows 10.

Os aplicativos do Windows instalados em um dispositivo podem dar suporte ao reparo automático do aplicativo Windows quando ele for adulterado. O instalador de origem que será usado para reparar o aplicativo windows pode ser configurado usando a <RepairURIs> propriedade. O aplicativo do Windows tentará se reparar com base no URI do Instalador de Aplicativos; se estiver inacessível, o aplicativo do Windows usará os URIs de reparo para identificar uma fonte de correção. Um máximo de 10 URIs de reparo podem ser configurados para qualquer aplicativo do Windows.

As URIs de Reparo podem ter como destino aplicativos do Windows ou arquivos do Instalador de Aplicativos. Essa configuração não exige que o aplicativo do Windows tenha sido instalado usando um arquivo do Instalador de Aplicativo.

<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
    Version="1.0.0.0"
    Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >

    <MainBundle
        Name="Contoso.MainApp"
        Publisher="CN=Contoso"
        Version="2.23.12.43"
        Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />

    <UpdateSettings>
        <OnLaunch 
            HoursBetweenUpdateChecks="12" />
    </UpdateSettings>

    <RepairUris>
        <RepairUri></RepairUri>
        <RepairUri></RepairUri>
    </RepairUris>

</AppInstaller>

Para obter todos os detalhes sobre o esquema XML, consulte a referência de arquivo do Instalador de Aplicativo.

Observação

O tipo de arquivo do Instalador de Aplicativo é novo no Windows 10, versão 1709 (o Windows 10 Fall Creators Update). Não há suporte para a implantação de aplicativos do Windows 10 usando um arquivo do Instalador de Aplicativos em versões anteriores do Windows 10. O elemento HoursBetweenUpdateChecks está disponível a partir do Windows 10, versão 1803.