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.
A capacidade de personalizar a experiência de um aplicativo é importante, especialmente para empresas. Falamos com profissionais de TI e sabemos que personalizar aplicativos para atender às necessidades de seus usuários é essencial para o esforço de migrar para o Windows 10. Ao personalizar aplicativos que são empacotados usando MSI, é bem entendido que os profissionais de TI devem adquirir o pacote dos desenvolvedores e empacotar novamente o instalador com a personalização para atender às suas necessidades. Esse é um esforço caro para as empresas. Seguindo em frente, queremos desacoplar a personalização do aplicativo principal, para que a reembalagem não seja mais necessária. Isso garante que as empresas obtenham as atualizações mais recentes dos desenvolvedores, mantendo o controle de suas personalizações.
No Windows 10, versão 1809, introduzimos um novo tipo de pacote MSIX chamado pacote de modificação. Pacotes de modificação são pacotes MSIX que armazenam personalizações. Os pacotes de modificação também podem ser plug-ins/complementos que podem não ter um ponto de ativação. Os profissionais de TI podem usar esse recurso para alterar flexívelmente os contêineres MSIX para que os aplicativos sejam sobrepostos pelas personalizações da empresa.
Como funciona
Os pacotes de modificação são projetados para empresas que não possuem o código do aplicativo e têm apenas o instalador. Você pode criar um pacote de modificação usando a versão mais recente da ferramenta de empacotamento MSIX (para Windows 10 versão 1809 ou posterior). Se você tiver o código para o aplicativo, você poderá, como alternativa, criar uma extensão de aplicativo.
Se você quiser criar um pacote de modificação que tenha uma associação estrita ao aplicativo principal, poderá declarar o aplicativo principal como uma dependência no manifesto do pacote de modificação.
<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.15063.0"/>
<uap4:MainPackageDependency Name="Main.App"/>
</Dependencies>
O exemplo a seguir demonstra como especificar um certificado ou editor diferente.
<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.15063.0"/>
<uap4:MainPackageDependency Name="Main.App" Publisher="CN=Contoso, C=US" />
</Dependencies>
Essa é uma configuração simples se a relação entre o pacote de modificação e o pacote principal for um-para-um. As personalizações típicas geralmente exigem chaves do Registro em HKEY_CURRENT_USER ou HKEY_CURRENT_USERCLASS. Dentro do nosso pacote MSIX, temos arquivos User.dat e Userclass.dat para capturar as chaves do Registro. Você precisará criar User.dat se precisar de chaves do Registro em HKCU\Software* (assim como Registry.dat é usado para HKLM\Software*). Use Userclass.dat se precisar de chaves em HKCU\Sofware\Classes*.
Aqui estão as maneiras típicas de criar um arquivo de .dat:
Use Regedit para criar um arquivo. Crie um hive no Regedit e insira as chaves necessárias. Depois, clique com o botão direito do mouse, exporte e salve como arquivo hive. Certifique-se de nomear o arquivo User.dat ou Userclass.dat
Use uma API para criar arquivos necessários. Você pode usar a função ORSaveHive para salvar um arquivo .dat. Certifique-se de nomear o arquivo como User.dat ou Userclass.dat.
Depois de fazer as alterações necessárias, você pode criar o pacote de modificação como qualquer outro pacote MSIX. Em seguida, você pode implantar o pacote com a configuração de implantação atual. Ao relançar seu aplicativo principal, você pode ver as alterações feitas pelo pacote de modificação. Se você optar por remover o pacote de modificação, seu aplicativo principal será revertido para um estado sem o pacote de modificação.
Descubra quais pacotes de modificação estão instalados em seu dispositivo
Usando o PowerShell, você pode ver pacotes de modificação instalados usando o comando a seguir.
Get-AppPackage -PackageTypeFilter Optional
Pacotes de modificação no Windows 10, versão 1809
No Windows 10, versão 1809, os pacotes de modificação podem incluir configurações necessárias para serem definidas no registro, de modo que o pacote principal seja executado conforme o esperado. O que significa que seu aplicativo principal aproveita o registro para exibir se existe um plug-in. Quando você implanta o pacote principal e o pacote de modificação, em runtime, o aplicativo exibirá o registro virtual (VREG) do pacote principal e do pacote de modificação.
Observe que o pacote principal pode estar usando a VREG para fazer o seguinte:
- Exibindo onde carregar o arquivo (a DLL) do plug-in. Se esse for o caso, verifique se o arquivo faz parte do pacote. Ao fazer isso, o pacote principal é capaz de acessar o arquivo em runtime.
- Exibir em que local o valor das chaves do VREG pode ser visto. O pacote principal pode estar procurando um valor que existe no VREG. Ao criar seu pacote de modificação manualmente ou usando nossa ferramenta, verifique se o valor está correto.
Pacotes de modificação no Windows 10, versão 1903 e posterior
Os recursos a seguir foram adicionados ao Windows 10, versão 1903.
Atualização de manifesto
Adicionamos suporte para o seguinte elemento ao manifesto do pacote de modificação MSIX.
<Properties>
<rescap6:ModificationPackage>true</rescap6:ModificationPackage>
</Properties>
Para garantir que os pacotes de modificação funcionem na versão 1903 ou posterior, o manifesto do pacote de modificação deve incluir esse elemento. Isso será feito se você empacotar seu pacote de modificação MSIX usando a versão de janeiro da ferramenta de empacotamento MSIX. Se você tiver convertido um pacote usando nossa ferramenta antes da versão, poderá editar seu pacote existente em nossa ferramenta para adicionar esse novo elemento. Além disso, se os usuários instalarem o pacote de modificação, eles serão alertados de que o pacote pode modificar o aplicativo principal.
Se você estiver usando um pacote de modificação criado antes da versão 1903, será necessário editar o manifesto do pacote para atualizar o MaxVersionTested
atributo para 10.0.18362.0.
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17701.0" MaxVersionTested="10.0.18362.0" />
Criar um pacote de modificação usando a Ferramenta de Empacotamento MSIX
Você pode criar um pacote de modificação com a Ferramenta de Empacotamento MSIX:
Especifique o pacote principal. Certifique-se de ter a versão MSIX do pacote principal disponível em seu computador no qual você está convertendo. Caso contrário, solicitaremos que você forneça manualmente as informações do editor e do aplicativo principal. Além disso, algumas personalizações exigem que seu aplicativo principal esteja instalado em seu computador.
Modifique o pacote depois de passar pela conversão usando o editor de pacotes. Pode haver um caso em que o pacote principal exige que seu pacote de modificação tenha determinados valores em sua VREG. Aqui é onde você pode editar o pacote adequadamente.
Criar um pacote de modificação usando MakeAppx.exe
Você pode criar um pacote de modificação manualmente usando a ferramenta MakeAppX.exe incluída no SDK do Windows 10.
No manifesto, especifique o pacote principal. Inclua o fornecedor e o nome do pacote principal.
<Dependencies> <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17701.0" MaxVersionTested="12.0.0.0"/> <uap4:MainPackageDependency Name="HeadTrax" Publisher="CN=Contoso Software, O=Contoso Corporation, C=US" /> </Dependencies>
Crie Registry.dat, User.dat e Userclass.dat para criar as chaves do Registro necessárias para carregar o pacote de modificação. Isso só será necessário se você precisar do aplicativo principal para exibir chaves personalizadas do Registro. Lembre-se de que, como tudo está em execução dentro de um contêiner, no tempo de execução o pacote principal e o registro virtual do pacote de modificação se combinarão para que o pacote principal possa exibir os registros virtuais dos pacotes de modificação.
Esse processo também dá suporte a plug-ins e personalizações do sistema de arquivos, desde que o executável do aplicativo principal não esteja em um VFS (sistema de arquivos virtual). Isso é para garantir que o pacote principal obtenha todos os VFS tanto do próprio pacote principal quanto do pacote de modificação.
Instalar pacotes de modificação no computador
A instalação de pacotes de modificação no computador segue outras convenções de instalação. Vale a pena observar que talvez você queira usar o parâmetro -OptionalPackagePath ao instalar o pacote.
Resolução de conflitos
No caso de vários pacotes de modificação tentando alterar o mesmo valor, o conflito é resolvido considerando a ordem alfabética dos nomes dos pacotes de modificação.