Partager via


Accélérateurs

Un accélérateur permet de convertir efficacement les applications héritées (applications) au format MSIX. Il se compose d’informations importantes concernant : le package (l’application) ; le système d’exploitation sur lequel la conversion se produit ; et les étapes requises pour corriger le package pour le bon fonctionnement du MSIX converti.

Conditions préalables

Pour tester les accélérateurs dans une préversion d’accès anticipé, rejoignez le programme Insider de l’outil d’empaquetage MSIX.

Créer un accélérateur

Pour afficher la structure de l’accélérateur et l’utiliser pour créer votre propre accélérateur, consultez les exemples d’accélérateurs dans le dépôt GitHub MSIX-Labs .

Définitions

  • PackageName : Package est une application ou un programme (application Win32, WPF ou Windows Forms) ayant un programme d’installation hérité (exe, msi, etc.) converti au format MSIX.
  • PackageVersion : les versions de package sont associées à une version spécifique. Dans certains cas, vous verrez un numéro de versionnage sémantique parfaitement formé ; et dans d’autres cas, vous verrez peut-être quelque chose de différent. Elles peuvent être pilotées par des dates, ou elles peuvent avoir d’autres caractères avec une signification spécifique au package.
  • PublisherName : nom de l’éditeur d’origine du package.
  • EligibleForConversion : certaines applications sont interdites de conversion pour des raisons de sécurité, l’utilisation de pilotes, etc. Par conséquent, cet indicateur est utilisé pour déterminer l’éligibilité à la conversion. Les valeurs acceptées sont disponibles ici.
  • ConversionStatus : déterminer l’état de la conversion de l’application. Les valeurs acceptées sont disponibles ici.
  • RemediationApproach :
    • SequenceNumber : détermine le numéro de séquence d’une étape de correction. Les étapes à suivre pour convertir l'application doivent être fournies de manière séquentielle.
    • Problème :
      • Description : description textuelle du problème réel rencontré lors de la conversion. Par exemple, erreurs de Registre ou erreurs FileCreate dans Procmon.
      • Référence : (Champ facultatif) vers le document contenant des informations détaillées sur le problème.
    • Correctif :
      • FixType : type d’étape spécifique. Exemple : si FixType est « Fonctionnalité », une fonctionnalité spécifique doit être ajoutée à ce stade. Les valeurs acceptées sont disponibles ici.
      • Référence : lien de référence vers le document contenant des informations détaillées sur le correctif et la façon dont il doit être effectué. Ce champ est facultatif.
      • FixDetails : pour déterminer un type spécifique de correctif requis sous un FixType particulier. Exemple : si Fixtype est « Dependency », fixDetails aurait un champ de type tableau appelé « Dépendances » pour répertorier toutes les dépendances qui doivent être ajoutées pour l’application. Vous trouverez les cas d’usage ici.
  • MinimumPSFVersion : (obligatoire uniquement quand atleast l’un des FixType utilise PSF ou PackageSupportFramework). Étant donné que les versions PSF sont rétrocompatibles, toute version supérieure à la version spécifiée fonctionnera.
  • AdditionalComments : Pour répertorier des informations supplémentaires sur la conversion d’application, uniquement destinées à la lecture humaine. Ce champ est facultatif.
  • Édition : Édition du système d’exploitation. Exemple : Windows 10 Entreprise.
  • MinimumOSVersion : version du système d’exploitation. Exemple : 21H1. Ce champ indique que toute version supérieure à cette version du système d’exploitation spécifiée fonctionnera.
  • MinimumOSBuild : Version de build du système d’exploitation. Exemple : « 19043.1165 ». Ce champ indique que toute build de système d’exploitation supérieure à cette build de système d’exploitation spécifiée fonctionnera.
  • Architecture : architecture du package (application). (32/64 bits)
  • MSIXConversionToolVersion : version de MSIX Packaging Tool utilisée pour la conversion. Exemple : 1.2021.709.0 ;
  • AcceleratorVersion : version de l’accélérateur utilisé. Actuellement, la dernière version est 1.0.0.

Option de ligne de commande pour les accélérateurs

Pour la conversion automatique, vous pouvez générer le modèle accélérateur via l’outil d’empaquetage MSIX.

  1. Vérifiez que l’option « Générer un fichier de ligne de commande avec chaque package » est sélectionnée dans les paramètres de l’outil de compression MSIX.

  2. Convertissez une application à l’aide de l’outil d’empaquetage MSIX, en appliquant un accélérateur dans le processus de conversion.

  3. Par défaut, le fichier de modèle de conversion est enregistré dans le même emplacement que votre package MSIX, sauf si vous spécifiez un autre emplacement d’enregistrement.

  4. Exécutez le MsixPackagingTool.exe en mode élevé.

  5. Exécutez l’applet de commande suivante pour utiliser le modèle d’accélérateur :

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

