Freigeben über


Zugriffstasten

Eine Zugriffstaste bietet eine effiziente Möglichkeit zum Konvertieren von Legacyanwendungen (Apps) in das MSIX-Format. Es besteht aus wichtigen Informationen zu: dem Paket (der App); betriebssystem (OS), auf dem die Konvertierung erfolgt; und die schritte, die erforderlich sind, um das Paket für die ordnungsgemäße Funktionsweise des konvertierten MSIX zu beheben.

Voraussetzungen

Um Schnellinfos in einem Early Access Preview-Build auszuprobieren, nehmen Sie am INSIDER-Programm des MSIX Packaging Tool teil.

Erstellen einer Zugriffstaste

Um die Zugriffstastenstruktur anzuzeigen und sie zum Erstellen Ihrer eigenen Zugriffstaste zu verwenden, finden Sie die Beispielbeschleuniger im GitHub-Repository MSIX-Labs .

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, der Verwendung von Treibern usw. verboten. Daher wird diese Kennzeichnung 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 einer der FixType 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 besteht darin, zu kennzeichnen, dass jeder Betriebssystembuild größer als dieser angegebene Betriebssystembuild ist.
  • 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 der verwendeten Zugriffstaste. Derzeit ist die neueste Version 1.0.0.

Befehlszeilenoption für Zugriffstasten

Für die automatische Konvertierung können Sie die Zugriffstastenvorlage über das MSIX Packaging-Tool generieren.

  1. Stellen Sie sicher, dass die Option "Befehlszeilendatei mit jedem Paket generieren" in MSIX Packing Tool Einstellungen ausgewählt ist.

  2. Konvertieren Sie eine App mit dem MSIX Packaging-Tool, und wenden Sie im Konvertierungsprozess eine Zugriffstaste 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 das MsixPackagingTool.exe im Modus mit erhöhten Rechten aus.

  5. Führen Sie das folgende Cmdlet aus, um die Zugriffstastenvorlage 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
  • Fehler
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: Funktion
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
  • 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

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

  • Fehler

  • Nicht berechtigt

Beziehung zwischen EligibleForConversion und ConversionStatus

EligibleForConversion ConversionStatus
Ja Erfolgreich - Kein Fix erforderlich, erfolgreich - Beheben 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.
InstallationPath Wird verwendet, um den Speicherort des exe/msi-Installationsprogramms festzulegen, falls daten außerhalb des Standardordners (Programme) 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.
Benutzerdefiniert 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 beheben. Der Benutzer muss eine config.json erstellen und sie und andere erforderliche DLL-Dateien im Paket während der Konvertierung hinzufügen. Ausführlichere Informationen finden Sie hier. Der Autor der Zugriffstaste 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 Dienstbericht des MSIX Packaging-Tools während der Konvertierung angegeben werden. Ausführlichere Informationen finden Sie hier.
EntryPoint So beheben Sie Probleme im Zusammenhang mit EntryPoint (z. B. ShortcutNotCaptured). Ausführlichere Informationen finden Sie hier.
InstalledLocationVirtualization* 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 der Zugriffstaste muss eine Liste der Einzuschleunigungspfade bereitstellen. Ausführlichere Informationen finden Sie hier.

Hinweis

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