Freigeben über


Beschleuniger

Ein Beschleuniger bietet eine effiziente Möglichkeit, Altanwendungen (Apps) in das MSIX-Format zu konvertieren. Es besteht aus wichtigen Informationen zu: dem Paket (der App); dem Betriebssystem (OS), auf dem die Konvertierung erfolgt; und den Schritten, die erforderlich sind, um das Paket für die einwandfreie Funktion des konvertierten MSIX bereitzustellen.

Voraussetzungen

Um Beschleuniger in einer Early-Access-Vorschauversion auszuprobieren, nehmen Sie am Insider-Programm des MSIX Packaging Tools teil.

Einen Beschleuniger erstellen

Um die Beschleunigerstruktur anzuzeigen und sie zu verwenden, um Ihren eigenen Beschleuniger zu erstellen, sehen Sie sich die Beispielbeschleuniger im GitHub-Repository MSIX-Labs an.

Definitionen

  • PackageName: Package ist eine Anwendung oder ein Programm (Win32, WPF oder Windows Forms-App) mit einem älteren Installationsprogramm (exe, msi usw.), das in das MSIX-Format konvertiert wird.
  • PackageVersion: Paketversionen sind einer bestimmten Version zugeordnet. In einigen Fällen wird eine perfekt gebildete semantische Versionsverwaltungsnummer angezeigt. und in anderen Fällen wird möglicherweise etwas anderes angezeigt. Dies kann datumsgesteuert sein, oder sie haben andere Zeichen mit einer paketspezifischen Bedeutung.
  • PublisherName: Name des ursprünglichen Herausgebers des Pakets.
  • EligibleForConversion: Einige Apps sind aus Sicherheitsgründen, verwendung von Treibern usw. nicht mehr zu konvertieren. Daher wird dieses Kennzeichen verwendet, um die Berechtigung für die Konvertierung zu bestimmen. Akzeptierte Werte finden Sie hier.
  • ConversionStatus: Ermitteln des Status der Anwendungskonvertierung. Akzeptierte Werte finden Sie hier.
  • RemediationApproach:
    • SequenceNumber: Bestimmt die Sequenznummer eines Fixschritts. Beheben Sie die Schritte zum erfolgreichen Konvertieren der App, die sequenziell bereitgestellt werden müssen.
    • Problem:
      • Beschreibung: Textbeschreibung des tatsächlichen Problems beim Konvertieren. Beispielsweise Registrierungsfehler oder FileCreate-Fehler in Procmon.
      • Referenz: (Optionales Feld) link zum Dokument mit detaillierten Informationen zum Problem.
    • Behebung:
      • FixType: Die spezifische Art von Schritt. Beispiel: Wenn FixType "Capability" ist, muss zu diesem Zeitpunkt eine bestimmte Funktion hinzugefügt werden. Akzeptierte Werte finden Sie hier.
      • Referenz: Referenzlink zum Dokument mit detaillierten Informationen zum Fix und wie sie ausgeführt werden muss. Dieses Feld ist optional.
      • FixDetails: So bestimmen Sie bestimmte Art von Fix, die unter einem bestimmten FixType erforderlich ist. Beispiel: Wenn Fixtype "Dependency" ist, verfügt FixDetails über ein Arraytypfeld namens "Abhängigkeiten", um alle Abhängigkeiten auflisten zu können, die für die Anwendung hinzugefügt werden müssen. Anwendungsfälle finden Sie hier.
  • MinimumPSFVersion: (Nur erforderlich, wenn mindestens einer der Fix-Typen PSF oder PackageSupportFramework verwendet). Da PSF-Versionen abwärtskompatibel sind, funktioniert jede Version, die größer als diese angegebene Version ist.
  • AdditionalComments: Um zusätzliche Informationen zur App-Konvertierung auflisten zu können, die ausschließlich für das menschliche Lesen vorgesehen sind. Dieses Feld ist optional.
  • Edition: Edition des Betriebssystems. Beispiel : Windows 10 Enterprise.
  • MinimumOSVersion: Version des Betriebssystems. Beispiel - 21H1. Dieses Feld besteht darin, zu kennzeichnen, dass jede Version, die größer als diese angegebene Betriebssystemversion ist, funktioniert.
  • MinimumOSBuild: Buildversion des Betriebssystems. Beispiel - "19043.1165". Dieses Feld zeigt an, dass jeder Betriebssystem-Build, der größer als der angegebene ist, funktionieren wird.
  • Architektur: Architektur des Pakets (Anwendung). (32/64 Bit)
  • MSIXConversionToolVersion: Version des MSIX Packaging Tools, das für die Konvertierung verwendet wird. Beispiel - 1.2021.709.0;
  • AcceleratorVersion: Version des verwendeten Beschleunigers. Derzeit ist die neueste Version 1.0.0.

Befehlszeilenoption für Beschleuniger