Pour plus d’informations sur la génération d’un fichier de modèle pour les conversions de ligne de commande ici. Découvrez les paramètres qui peuvent être passés en tant qu’arguments de ligne de commande ici.

Cas d’usage pour ConversionStatus

  • Réussite - Aucun correctif requis
ConversionStatus: Successful - No Fix Required
  • Réussite - Correction requise
ConversionStatus: Successful - Fix Required

RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: App unable to install visual c++ dependency
    Fix:
      FixType: Dependency
      FixDetails:
        Dependencies:
          - Visual C++
  • Converti avec des problèmes
ConversionStatus: Converted With Issues

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

RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: Registry errors in Procmon
  • Non éligible
EligibleForConversion: No - Driver Required

ConversionStatus: Not Eligible

Cas d’usage pour FixDetails

  • FixType : Fonctionnalité
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 : Dépendance
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 : CheminD'installation
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 : Personnalisé
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 : Services
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 : Point d'entrée
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 : VirtualisationDeL'EmplacementInstallé
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

Valeurs acceptées pour EligibleForConversion

  • Oui
  • Non
  • Non - Pilote requis

Valeurs acceptées pour ConversionStatus

  • Réussite - Aucun correctif requis

  • Réussite - Correction requise

  • Converti avec des problèmes

  • Échec

  • Non éligible

Relation entre EligibleForConversion et ConversionStatus

Éligible pour conversion ConversionStatus
Oui Réussite - Aucun correctif requis, Réussi - Correctif requis, Converti avec des issues
Non Échec, non éligible
Non - Pilote requis Non éligible

Valeurs acceptées pour FixType

Valeurs acceptées Définitions
Capacité* Fonctionnalités nécessaires (par exemple, allowElevation, uiAccess, etc.) pour que l’application MSIX fonctionne. À ajouter dans l'AppManifest ou via la page des fonctionnalités de l'outil d’empaquetage MSIX lors de la conversion. Consultez ce document pour plus d’informations.
Dépendance Dépendances nécessaires (par exemple : C++ 2008 Redistributable x86) pour que l’application MSIX fonctionne. Pour être téléchargé en externe dans l’environnement du système d’exploitation.
Chemin d’installation Utilisé pour définir l’emplacement du programme d’installation exe/msi dans le cas où il installe des données en dehors du dossier par défaut (Program Files). Pour la conversion, il faut ajouter le chemin d'accès dans la page « Informations sur le paquet » de l'outil d'empaquetage MSIX. Consultez ce document pour plus d’informations.
Coutume Correctifs qui doivent être effectués manuellement par l’utilisateur pour corriger l’application MSIX. Par exemple : modification de la séquence ID d’application dans le manifeste de l’application.
PSF* Ajout de correctifs du framework de support des packages, tels que FileRedirectionFixup, pour corriger l'application MSIX. L’utilisateur doit créer un config.json et l’ajouter et d’autres dll nécessaires dans le package pendant la conversion. Consultez ce document pour plus d’informations. L’auteur de l’accélérateur doit fournir l’équivalent yaml de config.json dans le champ PSFConfig.
Prestations Les services qui devaient être inclus/exclus pour que l’application MSIX fonctionne. Vous devez spécifier dans le rapport de service de l'outil de packaging MSIX lors de la conversion. Consultez ce document pour plus d’informations.
Point d'entrée Pour résoudre les problèmes liés à EntryPoint (par exemple, ShortcutNotCaptured). Consultez ce document pour plus d’informations.
InstalledLocationVirtualization* Il s’agit d’une extension qui redirige toutes les écritures dans le répertoire d’installation de l’application vers un emplacement dans les données de l’application. Pour plus d’informations , voir ici et ici . Les valeurs par défaut pour ModifiedItems, DeletedItems et AddedItems sont conserver, réinitialiser et conserver respectivement.
LoaderSearchPathOverride* Il s’agit d’une extension qui permet à un développeur d’applications de déclarer un chemin dans le package d’application, par rapport au chemin racine du package d’application, d’être inclus dans le chemin de recherche du chargeur pour les processus de l’application. L’auteur de l’accélérateur doit fournir la liste des chemins à inclure. Consultez ce document pour plus d’informations.

Remarque

Les FixTypes acceptés marqués avec un astérisque (*) ci-dessus sont automatiquement pris en charge par l’outil MSIX Packaging Tool.