Criar manualmente um arquivo do Instalador de Aplicativo

Este artigo mostra como criar manualmente um arquivo do instalador de aplicativo que define um conjunto relacionado com atualizações automatizadas e recursos de reparo. Um conjunto relacionado não é uma entidade, mas em vez disso, uma combinação de um pacote principal e pacotes opcionais.

Para poder instalar um conjunto relacionado como uma entidade, nós devemos ser capazes de especificar o pacote principal e o pacote opcional como um. Para fazer isso, será necessário criar um arquivo XML com uma extensão . AppInstaller para definir um conjunto relacionado. O instalador do aplicativo 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 do aplicativo irá:

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

Como criar um arquivo de Instalador de Aplicativo

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

  1. Crie o *. Arquivo AppInstaller.
  2. Especifique os atributos do arquivo do instalador do aplicativo.
  3. especifique o pacote do aplicativo Windows principal.
  4. Especifique o pacote opcional do conjunto relacionado.
  5. especifique a dependência Windows pacote do app Framework.
  6. Especifique os caminhos de URI de atualização.
  7. Especifique os caminhos de URI de reparo.
  8. especifique a Configurações de atualização.
Exemplo de um arquivo do instalador do aplicativo

Seguindo as etapas fornecidas acima, você terá criado com êxito um arquivo do instalador de aplicativo que se assemelha 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 *. 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 em seu arquivo do instalador de aplicativo observando a versão, o caminho e o local de rede do arquivo do instalador do aplicativo. as informações no AppInstaller elemento serão consumidas ao instalar os aplicativos Windows associados.

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

  2. Copie o conteúdo XML a seguir em seu *. Arquivo AppInstaller .

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

  4. Atualize o URI atributo com o local de rede em que este *. O arquivo AppInstaller poderá ser acessado do.

Etapa 3: Adicionar as informações de pacote principal

o <MainPackage> e o <MainBundle> são usados para identificar o aplicativo de Windows primário que será instalado usando o arquivo do instalador do aplicativo. o <MainPackage> é usado quando o instalador do aplicativo Windows é um *. msix ou *. appx. Use o <MainBundle> quando o instalador do aplicativo Windows for um pacote Windows instalador do aplicativo, 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 do aplicativo. Isso pode ser encontrado executando o seguinte cmdlet do PowerShell: $(Get-AppxPackage [AppName]).Name .
Publisher o nome canônico do certificado do publicador usado para assinar o instalador do aplicativo de Windows primário. Isso pode ser encontrado executando o seguinte cmdlet do PowerShell: $(Get-AppxPackage [AppName]).Publisher .
Versão a versão do instalador do aplicativo primário Windows em uma notação com quatro pontos (1.0.0.0). Isso pode ser encontrado executando o seguinte cmdlet do PowerShell: $(Get-AppxPackage [AppName]).Version .
ProcessorArchitecture a arquitetura na qual o instalador do aplicativo primário Windows está instalando.
URI o caminho do URI para a mídia de instalação do aplicativo Windows primário.

As informações no atributo <MainBundle> ou <MainPackage> devem corresponder ao elemento Pacote/Identidade no manifesto do lote de aplicativo ou manifesto do conjunto de aplicativo, respectivamente.

instalador do aplicativo Windows

Se o pacote do aplicativo principal 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.

<?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 aplicativo Windows

Se o pacote do aplicativo principal for um. msixbundle ou. appxbundle ou arquivo, use o <MainBundle> no lugar de, <MainPackage> conforme mostrado abaixo. Para os pacotes, o 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 de conjunto de aplicativo principal, se o pacote opcional puder ser um conjunto de aplicativo ou um lote do aplicativo, o elemento filho dentro do atributo <OptionalPackages> deve ser <Package>ou <Bundle>, respectivamente. As informações nos elementos filho do pacote devem corresponder ao elemento identidade no manifesto do pacote ou lote.

Elemento Descrição
Nome O nome do aplicativo opcional que está sendo distribuído por meio do arquivo do instalador do aplicativo. Isso pode ser encontrado executando o seguinte cmdlet do PowerShell: $(Get-AppxPackage [AppName]).Name .
Publisher o nome canônico do certificado do publicador usado para assinar o instalador opcional do aplicativo Windows. Isso pode ser encontrado executando o seguinte cmdlet do PowerShell: $(Get-AppxPackage [AppName]).Publisher .
Versão a versão do instalador do aplicativo opcional Windows em uma notação de quatro pontos (1.0.0.0). Isso pode ser encontrado executando o seguinte cmdlet do PowerShell: $(Get-AppxPackage [AppName]).Version .
ProcessorArchitecture a arquitetura na qual o instalador do aplicativo Windows opcional está sendo instalado.
URI o caminho do URI para a mídia de instalação do aplicativo 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 para os pacotes opcionais.

Elemento Descrição
Nome O nome do aplicativo de dependência que está sendo distribuído para por meio do arquivo do instalador do aplicativo. Isso pode ser encontrado executando o seguinte cmdlet do PowerShell: $(Get-AppxPackage [AppName]).Name .
Publisher O nome canônico do certificado do editor usado para assinar a dependência Windows instalador do aplicativo. Isso pode ser encontrado executando o seguinte cmdlet do PowerShell: $(Get-AppxPackage [AppName]).Publisher .
Versão A versão do instalador Windows aplicativo de dependência em uma notação pontilhada quádruplo (1.0.0.0). Isso pode ser encontrado executando o seguinte cmdlet do PowerShell: $(Get-AppxPackage [AppName]).Version .
ProcessorArchitecture A arquitetura na Windows instalador do aplicativo está sendo instalada.
URI O caminho do URI para a dependência Windows de instalação do 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" />

    <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 a configuração de atualização

O arquivo do 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. é um elemento opcional. Dentro da opção OnLaunch especifica que as verificações de atualização devem ser feitas na iniciaçã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 será de 24 horas. Tipos adicionais de atualizações, como atualizações em segundo plano, podem ser encontrados no esquema Configurações atualização; Tipos adicionais de atualizações na iniciação, como atualizações com um prompt, podem ser encontrados no esquema OnLaunch

Elementos Descrição
HoursBetweenUpdateChecks Define a lacuna mínima nas verificações Windows de atualização do aplicativo.
UpdateBlocksActivation 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.
<?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 a atualização automática Configurações

Importante

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

Windows aplicativos instalados com um arquivo Instalador de Aplicativo padrão atualizarão seu aplicativo Windows do URI do Instalador de Aplicativo, aderindo às configurações definidas na etapa anterior. Os URIs de atualização configurados nesta etapa atuarão como URIs de fallback que poderão ser usados se o URI Instalador de Aplicativo original não estiver mais acessível. Um máximo de 10 URI de atualização pode ser configurado para qualquer Windows aplicativo.

Os URI de atualização devem ter como destino Instalador de Aplicativo arquivos.

Observação

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

<?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 sistema de reparo automático Configurações

Importante

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

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

Os URI de Reparo podem ser Windows arquivos Instalador de Aplicativo aplicativo. Essa configuração não exige que o Windows aplicativo tenha sido instalado usando um arquivo Instalador de Aplicativo 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 todos os detalhes sobre o esquema XML, consulte Referência de arquivo do Instalador de Aplicativo.

Observação

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