Für die automatische Konvertierung können Sie die Beschleunigervorlage mithilfe des MSIX Packaging-Tools generieren.

  1. Stellen Sie sicher, dass die Option "Befehlszeilendatei mit jedem Paket generieren" in den MSIX-Verpackungstooleinstellungen ausgewählt ist.

  2. Konvertieren Sie eine App mit dem MSIX Packaging-Tool und wenden Sie im Konvertierungsprozess einen Beschleuniger an.

  3. Standardmäßig wird die Konvertierungsvorlagendatei an demselben Speicherort wie Ihr MSIX-Paket gespeichert, es sei denn, Sie geben einen anderen Speicherort an.

  4. Führen Sie die MsixPackagingTool.exe im Modus mit erhöhten Rechten aus.

  5. Führen Sie das folgende Cmdlet aus, um die Beschleunigervorlage zu verwenden:

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

Weitere Informationen zum Generieren einer Vorlagendatei für Befehlszeilenkonvertierungen hier. Erfahren Sie mehr über die Parameter, die hier als Befehlszeilenargumente übergeben werden können .

Anwendungsfälle für ConversionStatus

  • Erfolgreich – Kein Fix erforderlich
ConversionStatus: Successful - No Fix Required
  • Erfolgreich – Fix erforderlich
ConversionStatus: Successful - Fix Required

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

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

RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: Registry errors in Procmon
  • Nicht berechtigt
EligibleForConversion: No - Driver Required

ConversionStatus: Not Eligible

Anwendungsfälle für FixDetails

  • FixType: Fähigkeit
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: Abhängigkeit
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: Benutzerdefiniert
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: Dienste
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
  • Fix_Typ: 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

Akzeptierte Werte für "EligibleForConversion"

  • Ja
  • Nein
  • Nein – Treiber erforderlich

Akzeptierte Werte für ConversionStatus

  • Erfolgreich – Kein Fix erforderlich

  • Erfolgreich – Fix erforderlich

  • Mit Problemen konvertiert

  • gescheitert

  • Nicht berechtigt

Beziehung zwischen EligibleForConversion und ConversionStatus

Umwandlungsberechtigt Conversion-Status
Ja Erfolgreich - Keine Lösung erforderlich, Erfolgreich - Lösung erforderlich, Konvertiert mit Problemen
Nein Fehlgeschlagen, nicht berechtigt
Nein – Treiber erforderlich Nicht berechtigt

Akzeptierte Werte für FixType

Zulässige Werte Definitionen
Fähigkeit* Erforderliche Funktionen (z. B. allowElevation, uiAccess usw.), damit MSIX-Anwendung funktioniert. Soll in AppManifest oder über die Seite "Funktionen" im MSIX-Verpackungstool während der Konvertierung hinzugefügt werden. Ausführlichere Informationen finden Sie hier.
Abhängigkeit Abhängigkeiten erforderlich (z. B. C++ 2008 Redistributable x86), damit MSIX-Anwendung funktioniert. Wird extern in der Betriebssystemumgebung heruntergeladen.
Installationspfad Wird verwendet, um den Speicherort des EXE/MSI-Installationsprogramms anzupassen, falls Daten außerhalb des Standardordners (Program Files) installiert werden. Der Pfad muss während der Konvertierung auf der Seite "Paketinformationen" im MSIX-Verpackungstool hinzugefügt werden. Ausführlichere Informationen finden Sie hier.
Kundenspezifisch Korrekturen, die vom Benutzer manuell ausgeführt werden müssen, um die MSIX-Anwendung zu beheben. Beispiel: Ändern der Anwendungs-ID-Sequenz im App-Manifest.
PSF* Hinzufügen von Paketunterstützungsframework-Fixups (z. B. FileRedirectionFixup), um die MSIX-Anwendung zu reparieren. Der Benutzer muss eine config.json erstellen und während der Konvertierung weitere erforderliche DLL-Dateien im Paket hinzufügen. Ausführlichere Informationen finden Sie hier. Der Autor des Beschleunigers muss das YAML-Äquivalent von config.json im PSFConfig-Feld bereitstellen.
Dienste Dienste, die eingeschlossen/ausgeschlossen werden mussten, damit die MSIX-Anwendung funktioniert. Muss im Servicereport des MSIX Packaging-Tools während der Konvertierung angegeben werden. Ausführlichere Informationen finden Sie hier.
Einstiegspunkt So beheben Sie Probleme im Zusammenhang mit EntryPoint (z. B. ShortcutNotCaptured). Ausführlichere Informationen finden Sie hier.
Installationsstandort-Virtualisierung Es handelt sich um eine Erweiterung, die alle Schreibvorgänge in das Installationsverzeichnis der App an einen Speicherort in den App-Daten umleitet. Weitere Informationen finden Sie hier und hier . Die Standardwerte für ModifiedItems, DeletedItems und AddedItems sind beibehalten, zurücksetzen bzw. beibehalten.
LoaderSearchPathOverride* Es handelt sich um eine Erweiterung, mit der ein App-Entwickler einen Pfad im App-Paket relativ zum Stammpfad des App-Pakets deklarieren kann, um in den Ladeprogramm-Suchpfad für die Prozesse der App aufgenommen zu werden. Der Autor des Beschleunigers muss eine Liste der einzuschließenden Pfade bereitstellen. Ausführlichere Informationen finden Sie hier.

Hinweis

Akzeptierte FixTypes, die mit einem Sternchen (*) gekennzeichnet sind, werden automatisch vom MSIX Packaging Tool unterstützt.