Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Com a Ferramenta de Empacotamento MSIX, você pode executar a conversão de duas maneiras: por meio da interface do usuário interativa ou por meio da nossa opção de linha de comando. Ao usar a linha de comando, você precisa fornecer um arquivo de modelo para que a conversão funcione com suas configurações e necessidades específicas. Este artigo ajudará a orientá-lo durante o processo de geração de um arquivo de modelo que funciona para você.
Há duas maneiras de obter um arquivo de modelo que funciona para você:
- Você pode usar a interface do usuário da Ferramenta de Empacotamento MSIX. Nas configurações da ferramenta, você pode especificar que deseja gerar um arquivo de modelo de conversão com cada pacote MSIX criado.
- Você pode pegar um modelo de exemplo e inserir manualmente as configurações necessárias para cada conversão.
Gerar um arquivo modelo de conversão usando a Ferramenta de Empacotamento MSIX
- Inicie a Ferramenta de Empacotamento MSIX.
- Vá para as configurações no canto superior direito do aplicativo.
- Verifique se a opção "Gerar um arquivo de linha de comando com cada pacote" está selecionada.
- Faça outras alterações ou modificações nas configurações necessárias (por exemplo, itens de exclusão, códigos de saída).
- Salve as configurações
- Percorra o fluxo de trabalho do Pacote de Aplicativos usando um instalador.
- Se você não selecionar um instalador, não poderá gerar um arquivo de modelo de conversão.
- Se você estiver usando um exe, precisará passar um sinalizador silencioso para o instalador para gerar o arquivo de modelo de conversão.
- No final da conversão, você terá um arquivo de modelo configurado com base no instalador escolhido e nas configurações atuais, que agora podem ser reutilizados para conversões futuras.
- Por padrão, o arquivo de modelo de conversão será salvo no mesmo local do pacote MSIX, mas você pode especificar um local de salvamento separado para o arquivo de modelo na página Criar pacote.
- Você ainda precisará fazer algumas modificações com base em qual MSIX você deseja produzir no final de cada conversão.
Editar manualmente o arquivo de modelo de conversão
Você pode editar manualmente os parâmetros de modelo para o arquivo de modelo de conversão para gerar um arquivo de modelo que funciona para você. Ao gerar o arquivo de modelo de conversão, preste atenção a quais recursos você adiciona ao arquivo de modelo, pois alguns podem exigir referências de esquema adicionais para funcionar.
Referência de parâmetros do modelo de conversão
Aqui está a lista completa de parâmetros que você pode usar no arquivo de modelo de conversão.
| ConversionSettings | Descrição |
|---|---|
| Configurações:: PermitirTelemetria | [opcional] Habilita o registro em log de telemetria para essa invocação da ferramenta. |
| Configurações:: ApplyAllPrepareComputerFixes | [opcional] Aplica todas as correções de preparação do computador recomendadas. Não é possível definir quando outros atributos são usados. |
| Configurações:: GenerateCommandLineFile | [opcional] Copia a entrada do arquivo de modelo para o diretório SaveLocation para uso futuro. |
| Configurações:: AllowPromptForPassword | [opcional] Instrui a ferramenta a solicitar que o usuário insira senhas para a Máquina Virtual e para o certificado de assinatura, se for necessário e não especificado. |
| Configurações:: EnforceMicrosoftStoreVersioningRequirements | [opcional] Instrui a ferramenta a impor o esquema de controle de versão de pacote necessário para implantação da Microsoft Store e da Microsoft Store para Empresas. |
| Configurações:: Número da Porta do Servidor | [opcional] Usado ao se conectar a um computador remoto. Requer a versão 2 do modelo de esquema. |
| Configurações:: AddPackageIntegrity | [opcional] Adiciona integridade do pacote a cada MSIX gerado. Requer a v5 do esquema de modelo. |
| CódigoDeSaídaDoInstaladorVálido | [opcional] 0 ou mais elementos ValidInstallerExitCode. Requer a versão 2 do modelo de esquema. |
| ValidInstallerExitCodes:: ValidInstallerExitCode | [opcional] Especifique os códigos de saída do instalador com os quais a ferramenta pode não estar familiarizada ou exigir uma reinicialização. Requer a versão 2 do modelo de esquema. |
| ValidInstallerExitCodes:: ValidInstallerExitCode:: Reinicialização | [opcional] Especifique se um código de saída deve disparar uma reinicialização durante a conversão. Requer a v3 do esquema de modelo. |
| Itens de Exclusão | [opcional] 0 ou mais elementos de exclusão de arquivos ou exclusão de registros. Todos os elementos FileExclusion devem aparecer antes de qualquer elemento RegistryExclusion. |
| ExclusionItems::FileExclusion | [opcional] Um arquivo a ser excluído para empacotamento. |
| ExclusionItems::FileExclusion::ExcludePath | Caminho do arquivo a ser excluído para o empacotamento. |
| ItensDeExclusão::ExclusãoDeRegistro | [opcional] Uma chave do Registro a ser excluído para o empacotamento. |
| ExclusionItems::RegistryExclusion:: ExcludePath | Caminho do Registro a ser excluído para o empacotamento. |
| PrepareComputer::D isableDefragService | [opcional] Desabilita o Desfragmentador do Windows enquanto o aplicativo está sendo convertido. Se for definido como false, substituirá ApplyAllPrepareComputerFixes. |
| PrepareComputer:: DesativarServiçoDePesquisaDoWindows | [opcional] Desabilita a Pesquisa do Windows enquanto o aplicativo está sendo convertido. Se for definido como false, substituirá ApplyAllPrepareComputerFixes. |
| PrepareComputer:: DisableSmsHostService | [opcional] Desativa o Host SMS enquanto o aplicativo está sendo convertido. Se for definido como false, substituirá ApplyAllPrepareComputerFixes. |
| PrepareComputer:: DesabilitarServiçoDeAtualizaçãoDoWindows | [opcional] Desabilita o Windows Update enquanto o aplicativo está sendo convertido. Se for definido como false, substituirá ApplyAllPrepareComputerFixes. |
| SaveLocation | [opcional] Um elemento para especificar o local de salvamento da ferramenta. Se não for especificado, o pacote será salvo na pasta Desktop. |
| SaveLocation::P ackagePath | [opcional] O caminho para o arquivo ou pasta em que o pacote MSIX resultante é salvo. |
| SaveLocation::TemplatePath | [opcional] O caminho para o arquivo ou pasta em que o modelo de linha de comando resultante é salvo. |
| Installer::P ath | O caminho para o instalador do aplicativo. |
| Installer::Arguments | [opcional] Os argumentos a serem passados para o instalador. A ferramenta executará de forma automática os instaladores MSI silenciosamente usando o argumento "/qn /norestart INSTALLSTARTMENUSHORTCUTS=1 DISABLEADVTSHORTCUTS=1". NOTA: você deve passar os argumentos para forçar o instalador a executar em modo silencioso se estiver usando instaladores .exe. |
| Installer::InstallLocation | [opcional] O caminho completo para a pasta raiz do aplicativo para os arquivos instalados se ele estiver instalado (por exemplo, "C:\Arquivos de Programas (x86)\MyAppInstalllocation"). |
| Installer::IsUnattendedInstallWithoutArgument | [opcional] Esse atributo deverá ser usado se o aplicativo permitir a instalação "Autônoma" sem argumentos silenciosos. Esse atributo é usado apenas para instaladores de .exe. |
| Máquina virtual | [opcional] Um elemento para especificar que a conversão será executada em uma Máquina Virtual local. |
| VirtualMachine::Name | O nome da máquina virtual a ser usada para o ambiente de conversão. |
| VirtualMachine::Username | O nome de usuário da máquina virtual a ser usada para o ambiente de conversão. |
| RemoteMachine | [opcional] Um elemento para especificar que a conversão será executada em um computador remoto. Requer a versão 2 do modelo de esquema. |
| RemoteMachine:: ComputerName | O nome do computador remoto a ser usado para o ambiente de conversão. Requer a versão 2 do modelo de esquema. |
| RemoteMachine:: Nome de usuário | O nome de usuário do computador remoto a ser usado para o ambiente de conversão. Requer a versão 2 do modelo de esquema. |
| RemoteMachine:: EnableAutoLogon | [opcional] Isso fará você entrar automaticamente ao executar uma conversão que exige uma reinicialização em uma máquina remota, permitindo que a conversão continue sem interrupção. Requer a V3 do esquema de modelo. |
| PackageInformation::P ackageName | O nome do pacote MSIX. |
| PackageInformation::P ackageDisplayName | O nome de exibição do pacote MSIX. |
| PackageInformation::P ublisherName | O fornecedor do pacote MSIX. |
| PackageInformation::P ublisherDisplayName | O nome de exibição do fornecedor do pacote MSIX. |
| PackageInformation::Version | O número da versão do pacote MSIX. |
| PackageInformation::P ackageDescription | [opcional] A descrição do pacote MSIX. Requer v4 do esquema de modelo. |
| InformaçõesDoPacote:: NomeDoPacotePrincipalParaPacoteDeModificação | [opcional] O nome da identidade do pacote do nome do pacote principal. Isso é usado ao criar um pacote de modificação que depende de um aplicativo principal (mãe). |
| Informações de Assinatura | [opcional] Um elemento para especificar as informações de assinatura para o processo de certificação do Device Guard. Requer v4 do esquema de modelo. |
| SigningInformation:: DeviceGuardSigning | [opcional] Um elemento para especificar informações de assinatura do Device Guard. Requer v4 do esquema de modelo. |
| DeviceGuardSigning:: TokenFile | O token de acesso do Azure AD necessário para a entrada do Device Guard no formato JSON. Requer esquema de modelo v4. |
| DeviceGuardSigning:: TimestampUrl | [opcional] Fornece um carimbo de data/hora no momento da assinatura com o Device Guard para garantir que seu aplicativo será instalado além do tempo de vida do certificado. Requer v4 do esquema de modelo. |
| Aplicativos | [opcional] 0 ou mais elementos Application para configurar as entradas de Application no pacote MSIX. |
| Aplicativo::Id | A ID do Aplicativo MSIX. Essa ID será usada para a entrada de aplicativo detectada que corresponde ao ExecutableName especificado. Você pode ter vários valores de ID do aplicativo para executáveis no pacote. Esse valor é o identificador exclusivo do aplicativo dentro do pacote. Às vezes, esse valor é chamado de PRAID (identificador de aplicativo relativo ao pacote). A ID deve ser exclusiva dentro do pacote (a mesma ID não pode ser usada mais de uma vez no mesmo pacote). No entanto, a ID não deve ser exclusiva globalmente. Pode haver outro pacote no sistema que usa a mesma ID. Essa cadeia de caracteres contém campos alfanuméricos separados por períodos. Cada campo deve começar com um caractere alfabético ASCII. Não é possível usá-los como valores de campo: "CON", "PRN", "AUX", "NUL", "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8" e "LPT9". |
| Application::D isplayName | O nome de exibição do aplicativo para o pacote MSIX. Esse Nome de Exibição será usado para a entrada de aplicativo detectada que corresponde ao ExecutableName especificado |
| Aplicativo::NomeExecutável | O nome do executável do aplicativo MSIX que será adicionado ao manifesto do pacote. A entrada de aplicativo correspondente será ignorada se nenhum aplicativo com esse nome for detectado. |
| Aplicativo::Descrição | [opcional] A descrição do aplicativo para seu aplicativo MSIX. Se não for usado, o Application DisplayName será usado. Essa descrição será usada para a entrada de aplicativo detectada que corresponde ao ExecutableName especificado |
| Capacidades | [opcional] 0 ou mais elementos de funcionalidade para adicionar recursos personalizados ao pacote MSIX. A funcionalidade "runFullTrust" é adicionada por padrão durante a conversão. |
| Capacidade::Nome | A capacidade a ser adicionada ao pacote MSIX. |
Arquivo de exemplo de modelo de conversão
<MsixPackagingToolTemplate
xmlns="http://schemas.microsoft.com/appx/msixpackagingtool/template/2018"
xmlns:V2="http://schemas.microsoft.com/msix/msixpackagingtool/template/1904"
xmlns:V3="http://schemas.microsoft.com/msix/msixpackagingtool/template/1907"
xmlns:V4="http://schemas.microsoft.com/msix/msixpackagingtool/template/1910"
xmlns:V5="http://schemas.microsoft.com/msix/msixpackagingtool/template/2001">
<!--Note: You only need to include xmlns:v2 - xmlns:v5 if you are using one of the features that use those schemas -->
<Settings
AllowTelemetry="true"
ApplyAllPrepareComputerFixes="true"
GenerateCommandLineFile="true"
AllowPromptForPassword="false"
EnforceMicrosoftStoreVersioningRequirements="false"
v2:ServerPortNumber="1599"
v5:AddPackageIntegrity="true">
<!--Note: Exclusion items are optional and if declared take precedence over the default tool exclusion items
<ExclusionItems>
<FileExclusion ExcludePath="[{CryptoKeys}]" />
<FileExclusion ExcludePath="[{Common AppData}]\Microsoft\Crypto" />
<FileExclusion ExcludePath="[{Common AppData}]\Microsoft\Search\Data" />
<FileExclusion ExcludePath="[{Cookies}]" />
<FileExclusion ExcludePath="[{History}]" />
<FileExclusion ExcludePath="[{Cache}]" />
<FileExclusion ExcludePath="[{Personal}]" />
<FileExclusion ExcludePath="[{Profile}]\Local Settings" />
<FileExclusion ExcludePath="[{Profile}]\NTUSER.DAT.LOG1" />
<FileExclusion ExcludePath="[{Profile}]\ NTUSER.DAT.LOG2" />
<FileExclusion ExcludePath="[{Recent}]" />
<FileExclusion ExcludePath="[{Windows}]\debug" />
<FileExclusion ExcludePath="[{Windows}]\Logs\CBS" />
<FileExclusion ExcludePath="[{Windows}]\Temp" />
<FileExclusion ExcludePath="[{Windows}]\WinSxS\ManifestCache" />
<FileExclusion ExcludePath="[{Windows}]\WindowsUpdate.log" />
<FileExclusion ExcludePath="[{Windows}]\Installer" />
<FileExclusion ExcludePath="[{AppVPackageDrive}]\$Recycle.Bin " />
<FileExclusion ExcludePath="[{AppVPackageDrive}]\System Volume Information" />
<FileExclusion ExcludePath="[{AppVPackageDrive}]\Config.Msi" />
<FileExclusion ExcludePath="[{AppData}]\Microsoft\AppV" />
<FileExclusion ExcludePath="[{Common AppData}]\Microsoft\Microsoft Security Client" />
<FileExclusion ExcludePath="[{Common AppData}]\Microsoft\Microsoft Antimalware" />
<FileExclusion ExcludePath="[{Common AppData}]\Microsoft\Windows Defender" />
<FileExclusion ExcludePath="[{ProgramFiles}]\Microsoft Security Client" />
<FileExclusion ExcludePath="[{ProgramFiles}]\Windows Defender" />
<FileExclusion ExcludePath="[{ProgramFiles}]\WindowsApps" />
<FileExclusion ExcludePath="[{Local AppData}]\Temp" />
<FileExclusion ExcludePath="[{Local AppData}]\Microsoft\Windows" />
<FileExclusion ExcludePath="[{Local AppData}]\Packages" />
<RegistryExclusion ExcludePath= "REGISTRY\MACHINE\SOFTWARE\Wow6432Node\Microsoft\Cryptography" />
<RegistryExclusion ExcludePath= "REGISTRY\MACHINE\SOFTWARE\Microsoft\Cryptography" />
<RegistryExclusion ExcludePath= "REGISTRY\MACHINE\SOFTWARE\Microsoft\Microsoft Antimalware" />
<RegistryExclusion ExcludePath= "REGISTRY\MACHINE\SOFTWARE\Microsoft\Microsoft Antimalware Setup" />
<RegistryExclusion ExcludePath= "REGISTRY\MACHINE\SOFTWARE\Microsoft\Microsoft Security Client" />
<RegistryExclusion ExcludePath= "REGISTRY\MACHINE\SOFTWARE\Policies\Microsoft\Microsoft Antimalware" />
<RegistryExclusion ExcludePath= "REGISTRY\MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender" />
<RegistryExclusion ExcludePath= "REGISTRY\USER\[{AppVCurrentUserSID}]\Software\Microsoft\Windows\CurrentVersion\Explorer\StreamMRU" />
<RegistryExclusion ExcludePath= "REGISTRY\USER\[{AppVCurrentUserSID}]\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\StreamMRU" />
<RegistryExclusion ExcludePath= "REGISTRY\USER\[{AppVCurrentUserSID}]\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams" />
<RegistryExclusion ExcludePath= "REGISTRY\USER\[{AppVCurrentUserSID}]\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\Streams" />
<RegistryExclusion ExcludePath= "REGISTRY\MACHINE\SOFTWARE\Microsoft\AppV" />
<RegistryExclusion ExcludePath= "REGISTRY\MACHINE\SOFTWARE\Wow6432Node\Microsoft\AppV" />
<RegistryExclusion ExcludePath= "REGISTRY\USER\[{AppVCurrentUserSID}]\Software\Microsoft\AppV" />
<RegistryExclusion ExcludePath= "REGISTRY\USER\[{AppVCurrentUserSID}]\Software\Wow6432Node\Microsoft\AppV" />
</ExclusionItems>
-->
<!--Note: Specifying an installer exit code will allow you to automatically trigger a reboot during your conversion
<v2:ValidInstallerExitCodes>
<V2:ValidInstallerExitCode ExitCode="3010" V3:Reboot="true"/>
<V2:ValidInstallerExitCode ExitCode="1641"/>
</v2:ValidInstallerExitCodes>
-->
</Settings>
<!--Note: this section takes precedence over the Settings::ApplyAllPrepareComputerFixes attribute and is optional
<PrepareComputer
DisableDefragService="true"
DisableWindowsSearchService="true"
DisableSmsHostService="true"
DisableWindowsUpdateService="true"/>
-->
<SaveLocation
PackagePath="C:\users\user\Desktop\MyPackage.msix"
TemplatePath="C:\users\user\Desktop\MyTemplate.xml" />
<Installer
Path="C:\MyAppInstaller.msi"
InstallLocation="C:\Program Files\MyAppInstallLocation" />
<!--NOTE: This section specifies that the conversion will be run on a local Virtual Machine. This is optional if you want to change your conversion environment from the default local machine.
<VirtualMachine Name="vmname" Username="vmusername"/>
-->
<!--NOTE: This section specifies that the conversion will be run on a remote machine.This is optional if you want to change your conversion environment from the default local machine.
<v2:RemoteMachine ComputerName="vmname" Username="vmusername" v3:EnableAutoLogon="true"/>
-->
<PackageInformation
PackageName="MyAppPackageName"
PackageDisplayName="MyApp Display Name"
PublisherName="CN=MyPublisher"
PublisherDisplayName="MyPublisher Display Name"
Version="1.1.0.0"
MainPackageNameForModificationPackage="MainPackageIdentityName">
<!--Note: This is optional, if you want to sign your package with Device Guard signing
<v4:SigningInformation>
<v4:DeviceGuardSigning
Tokenfile="tokenfile.json"
TimestampUrl="https://mytimestamp.com"/>
</v4:SigningInformation>
-->
<!--NOTE: This ID will be used if the Application entry detected matches the specified ExecutableName
<Applications>
<Application
Id="MyApp1"
Description="MyApp"
DisplayName="My App"
ExecutableName="MyApp.exe"/>
</Applications>
-->
<!--NOTE: This is optional as “runFullTrust” capability is added by default during conversion
<Capabilities>
<Capability Name="runFullTrust" />
</Capabilities>
-->
</PackageInformation>
</MsixPackagingToolTemplate>