Partilhar via


Aceleradores

Um acelerador fornece uma maneira eficiente de converter aplicativos herdados (aplicativos) para o formato MSIX. Consiste em informações importantes sobre: o pacote (o aplicativo); o sistema operacional (SO) no qual a conversão acontece; e as etapas necessárias para corrigir o pacote para o funcionamento adequado do MSIX convertido.

Pré-requisitos

Para experimentar aceleradores numa versão preliminar de acesso antecipado, participe no MSIX Packaging Tool Insider Program.

Criar um acelerador

Para ver a estrutura do acelerador e usá-lo para criar seu próprio acelerador, consulte os aceleradores de exemplo no repositório GitHub do MSIX-Labs .

Definições

  • PackageName: Package é um aplicativo ou programa (Win32, WPF ou aplicativo Windows Forms) com um instalador herdado (exe, msi, etc.) que está sendo convertido para o formato MSIX.
  • PackageVersion: As versões do pacote estão associadas a uma versão específica. Em alguns casos, você verá um número de versionamento semântico perfeitamente formado ; e, em outros casos, você pode ver algo diferente. Estes podem ser baseados em datas ou podem ter outros caracteres com um significado específico para o pacote.
  • PublisherName: Nome do editor original do pacote.
  • EligibleForConversion: Alguns aplicativos são proibidos de conversão por motivos de segurança, uso de drivers, etc. Assim, esse sinalizador é usado para determinar a elegibilidade para conversão. Os valores aceites podem ser consultados aqui.
  • ConversionStatus: Determine o status da conversão do aplicativo. Os valores aceites podem ser consultados aqui.
  • Abordagem de Remediação:
    • SequenceNumber: Determina o número de sequência de uma etapa de correção. As etapas de correção para converter o aplicativo com êxito precisam ser fornecidas sequencialmente.
    • Questão:
      • Descrição: descrição em texto do problema real encontrado durante a conversão. Por exemplo, erros de registro ou erros FileCreate no Procmon.
      • Referência: (Campo opcional) link para o documento que contém informações detalhadas sobre o problema.
    • Correção:
      • FixType: O tipo específico de etapa. Exemplo - Se FixType for "Capability", uma capacidade específica precisa ser adicionada nesta etapa. Os valores aceites podem ser consultados aqui.
      • Referência: Link de referência para o documento contendo informações detalhadas sobre a correção e como ela precisa ser feita. Este campo é opcional.
      • FixDetails: Para determinar o tipo específico de correção necessária em um FixType específico. Exemplo - Se Fixtype for "Dependência", então FixDetails teria um campo de tipo de matriz chamado "Dependências" para listar todas as dependências que precisam ser adicionadas para o aplicativo. Os casos de uso podem ser encontrados aqui.
  • MinimumPSFVersion: (Necessário somente quando pelo menos um dos FixType usa PSF ou PackageSupportFramework). Como as versões PSF são compatíveis com versões anteriores, qualquer versão superior à especificada funcionará.
  • Comentários adicionais: Para listar informações adicionais sobre a conversão de aplicativos, destinadas exclusivamente à leitura humana. Este campo é opcional.
  • Edição: Edição do sistema operativo. Exemplo - Windows 10 Enterprise.
  • MinimumOSVersion: Versão do sistema operacional. Exemplo - 21H1. Este campo é para indicar que qualquer versão maior do que esta versão especificada do sistema operacional funcionará.
  • MinimumOSBuild: Versão de compilação do sistema operacional. Exemplo - "19043.1165". Este campo é para indicar que qualquer compilação do sistema operacional maior do que essa compilação do sistema operacional especificada funcionará.
  • Arquitetura: Arquitetura do pacote (aplicação). (32/64 bits)
  • MSIXConversionToolVersion: Versão do MSIX Packaging Tool usado para conversão. Exemplo - 1.2021.709.0;
  • AcceleratorVersion: Versão do acelerador que está sendo usado. Atualmente, a última versão é 1.0.0.

Opção de linha de comando para Aceleradores

