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.
Stellen Sie sicher, dass die Option "Befehlszeilendatei mit jedem Paket generieren" in MSIX Packing Tool Einstellungen ausgewählt ist.
Konvertieren Sie eine App mit dem MSIX Packaging-Tool, und wenden Sie im Konvertierungsprozess eine Zugriffstaste an.
Standardmäßig wird die Konvertierungsvorlagendatei an demselben Speicherort wie Ihr MSIX-Paket gespeichert, es sei denn, Sie geben einen anderen Speicherort an.
Führen Sie das MsixPackagingTool.exe im Modus mit erhöhten Rechten aus.
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.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für