Compartilhar 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 em uma compilação de visualização de acesso antecipado, participe do Programa MSIX Packaging Tool Insider.

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, poderá ver algo diferente. Eles podem ser orientados por data ou podem ter outros caracteres com algum significado específico do pacote.
  • PublisherName: Nome do editor original do pacote.
  • EligibleForConversion: Alguns aplicativos são proibidos de conversão por razões de segurança, uso de drivers, etc. Portanto, esse sinalizador é usado para determinar a elegibilidade para conversão. Os valores aceitos podem ser encontrados aqui.
  • ConversionStatus: Determine o status da conversão do aplicativo. Os valores aceitos podem ser encontrados aqui.
  • RemediaçãoAbordagem:
    • 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", um recurso específico precisará ser adicionado neste ponto. Os valores aceitos podem ser encontrados aqui.
      • Referência: link de referência para o documento que contém informações detalhadas sobre a correção e como ela precisa ser feita. Esse campo é opcional.
      • FixDetails: Para determinar o tipo específico de correção necessária em um FixType específico. Exemplo - Se Fixtype for "Dependency", FixDetails terá um campo do tipo array chamado "Dependencies" 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 maior do que essa versão especificada funcionará.
  • Comentários adicionais: Para listar informações adicionais sobre a conversão de aplicativos, destinadas exclusivamente à leitura humana. Esse campo é opcional.
  • Edição: Edição do sistema operacional. Exemplo - Windows 10 Enterprise.
  • MinimumOSVersion: Versão do sistema operacional. Exemplo - 21H1. Este campo é para significar 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 significar que qualquer compilação do sistema operacional maior do que esta compilação do sistema operacional especificado funcionará.
  • Arquitetura: Arquitetura do pacote (aplicação). (32/64 bits)
  • MSIXConversionToolVersion: Versão da MSIX Packaging Tool usada 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 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 empacotamento 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 que o 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 de 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 problemas
ConversionStatus: Converted With Issues

RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: Shortcut not captured
    Fix:
      FixType: EntryPoint 
      FixDetails:
        EntryPointIssue: ShortcutNotCaptured
        Solution:
          - Launch from start menu
  • Com 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 
  • FixType: InstallationPath
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
  • FixType: InstalledLocationVirtualization
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 - Driver necessário

Valores aceitos para ConversionStatus

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

  • Bem sucedido - Correção necessária

  • Convertido com problemas

  • Com falha

  • Não elegível

Relação entre ElegibleForConversion e ConversionStatus

ElegívelParaConversão Status de conversão
Sim Bem sucedido - Nenhuma correção necessária, bem-sucedida - Correção necessária, convertida com problemas
Não Falhou, não elegível
Não - Driver necessário Não elegível

Valores aceitos para FixType

Valores aceitos Definições
Capacidade* Recursos necessários (por exemplo: allowElevation, uiAccess etc.) para que o aplicativo MSIX funcione. A ser adicionado no AppManifest ou por meio da página Recursos na ferramenta de empacotamento MSIX durante a conversão. Veja aqui para obter 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.
Caminho de Instalação Usado para personalizar o local do instalador do exe/msi caso ele instale 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 para obter mais detalhes.
Personalizado Correções que precisam ser feitas manualmente pelo usuário para corrigir o aplicativo MSIX. Ex: Alterando a sequência de ID do aplicativo no manifesto do aplicativo.
PSF* Adicionando correções de estrutura de suporte de pacote (por exemplo: FileRedirectionFixup) para corrigir o aplicativo 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 para obter 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. Necessidade de especificar no Relatório de Serviço da ferramenta Empacotamento MSIX durante a conversão. Veja aqui para obter mais detalhes.
EntryPoint Para corrigir problemas relacionados ao EntryPoint (por exemplo: ShortcutNotCaptured). Veja aqui para obter mais detalhes.
InstalledLocationVirtualization* É uma extensão que redireciona todas as gravações no diretório de instalação do aplicativo para um local nos dados do aplicativo. Veja aqui e aqui mais detalhes. Os valores padrão para ModifiedItems, DeletedItems e AddedItems são manter, redefinir 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 para obter mais detalhes.

Observação

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