Delen via


Versnellers

Een accelerator biedt een efficiënte manier om verouderde toepassingen (apps) te converteren naar MSIX-indeling. Het bestaat uit belangrijke informatie met betrekking tot: het pakket (de app); het besturingssysteem waarop de conversie plaatsvindt; en de stappen die nodig zijn om het pakket te herstellen voor de juiste werking van de geconverteerde MSIX.

Vereiste voorwaarden

Als u accelerators wilt uitproberen in een preview-versie met vroege toegang, neemt u deel aan het MSIX Packaging Tool Insider-programma.

Een accelerator maken

Als u de structuur van de accelerator wilt bekijken en deze wilt gebruiken om uw eigen accelerator te bouwen, raadpleegt u de voorbeeldversnellers in de GitHub-opslagplaats MSIX-Labs .

Definities

  • PackageName: Package is een toepassing of programma (Win32-, WPF- of Windows Forms-app) met een verouderd installatieprogramma (exe, msi, enzovoort) dat wordt geconverteerd naar MSIX-indeling.
  • PackageVersion: Pakketversies zijn gekoppeld aan een specifieke release. In sommige gevallen ziet u een perfect gevormd Semantisch versiebeheernummer ; en in andere gevallen ziet u mogelijk iets anders. Dit kan datumgestuurd zijn of andere tekens bevatten met een pakketspecifieke betekenis.
  • PublisherName: naam van de oorspronkelijke uitgever van het pakket.
  • EligibleForConversion: Sommige apps mogen om veiligheidsredenen niet worden geconverteerd, stuurprogramma's worden gebruikt, enzovoort. Deze vlag wordt daarom gebruikt om de geschiktheid voor conversie te bepalen. Geaccepteerde waarden vindt u hier.
  • ConversionStatus: de status van de conversie van toepassingen bepalen. Geaccepteerde waarden vindt u hier.
  • RemediationApproach:
    • SequenceNumber: bepaalt het volgnummer van een fix-step. De stappen om de app te converteren moeten in volgorde worden opgegeven.
    • Probleem:
      • Beschrijving: Tekstbeschrijving van het werkelijke probleem dat is opgetreden tijdens de conversie. Bijvoorbeeld registerfouten of FileCreate-fouten in Procmon.
      • Verwijzing: (Optioneel veld) naar het document met gedetailleerde informatie over het probleem.
    • Oplossing:
      • FixType: het specifieke type stap. Voorbeeld: als FixType 'Capability' is, moet op dit moment een specifieke mogelijkheid worden toegevoegd. Geaccepteerde waarden vindt u hier.
      • Naslaginformatie: Verwijzingskoppeling naar het document met gedetailleerde informatie over de oplossing en hoe dit moet worden gedaan. Dit veld is optioneel.
      • FixDetails: Om te bepalen welk type fix is vereist onder een bepaald FixType. Voorbeeld: als Fixtype 'Dependency' is, zou FixDetails een matrixtypeveld met de naam 'Afhankelijkheden' hebben om alle afhankelijkheden weer te geven die moeten worden toegevoegd voor de toepassing. Gebruiksvoorbeelden vindt u hier.
  • MinimumPSFVersion: (alleen vereist wanneer een van de FixType's ten minste PSF of PackageSupportFramework gebruikt). Omdat PSF-releases compatibel zijn met eerdere versies, werkt elke versie die groter is dan deze opgegeven versie.
  • Aanvullende opmerkingen: om aanvullende informatie over app-conversie weer te geven, uitsluitend bedoeld voor menselijke leesvaardigheid. Dit veld is optioneel.
  • Editie: Editie van het besturingssysteem. Voorbeeld: Windows 10 Enterprise.
  • MinimumOSVersion: versie van het besturingssysteem. Voorbeeld - 21H1. Dit veld is bedoeld om aan te geven dat elke versie die groter is dan deze opgegeven versie van het besturingssysteem werkt.
  • MinimumOSBuild: buildversie van het besturingssysteem. Voorbeeld: '19043.1165'. Dit veld is bedoeld om aan te geven dat elke build van het besturingssysteem die hoger is dan de opgegeven build compatibel is.
  • Architectuur: Architectuur van het pakket (toepassing). (32/64-bits)
  • MSIXConversionToolVersion: versie van MSIX Packaging Tool die wordt gebruikt voor conversie. Voorbeeld - 1.2021.709.0;
  • AcceleratorVersion: versie van de accelerator die wordt gebruikt. Momenteel is de nieuwste versie 1.0.0.

Opdrachtregeloptie voor Versnellers

Voor automatische conversie kunt u de acceleratorsjabloon genereren via het MSIX Packaging-hulpprogramma.

  1. Zorg ervoor dat de optie 'Een opdrachtregelbestand genereren met elk pakket' is geselecteerd in de instellingen van het MSIX-verpakkingsprogramma.

  2. Converteer een app met behulp van het MSIX Packaging-hulpprogramma en pas een accelerator toe in het conversieproces.

  3. Standaard wordt het conversiesjabloonbestand opgeslagen op dezelfde locatie als uw MSIX-pakket, tenzij u een andere opslaglocatie opgeeft.

  4. Voer de MsixPackagingTool.exe uit in verhoogde modus.

  5. Voer de volgende cmdlet uit om de acceleratorsjabloon te gebruiken:

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

Meer informatie over het genereren van een sjabloonbestand voor opdrachtregelconversies hier. Meer informatie over de parameters die hier kunnen worden doorgegeven als opdrachtregelargumenten .

Gebruikssituaties voor ConversionStatus

  • Geslaagd - geen oplossing vereist
ConversionStatus: Successful - No Fix Required
  • Geslaagd - Reparatie vereist
ConversionStatus: Successful - Fix Required

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

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

RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: Registry errors in Procmon
  • Komt niet in aanmerking
EligibleForConversion: No - Driver Required

ConversionStatus: Not Eligible

Gebruiksscenario's voor FixDetails

  • FixType: Capaciteit
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: Afhankelijkheid
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: Aangepast
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: Diensten
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: IngangsPunt
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: GeïnstalleerdeLocatieVirtualisatie
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

Geaccepteerde waarden voor EligibleForConversion

  • Ja
  • Nee.
  • Nee - Geen stuurprogramma vereist

Geaccepteerde waarden voor ConversionStatus

  • Geslaagd - geen oplossing vereist

  • Geslaagd - Reparatie vereist

  • Geconverteerd met problemen

  • Mislukt

  • Komt niet in aanmerking

Relatie tussen EligibleForConversion en ConversionStatus

In aanmerking komend voor conversie Conversie Status
Ja Geslaagd - Geen oplossing vereist, Geslaagd - Oplossing vereist, Geconverteerd met problemen
Nee. Mislukt, komt niet in aanmerking
Nee - Geen stuurprogramma vereist Komt niet in aanmerking

Geaccepteerde waarden voor FixType

Geaccepteerde waarden Definities
Vermogen* Benodigde mogelijkheden (bijvoorbeeld allowElevation, uiAccess enzovoort) om de MSIX-toepassing te laten werken. Om te worden toegevoegd in AppManifest of via de Capabilities-pagina in de MSIX-packagingtool tijdens de conversie. Klik hier voor meer informatie.
Afhankelijkheid Afhankelijkheden die nodig zijn (bijvoorbeeld: C++ 2008 Redistributable x86) om de MSIX-toepassing te laten werken. Extern downloaden in de OS-omgeving.
InstallationPath Wordt gebruikt om de locatie van het exe/msi-installatieprogramma in te stellen voor het geval er gegevens worden geïnstalleerd buiten de standaardmap (Program Files). Het pad moet tijdens de conversie worden toegevoegd op de pagina "Pakketgegevens" in het MSIX-verpakkingshulpmiddel. Klik hier voor meer informatie.
Op maat gemaakt Oplossingen die handmatig moeten worden uitgevoerd door de gebruiker om de MSIX-toepassing te herstellen. Bijvoorbeeld: De volgorde van de toepassings-id in het app-manifest wijzigen.
PSF* Het toevoegen van oplossingen binnen het pakkettenondersteuningsraamwerk (bijvoorbeeld FileRedirectionFixup) om de MSIX-applicatie te corrigeren. De gebruiker moet een config.json maken en deze en andere benodigde dll's in het pakket toevoegen tijdens de conversie. Klik hier voor meer informatie. De auteur van de accelerator moet het yaml-equivalent van config.json in het veld PSFConfig opgeven.
Diensten Services die moeten worden opgenomen/uitgesloten om de MSIX-toepassing te laten werken. Tijdens de conversie moet u in het servicerapport van het MSIX Packaging-hulpprogramma specificeren. Klik hier voor meer informatie.
Ingangspunt Problemen oplossen met betrekking tot EntryPoint (Bijvoorbeeld: ShortcutNotCaptured). Klik hier voor meer informatie.
GeïnstalleerdeLocatieVirtualisatie Het is een extensie die alle schrijfbewerkingen vanuit de installatiemap van de app omleidt naar een locatie in de app-gegevens. Zie hier en hier voor meer informatie. De standaardwaarden voor ModifiedItems, DeletedItems en AddedItems zijn respectievelijk behouden, opnieuw instellen en behouden.
LoaderSearchPathOverride* Het is een extensie waarmee een app-ontwikkelaar een pad binnen het app-pakket kan opgeven, ten opzichte van het basispad van het app-pakket, dat moet worden opgenomen in het zoekpad van de lader voor de processen van de app. De auteur van de versneller moet een lijst met paden opgeven die moeten worden inbegrepen. Klik hier voor meer informatie.

Opmerking

Geaccepteerde FixTypes die zijn gemarkeerd met een sterretje (*) hierboven, worden automatisch ondersteund door het MSIX Packaging Tool.