Para conversão automática, você pode gerar o modelo de acelerador por meio da ferramenta MSIX Packaging.

  1. Certifique-se de que a opção 'Gerar um arquivo de linha de comando com cada pacote' esteja selecionada nas Configurações da ferramenta de embalagem MSIX.

  2. Converta um aplicativo usando a ferramenta MSIX Packaging, aplicando um acelerador no processo de conversão.

  3. Por padrão, o arquivo de modelo de conversão será salvo no mesmo local do seu pacote MSIX, a menos que você especifique um local de salvamento diferente.

  4. Execute o MsixPackagingTool.exe no modo elevado.

  5. Execute o seguinte cmdlet para usar o modelo acelerador:

MsixPackagingTool.exe create-package --template c:\users\documents\AcceleratorTemplate.xml

Mais informações sobre como gerar um arquivo de modelo para conversões de linha de comando aqui. Saiba mais sobre os parâmetros que podem ser passados como argumentos de linha de comando aqui.

Casos de uso para ConversionStatus

  • Bem sucedido - Nenhuma correção necessária
ConversionStatus: Successful - No Fix Required
  • Bem sucedido - Correção necessária
ConversionStatus: Successful - Fix Required

RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: App unable to install visual c++ dependency
    Fix:
      FixType: Dependency
      FixDetails:
        Dependencies:
          - Visual C++
  • Convertido com erros
ConversionStatus: Converted With Issues

RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: Shortcut not captured
    Fix:
      FixType: EntryPoint 
      FixDetails:
        EntryPointIssue: ShortcutNotCaptured
        Solution:
          - Launch from start menu
  • Falha
ConversionStatus: Failed

RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: Registry errors in Procmon
  • Não elegível
EligibleForConversion: No - Driver Required

ConversionStatus: Not Eligible

Casos de uso para FixDetails

  • FixType: Capacidade
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: Admin Access needed to run an app 
    Fix:
      FixType: Capability
      Reference: /windows/uwp/packaging/app-capability-declarations#:~:text=or%20Visual%20Studio.-,Elevation,-The%20allowElevation%20restricted
      FixDetails:
        Capabilities:
          - allowElevation
      
  • FixType: Dependência
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: The app needs a 2008 C++ to be installed in the system
      Reference: https://forums.guru3d.com/threads/problem-running-afterburner.408768/
    Fix:
      FixType: Dependency
      Reference: https://forums.guru3d.com/threads/problem-running-afterburner.408768/
      FixDetails:
        Dependencies:
          - C++ 2008 runtime 
  • TipoDeCorreção: CaminhoDeInstalação
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: Required permissions were not granted to the VFS folder and launcher.exe was not available during msix launch
    Fix:
      FixType: InstallationPath
      Reference: /windows/msix/packaging-tool/create-app-package#package-information
      FixDetails:
        Path: C:/Users/User/AppData/Local
  • FixType: Personalizado
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description:  Chromium is downloaded as zip (not exe or msi).
    Fix:
      FixType: Custom
      FixDetails:
        Solution:
          - MSIX Packaging Tool Installation Step, Unzip the chromium.zip and then launch chrome.exe.
  • FixType: PSF
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: There were create file errors in process monitor
    Fix:
      FixType: PSF
      Reference: https://github.com/Microsoft/MSIX-PackageSupportFramework/tree/master/fixups/FileRedirectionFixup
      FixDetails:
        PSFConfig:
          applications:
            - id: LINELAUNCHER
              executable: LINE/bin/LineLauncher.exe
              workingDirectory: LINE/bin/
          processes:
            - executable: LineLauncher
              fixups:
                - dll: FileRedirectionFixup.dll
                  config:
                    redirectedPaths:
                      packageRelative:
                        - base: LINE/Data/
                          patterns:
                            - .*\.tst
                        - base: LINE/bin/
                          patterns:
                            - .*
  • FixType: Serviços
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: MSIX Packaging Tool failed to convert to MSIX stating a service is running outside the package.
    Fix:
      FixType: Services
      FixDetails:
        Exclude:
          - CleanupPSvc
  • FixType: Ponto de entrada
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: Shortcut not captured
      Reference: https://microsoft.visualstudio.com/DefaultCollection/OS/_workitems/edit/35877020
    Fix:
      FixType: EntryPoint 
      FixDetails:
        EntryPointIssue: ShortcutNotCaptured
        Solution:
          - Launch from start menu
  • TipoDeCorreção: VirtualizaçãoDoLocalDeInstalação
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: Test Issue
    Fix:
      FixType: InstalledLocationVirtualization
      Reference: /uwp/schemas/appxpackage/uapmanifestschema/element-uap10-installedlocationvirtualization
      FixDetails:
        UpdateActionsAttributes:
          ModifiedItems: keep
          DeletedItems: reset
          AddedItems: keep
  • FixType: LoaderSearchPathOverride
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: DLL not found 
    Fix:
      FixType: LoaderSearchPathOverride
      Reference: /uwp/schemas/appxpackage/uapmanifestschema/element-uap6-loadersearchpathoverride
      FixDetails:
        FolderPaths: 
          - VFS\ProgramFilesX64\LINE\lib
          - VFS\ProgramFilesX64\LINE\bin

