Unser Packaging-Grossmeister zeigt im Hands-on Beispiel die neueste PSFTooling-Version 4.10 und wie man damit ein MSIX-Paket schnürt.
Hallo liebe Paketierungsfreunde, ich melde mich nach einer Winterloch-Pause zurück aus dem MSIX-Lab und habe mal wieder etwas Spannendes im Gepäck für euch – das Update eines tollen MSIX-Tools: PSFTooling (Package Support Frame) in Version 4.10.
Vor zwei Jahren habe ich an dieser Stelle das erste Mal über PSFTooling geschrieben und vor etwas über einem Jahr ein MSIX-Lab-Hands-on mit PSFTooling präsentiert, welches hier zu finden ist.
Updates für PSFTooling
PSFTooling, ein kostenloses Hilfsmittel für die MSIX-Paketierung von der Packaging-Grösse Tim Mangan (hier gehts zu seiner empfehlenswerten Page), hat im letzten Jahr einige Updates erhalten. Zum jetzigen Zeitpunkt (Mai 2021) ist Version 4.10 aktuell (hier gehts zum Download), mit der ich auch das vorliegende Hands-on durchgeführt habe. Besonders ins Licht rücken möchte ich dabei den verbesserten Wizard. Dies mache ich mit Hilfe einer kleinen Testapplikation, die ich zu diesem Zweck geschrieben habe und die es zum selbst ausprobieren hier auf Github herunterzuladen gibt.
Die Testapplikation: clearBytePSFTextExample
Erstmal versucht unsere Testapplikation namens clearBytePSFTextExample in eine Textdatei zu schreiben, die auf C:\Program Files (x86) liegt.
Mit einem Klick auf „Read Text“ erscheint ein kurzer Text im Eingabefeld, mit einem Klick auf „Write Text“ sollte wie beschrieben das Textfile „PSFExample“ mit zusätzlichem Text ergänzt werden.
Unsere Testapplikation hat aber einen kleinen Fehler, der so gewollt ist. Eine Fehlermeldung verneint uns den Zugriff auf den Dateipfad:
Genau dieses Verhalten wollen wir mithilfe von PSFTooling und der Paketierung ins MSIX-Format nun verhindern.
Paket erstellen mit PSFTooling 4.10
In Version 4.10 ist PSFTooling in der Lage, Veränderungen am Computer zu erkennen. Dafür führen wir einen Pre-scan aus, indem wir auf „Wizards > Run Pre-scan“ klicken.
…und PSFTooling gibt uns eine Bestätigung zurück:
Jetzt muss ein neuer Snapshot von der VM erstellt werden. Erst nach diesem Schritt kann man mit der Konvertierung des vom mir erstellten clearBytePSFTextExample.msi beginnen. Auch das MSI liegt auf Github zum Download.
PSFTooling im MSIX-Paketierungsprozess
Wir starten nun das MSIX Packaging Tool und folgen den Standardschritten wie in den folgenden Screenshots aufgezeigt (wer eine Auffrischung braucht: Hier geht’s zum entsprechenden Blogbeitrag).
An diesem Punkt lassen wir das MSIX Packaging Tool kurz in Ruhe so stehen, starten PSFTooling und geben den korrekten Pfad zur Applikation an:
Im Anschluss den Punkt „Inject Fixup FileRedirection“ wählen und den grossen Button „Search for New App Components“ klicken.
Dann klicken wir auf „Apply to Proposed Change List“ und bekommen die Liste mit den hinzugefügten Änderungen, darunter die notwendigen PsfRuntiime.dll und FileredirectionFixup32:
Wir bestätigen mit dem Klick auf „Execute these changes“. Wenn alles richtig gelaufen ist, sieht unser Fenster nun so aus:
Wir schliessen PSFTooling und wechseln zurück zum MSIX Packaging Tool, wo es mit einem Klick auf „Next“ weitergeht.
Der Rest des Pakets lässt sich wieder mit den Standardeinstellungen fertig durchklicken und abschliessen. Wir speichern das erstellte MSIX Package auf unserem Desktop.
Zum Schluss das MSIX Paket kopieren und die VM zurücksetzen.
Paket testen
Zu guter Letzt testen wir das Paket noch und doppelklicken es zum Installieren.
Und, funktioniert alles?
Yes!
Bei Erfolg wird beim Klick auf „Write Text“ nun das Fenster mit dem Bestätigungstext angezeigt, auch sehen wir unter den Buttons den Dateipfad des Text-Files. Unsere Testapplikation kann die Textdatei damit nun sowohl lesen wie auch darin schreiben. Success!
Mit den neuen Updates ist PSFTooling vor allem eines: viel einfacher geworden. Der heutige Test hat auf alle Fälle wunderbar geklappt, ich hoffe, dass das Beispiel für euch da draussen nützlich ist und wünsche viel Erfolg beim Ausprobieren.
Bleibt gesund und wie immer: Fröhliches Paketieren!
-Peter