Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Dokument wird gezeigt, wie Sie Anwendungsverknüpfungen mithilfe von Package Support Framework (PSF) erstellen, die Skripts über das MSIX Packaging Tool und die Contoso Expense WPF-Anwendung ausführen.
Die Idee besteht darin, die Anwendungsverknüpfung, die innerhalb des Pakets verfügbar ist, über die PSF-Skripts auf den Desktop des Benutzers zu kopieren.
Es gibt ein paar Dinge, die Sie beachten sollten:
- Erstellen Sie nur dann eine Verknüpfung, wenn sie unbedingt erforderlich ist. Ziel ist es, den Desktop des Benutzers nicht zu überladen.
- Die MSIX-Anwendung muss vor dem Erstellen der Verknüpfung installiert werden, damit wir den MSIX-Anwendungspfad während der Verknüpfungserstellung angeben können.
- Gleichzeitig kann sich der MSIX-Anwendungspfad ändern, sobald er die im Installationsordner angegebene Versionsnummer aufweist. Beispiel für den Installationspfad " Contoso Expenses ":
C:\Programme\WindowsApps\ContosoExpenses_1.0.0.0_x86__3z09h3y28h0qg
Um zu vermeiden, dass die Anwendungsverknüpfung bei jeder Aktualisierung der Anwendung geändert werden muss, erstellen Sie die Verknüpfung, indem Sie auf AppExecutionAlias verweisen. Die AppExecutionAlias ermöglicht es, die Anwendung mit dem in der Aliassitzung des Anwendungsmanifests definierten Wert zu starten, sodass der vollständige Anwendungspfad nicht angegeben werden muss. Definieren Sie daher vor dem Erstellen der Verknüpfung den Alias im Anwendungsmanifest. Andernfalls erkennt Windows Explorer den Alias nicht, und es ermöglicht uns nicht, die Verknüpfung zu erstellen.
Erstellen des Anwendungsalias
Klicken Sie auf das Menüelement "Paketinformationen ", und klicken Sie auf " Datei öffnen", die unten auf der Benutzeroberfläche verfügbar ist, um das Anwendungsmanifest zu bearbeiten:
Schließen Sie die folgenden Namespaces ein, die zum Erstellen des Alias verwendet werden, wie folgt:
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3" xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
Fügen Sie den Wert "uap3 " und "Desktop " in das Element "IgnorableNamespaces " ein:
IgnorableNamespaces="uap uap3 desktop rescap build"
Fügen Sie den Ausführungsalias der Anwendung nach dem Element </uap:VisualElements> hinzu.
<Extensions>
<uap3:Extension Category="windows.appExecutionAlias"
Executable="ContosoExpenses\ContosoExpenses.exe"
EntryPoint="Windows.FullTrustApplication">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="contosoexpenses.exe" />
</uap3:AppExecutionAlias>
</uap3:Extension>
</Extensions>
Folgt dem Manifest mit den Änderungen:
Speichern und schließen Sie die Manifestdatei.
Wechseln Sie zurück zum MSIX Packaging Tool, und generieren Sie ein neues Paket. Nachdem das Paket erstellt wurde, installieren Sie das Paket , und starten Sie die Anwendung über den Alias, z. B. durch Drücken von WIN+R und Eingeben von contosoexpenses:
Nachdem der Alias erstellt wurde, können Sie mit den nächsten Schritten fortfahren.
Erstellen Sie die Anwendungsverknüpfung
Erstellen Sie eine neue Anwendungsverknüpfung in einem Ordner Ihrer Wahl, indem Sie den Alias contosoexpenses.exe wie folgt verwenden:
Benenne den Schnellzugriff von Contoso Expenses:
Standardmäßig ist die Verknüpfung ein generisches Symbol:
Das Ändern der Verknüpfung ist einfach, aber die Herausforderung besteht darin, die Verwendung des vollständigen Anwendungspfads mit der Versionsnummer zu vermeiden, da dieser sich in einem zukünftigen Update ändern kann. Eine Möglichkeit, dies zu lösen, besteht darin, das Symbol aus dem Paket in die %appdata% zu kopieren, die von der MSIX-Anwendung verwendet werden, d. h. die %localappdata%\Packages\ContosoExpenses_3z09h3y28h0qg\LocalCache\Roaming_ Ordner, der keine Versionsnummer hat.
Um die Anwendungsverknüpfung zu ändern, ist es vorübergehend erforderlich, das Symbol manuell in diesen Ordner zu kopieren. Dies wird später mithilfe von PSF-Skripts automatisiert.
Jetzt ist es möglich, das Verknüpfungssymbol in den %localappdata% Pfad zu ändern:
Während Sie sich noch in den Eigenschaften der Verknüpfung befinden, ändern Sie die Werte der Eigenschaften Ziel und Starten in nach %localappdata%\Microsoft\WindowsApps\contosoexpenses.exe und %localappdata%\Microsoft\WindowsApps jeweils.
Da die Verknüpfung nun funktioniert, besteht der nächste Schritt darin, sie dem Paket hinzuzufügen und den Erstellungsprozess zu automatisieren.
Abrufen der PSF-Dateien
Laden Sie die PSFBinaries.zip aus dem PSF Github-Repository herunter.
Extrahieren Sie die erforderlichen 32-Bit- oder 64-Bit-Dateien in das Stammverzeichnis Ihres Paketverzeichnisses, je nachdem, ob Ihre Anwendung 32 oder 64-Bit ist. Verwenden Sie die folgende Tabelle als Anleitung.
| Die ausführbare Anwendung ist 64-Bit. | Ausführbare Anwendung ist x86 |
|---|---|
| PSFLauncher64.exe | PSFLauncher32.exe |
| PSFRuntime64.dll | PSFRuntime32.dll |
Einschließen der PSF-Dateien in das Paket
Bearbeiten Sie die Contoso Expense über das MSIX Packaging Tool :
Klicken Sie auf das Menüelement "Paketdateien ", klicken Sie mit der rechten Schaltfläche im Ordner " Paket ", und wählen Sie "Datei hinzufügen"...:
Da der ContosoExpense-Build hier 32-Bit ist, wurden die erforderlichen PSF-32-Bit-Dateien hinzugefügt. Ihr Paketinhalt sollte nun etwa wie folgt aussehen:
Aktualisieren des Paketmanifests für PSF
Klicken Sie auf das Menüelement "Paketinformationen ", und klicken Sie auf " Datei öffnen", die unten auf der Benutzeroberfläche verfügbar ist, um das Anwendungsmanifest zu bearbeiten:
In diesem Schritt ist es erforderlich, den Einstiegspunkt der Anwendung zu ändern (ContosoExpenses\ContosoExpenses.exe) by the PSFLauncher32.exe.
<Application Id="App" Executable="PSFLauncher32.exe" EntryPoint="Windows.FullTrustApplication">
Speichern und schließen Sie die Manifestdatei.
Erstellen der config.json-Datei
Wechseln Sie zurück zum MSIX Packaging Tool, klicken Sie auf "Paketdateien", wählen Sie den Ordner "Paket" aus, und fügen Sie eine neue config.json Datei mit dem folgenden Inhalt hinzu.
{
"applications": [
{
"id": "App",
"executable": "ContosoExpenses\\ContosoExpenses.exe",
"workingDirectory": "ContosoExpenses\\",
"startScript":
{
"scriptPath": "createshortcut.ps1",
"runInVirtualEnvironment": false,
"waitForScriptToFinish": true,
"showWindow": false,
"runOnce": true
}
}
]
}
👀 Beachten Sie, dass die Anwendungs-ID im Manifest identisch ist:
Die config.json Datei muss im Paketstamm wie folgt erstellt werden:
Die config.json Datei wird verwendet, um anzugeben, dass das createshortcut.ps1 Skript nur einmal in der ersten Anwendungsinitialisierung ausgeführt werden soll. Wenn das Arbeitsverzeichnis auf "ContosoExpenses" festgelegt ist, müssen das createshortcut.ps1 Skript (das später erstellt wird) und das StartingScriptWrapper.ps1 Skript (aus PSF-Dateien) dem Ordner "ContosoExpenses " hinzugefügt werden.
Erstellen des PowerShell-Skripts
Erstellen Sie das skript createshortcut.ps1 mit folgendem Inhalt:
Copy-Item "Contoso Expenses.lnk" "$env:USERPROFILE\desktop\Contoso Expenses.lnk"
Copy-Item "contoso.ico" $env:APPDATA\contoso.ico
Das Skript createshortcut.ps1 kopiert die zuvor erstellte Verknüpfung "Contoso Expenses.lnk", die im Paket verfügbar ist, auf den Benutzer-Desktop. Die zweite Anweisung kopiert das Contoso.icon in den MSIX APPDATA-Ordner (%localappdata%\Packages\ContosoExpenses_3z09h3y28h0qg\LocalCache\Roaming).
Der nächste Schritt besteht darin, die folgenden Dateien in den Ordner "ContosoExpenses" des Pakets zu kopieren:
- Contoso Expenses.lnk
- Contoso.ico
- StartingScriptWrapper.ps1
- createshortcut.ps1
Schließlich besteht der letzte Schritt darin, die neue Version des Anwendungspakets zu erstellen und zu installieren . Während der ersten Anwendungsinitialisierung wird das createshortcut.ps1 Skript ausgeführt und erstellt die Contoso Expense-Verknüpfung im Benutzer-Desktop.