Valores aceitos para EligibleForConversion

  • Sim
  • Não
  • Não - Controlador Necessário

Valores aceitos para ConversionStatus

  • Bem sucedido - Nenhuma correção necessária

  • Bem sucedido - Correção necessária

  • Convertido com erros

  • Falha

  • Não elegível

Relação entre EligibleForConversion e ConversionStatus

Elegível para Conversão ConversionStatus
Sim Bem sucedido - Nenhuma correção necessária, bem-sucedida - Correção necessária, convertida com problemas
Não Reprovado, Não elegível
Não - Controlador Necessário Não elegível

Valores aceitos para FixType

Valores aceites Definições
Capacidade* Recursos necessários (por exemplo: allowElevation, uiAccess etc.) para que o aplicativo MSIX funcione. Deverá ser adicionado no AppManifest ou através da página de Capacidades na ferramenta de empacotamento MSIX durante a conversão. Veja aqui mais detalhes.
Dependência Dependências necessárias (por exemplo: C++ 2008 Redistributable x86) para que o aplicativo MSIX funcione. Para ser baixado externamente no ambiente do sistema operacional.
CaminhoDeInstalação Usado para personalizar definir o local do instalador exe/msi no caso de instalar dados fora da pasta padrão (Arquivos de Programas). O caminho precisa ser adicionado na página "Informações do pacote" na ferramenta de empacotamento MSIX durante a conversão. Veja aqui mais detalhes.
Personalizado Correções que precisam ser feitas manualmente pelo usuário para corrigir o aplicativo MSIX. Por exemplo: Alterando a sequência de ID da aplicação no manifesto da aplicação.
PSF* Adicionar correções do framework de suporte de pacotes (por exemplo, FileRedirectionFixup) para reparar a aplicação MSIX. O usuário precisa criar um config.json e adicioná-lo e outras dlls necessárias no pacote durante a conversão. Veja aqui mais detalhes. O autor do acelerador precisa fornecer o equivalente yaml de config.json no campo PSFConfig.
Serviços Serviços que precisavam ser incluídos/excluídos para que o aplicativo MSIX funcionasse. Precisa especificar no Relatório de Serviço da ferramenta MSIX Packaging durante a conversão. Veja aqui mais detalhes.
Ponto de Entrada Para corrigir problemas relacionados ao EntryPoint (por exemplo: ShortcutNotCaptured). Veja aqui mais detalhes.
Virtualização da Localização Instalada É uma extensão que redireciona todas as escritas no diretório de instalação da aplicação para um local nos dados da aplicação. Veja aqui e aqui mais detalhes. Os valores padrão para ModifiedItems, DeletedItems e AddedItems são manter, reiniciar e manter, respectivamente.
LoaderSearchPathOverride* É uma extensão que permite que um desenvolvedor de aplicativo declare um caminho no pacote do aplicativo, relativo ao caminho raiz do pacote do aplicativo, a ser incluído no caminho de pesquisa do carregador para os processos do aplicativo. O autor do acelerador precisa fornecer uma lista de caminhos a serem incluídos. Veja aqui mais detalhes.

Observação

Os FixTypes aceitos marcados com um asterisco (*) acima são automaticamente suportados pela MSIX Packaging Tool.