Compartilhar via


Aceleradores

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

Pré-requisitos

Para experimentar aceleradores em uma versão prévia de acesso antecipado, ingresse no Programa Insider da Ferramenta de Empacotamento MSIX.

Criar um acelerador

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

Definições

  • PackageName: o pacote é um aplicativo ou programa (aplicativo Win32, WPF ou Windows Forms) que tem um instalador herdado (exe, msi etc.) que está sendo convertido no formato MSIX.
  • PackageVersion: as versões do pacote são associadas a uma versão específica. Em alguns casos, você verá um número de Controle de Versão Semântico perfeitamente formado; e, em outros casos, você pode ver algo diferente. Elas podem ser baseadas em datas ou podem ter outras características com algum significado específico do 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. Portanto, esse sinalizador é usado para determinar a qualificação para conversão. Os valores aceitos podem ser encontrados aqui.
  • ConversionStatus: determinar o status da conversão do aplicativo. Os valores aceitos podem ser encontrados aqui.
  • RemediationApproach:
    • SequenceNumber: determina o número de sequência de uma etapa de correção. As etapas de correção para converter com êxito o aplicativo precisam ser fornecidas sequencialmente.
    • Problema:
      • Descrição: descrição do texto do problema real encontrado durante a conversão. Por exemplo, erros do Registro ou erros de FileCreate no Procmon.
      • Referência: link (Campo Opcional) 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 precisará ser inserida neste momento. 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ário em um Determinado FixType. Exemplo – se Fixtype for "Dependência", o FixDetails terá um campo de tipo de matriz chamado "Dependências" para listar todas as dependências que precisam ser adicionadas ao aplicativo. Casos de uso podem ser encontrados aqui.
  • MinimumPSFVersion: (Obrigatório somente quando pelo menos um dos tipos de correção usa PSF ou o PackageSupportFramework). Como as versões PSF são compatíveis com versões anteriores, qualquer versão maior que a versão especificada funcionará.
  • AdditionalComments: para listar informações adicionais sobre a conversão de aplicativos, destinadas exclusivamente a serem lidas por seres humanos. Esse campo é opcional.
  • Edição: edição do sistema operacional. Exemplo – Windows 10 Enterprise.
  • MinimumOSVersion: versão do sistema operacional. Exemplo – 21H1. Esse campo significa que qualquer versão maior que essa versão do sistema operacional especificada funcionará.
  • MinimumOSBuild: versão de build do sistema operacional. Exemplo – "19043.1165". Esse campo é para significar que qualquer build do sistema operacional maior que esse build do sistema operacional especificado funcionará.
  • Arquitetura: arquitetura do pacote (aplicativo). (32/64 bits)
  • MSIXConversionToolVersion: versão da Ferramenta de Empacotamento MSIX usada para conversão. Exemplo – 1.2021.709.0;
  • AcceleratorVersion: versão do acelerador que está sendo usado. Atualmente, a versão mais recente é 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 de Empacotamento MSIX.

  1. Verifique se a opção "Gerar um arquivo de linha de comando com cada pacote" está selecionada nas Configurações da Ferramenta de Empacotamento MSIX.

  2. Converta um aplicativo usando a ferramenta de empacotamento MSIX, aplicando um acelerador de desempenho 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
  • Falha
ConversionStatus: Failed

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

ConversionStatus: Not Eligible

Casos de uso para FixDetails

  • FixType: Funcionalidade
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: EntryPoint
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

  • Falha

  • Não qualificado

Relação entre EligibleForConversion e ConversionStatus

ElegívelParaConversão Status de conversão
Sim Bem-sucedido - nenhuma correção necessária, bem-sucedido - correção necessária, convertido com problemas
Não Falhou, não elegível
Não – Driver necessário Não qualificado

Valores aceitos para FixType

Valores aceitos Definições
Capacidade* Funcionalidades necessárias (por exemplo: allowElevation, uiAccess etc.) para que o aplicativo MSIX funcione. Deve ser adicionado no AppManifest ou por meio da página de Funcionalidades 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 Redistribuível x86) para que o aplicativo MSIX funcione. Para ser baixado externamente no ambiente do sistema operacional.
CaminhoDeInstalação Usado para personalizar e definir o local do instalador exe/msi caso os dados sejam instalados 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. Por exemplo: alterando a sequência de ID do aplicativo no manifesto do aplicativo.
PSF* Adicionando correções da estrutura de suporte do 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. É necessário especificar no Relatório de Serviços da ferramenta de Empacotamento MSIX durante a conversão. Veja aqui para obter mais detalhes.
Ponto de Entrada Para corrigir problemas relacionados ao EntryPoint (por exemplo: ShortcutNotCaptured). Veja aqui para obter mais detalhes.
InstalledLocationVirtualization* É uma extensão que redireciona todas as operações de gravação no diretório de instalação do aplicativo para um local nos dados do aplicativo. Veja aqui e aqui para obter 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 aplicativos declare um caminho no pacote do aplicativo, em relação 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 compatíveis com a Ferramenta de Empacotamento MSIX.