Step-by-Step: Erstellen eines MSIX Packages mit der PACE Suite

Erstellt am 8. September 2021

Software Packaging Hands-on: Wie man mit PACE Suite ein MSIX-Paket erstellt.

Seit mehreren Jahren erstellen wir bei clearByte mit der PACE Suite von Infopulse massgeschneiderte Softwarepakete in bewährter Swiss-made-Qualität für unsere Kunden. In diesem Blogbeitrag zeigt unser Senior Packaging Engineer und langjährige Packaging-Veteran Peter Fankhauser auf, wie mit der PACE Suite ein Softwarepaket im neuen Microsoft-Standardformat MSIX gebaut wird (hier geht’s zur ultimativen Übersicht zwischen MSI und MSIX).

Hintergrund

In diesem Blogbeitrag möchte ich die PACE Suite vorstellen und zeigen, wie das Erstellen eines MSIX-Packages mit der PACE Suite von Infopulse abläuft.

Wir arbeiten bei clearByte seit Jahren mit PACE Suite für die Paketierung von Software für die Massenverteilung. Auch sind wir exklusive PACE-Vertriebspartner in der Schweiz und damit der direkte hiesige Kontakt zu PACE respektive dem Hersteller Infopulse.

Diese Zusammenarbeit war zu jeder Zeit ausserordentlich gut und neben der Qualität der PACE Suite mitunter einer der Hauptgründe für unsere andauernde Kooperation. Sei es, um Feature-Enhancements anzumelden oder Bug-Fixes zu bearbeiten – die Reaktionen vonseiten Infopulse auf unsere Inputs waren stets zuverlässig, schnell und sehr kompetent. Damit ist PACE zu einem mächtigen Packaging-Werkzeug angewachsen und aus unserem Arbeitsalltag schlicht nicht mehr wegzudenken.

Warum wir Pace einsetzen

 (Welcome-Screen nach dem Starten von PACE)

Das User Interface (UI) und die Architektur der PACE Suite sind nach modernen Standards gestaltet. Die ganze Suite und deren integralen Bestandteile sind sehr umfangreich und trotzdem nicht träge. Und die Geschwindigkeit – auch beim Monitoring bzw. Snapshotten von Installationsvorgängen – ist hoch und ermöglicht ein flinkes Handling beim Paketieren

Ein weiterer Pluspunkt: Die zahlreichen Applikationen im Umfang der PACE Suite machen das Erstellen von Installationspaketen gleich nochmal viel effizienter. Innerhalb des MSI Editors gibt viele Add-ons und Wizards, die die Bearbeitung der MSI Tables erleichtern. Beispielsweise das Setzen von Permissions auf Verzeichnisse/Registry oder die Feature/Component-Übersicht, die es erlaubt, die Ressourcen pro Feature auf einen Blick zu erfassen.

Der Custom Action Wizard ist ebenfalls sehr nützlich, auch mögen wir die Unterstützung im Rahmen von Duplicate Files bei Benutzerressourcen (Dateien im Benutzerprofil), die immer mal wieder Aufwände generieren. Der Docu Generator, welchen ich auch im nachfolgenden Hands-on nutzen werde, ist ebenfalls ein oft genutztes Instrument für das Erstellen von Installationsdokumentationen.

Das Sahnehäubchen: Das Preis-\Leistungsverhältnis von PACE ist unserer Meinung nach unschlagbar im Packaging-Markt.

Erstellen eines MSIX Packages mit PACE Suite

In der folgenden Anleitung zeige ich, wie man aus der Windows-Applikation Paint.Net 4.3.26 ein MSIX Package erstellt.

Die Screenshots für die Anleitung habe ich mit dem Docu Generator aus der PACE Suite erstellt, mit dem einfach und schnell Paketierungs-Dokumentationen aufgezeichnet werden können.

Step-by-Step-Guide: MSIX-Paket erstellen

PACE Suite Launcher aus dem Start Menu oder dem Desktop Shortcut starten

 

 

Local Setup Capture auswählen, um das Repackaging auf der lokalen Workstation durchzuführen, auf welcher PACE Suite installiert ist.

Alternativ Remote Setup Capture wählen, um das Repackaging auf Remote-VMs durchzuführen.

Um den „System Noise“ zu vermeiden und bessere Aufzeichnungsergebnisse zu erhalten, müssen die in der Liste angezeigten unwichtigen Dienste und Prozesse gestoppt werden. 

Auswählen von Aufzeichnungsmethode (Capturing method), Projektnamen und dessen Speicherort wählen. Exclusion Filters aktivieren denn diese erkennen und filtern unnötige Ressourcen.

  • Für schnelleres Capturing die Monitoring-Methode verwenden
  • Für grosse Installationen und Pakete, bei denen Neustarts nötig sind, die Snapshot-Methode verwenden Für unser Paint-Paket nutzen wir die Monitoring-Variante.

Processing mode auswählen:

  • Im automatisierten Modus führt der Wizard die Installationsdatei, gegebenenfalls mit Argumenten, zwischen den Pre-Install- und den Post-Installscans aus. Der Post-Install-Scan beginnt, sobald der Prozess der laufenden Installation beendet ist.

  • Im Manual-Modus pausiert der Wizard nach dem Pre-Install-Scan um weitere beliebige Applikationen zu installieren, die benötigten App-Settings zu machen oder Systemänderungen vorzunehmen, die ins Paket aufgenommen werden sollen. Wir nutzen hier den Manual-Modus

Warten, bis der Pre-Install-Scan durchgeführt ist.

Installationsprogramm der Anwendung ausführen, die in MSIX konvertieren werden soll (in unserem Fall paint.net), Installation abschliessen.

Installierte Applikation ausführen.

In PACE die Checkbox „I have completed the installation“ anwählen und „Continue“ klicken.

Das Capturing ist abgeschlossen. Checkbox „Copy the captured files to the project folder“ anwählen, dann „Finish“ klicken.

Falls Dateien, die während dem Capturing erkannt wurden, fehlen oder gesperrt sind, werden sie identifiziert und im Wizard angezeigt. Wenn die aufgelisteten Dateien „System Noise“ sind und nicht zur Anwendung gehören, auf „Finish“ klicken, um fortzufahren. So werden die Sourcen der fehlenden oder gesperrten Dateien nicht in den Ordner kopiert, ihre Aufzeichnungen bleiben jedoch in der Projektdatei. 

Nach dem Capturing wird das Projekt automatisch zur Bearbeitung geöffnet. Wenn die Projektdatei zum ersten Mal gestartet wird, sind die MSI-Einstellungen zu sehen. Der Wechsel zu MSIX folgt gleich.

Im Tab Package > MSIX können die Paketeigenschaften und -einstellungen angezeigt und verwaltet werden.

Nun zum Tab „Files“ und danach zu „Registry“ wechseln, um die erfassten Ressourcen zu überprüfen und die nicht benötigten auszuschliessen oder zu löschen.

Die ausgeschlossenen Ressourcen bleiben im Projekt als „Excluded“ (gelb markiert und durchgestrichen) und werden nicht in das Paket integriert. Sie können jederzeit wieder einbezogen und in ein neues Paket integriert werden. In unserem Fall gibt es fast nichts aus Files und Registry zu löschen.

Im Tab „Shortcuts/Apps“ > „MSIX“ können Anwendungen (bspw. Shortcuts) des MSIX-Pakets und ihre Runtime Fixes angezeigt und verwaltet werden (Package Support Framework). HINWEIS: Das Package Support Framework (PSF) ist ein Open-Source-Kit, mit dem Runtime Fixes auf neu paketierte Win32-Anwendungen angewendet werden können, die in einem MSIX-Container nicht ausgeführt werden können.

MSIX-Pakete müssen für das Sideloading signiert werden. Die Signatur gibt dem Benutzer die Gewissheit, dass die Daten der Anwendung nach dem Signieren nicht verändert wurden und bestätigt gleichzeitig die Identität des Benutzers oder des Unternehmens, das die Anwendung signiert hat.

Die gewünschte Signing Option wählen, Zertifikatsdetails angeben und auf „Save“ klicken.

 

Kontrollieren, ob das Paketformat auf „MSIX“ (Standardoption) eingestellt ist und auf „Build UWP“ klicken, um das MSIX-Paket aus der Projektdatei zu generieren.

Warten, bis die Erstellung des Pakets abgeschlossen ist.

Auf „Go To…“ neben „Project Folder“ klicken, um den aktuellen Projektordner im Windows Explorer zu öffnen. Im Anschluss PACE schliessen.

Im Output folder unter „APPX“ befindet sich das erstellte MSIX-Paket. 

Step-by-Step-Guide: MSIX-Paket testen

  

Es wird empfohlen, zum Testen des erstellten MSIX-Pakets eine “saubere Maschine” zu verwenden. Falls das gleiche System genutzt wird, zuerst das ursprüngliche Installationsprogramm für die Applikation deinstallieren, welches für das Capturing verwendet wurde (in unserem Fall Paint.net).

 

Sicherstellen, dass das für die Paketsignierung verwendete Zertifikat auf diesem System als vertrauenswürdig eingestuft ist. Wenn ein selbstsigniertes Zertifikat verwendet wird, dieses manuell installieren.

 

Im Windows Explorer „Install PFX“ aus dem Kontextmenü (Rechtsklick) der Zertifikatsdatei wählen. 

 

 

„Local Machine“ auswählen.

 

„Next“ klicken.

 

Passwort für Zertifikat eingeben, „Next“ klicken.

 

„Place all certificates in the following store“ wählen und „Browse…“ klicken.

  

Als Certificate Store „Trusted Root Certification Authorities“ wählen (alternativ „Trusted People“ oder „Trusted Publishers“). Es gilt zu beachten, dass das Hinzufügen eines Zertifikats zu den Zertifikatsspeichern des lokalen Computers den Certificate Trust aller Benutzer auf dem Computer beeinflusst. Es wird empfohlen, diese Zertifikate zu entfernen, wenn sie nicht mehr benötigt werden, um zu verhindern, dass sie zur Beeinträchtigung des System Trusts verwendet werden.

 

 „Next“ klicken.

  

„Finish“ klicken.

 

Wenn der Import des Zertifikates erfolgreich war, die Meldung schliessen und fortfahren.

Wenn das verwendete Zertifikat installiert ist, das erstellte Paint.Net MSIX-Paket aus dem Output Folder heraus starten.

 

„Install“ klicken.

 

Installationsprozess abwarten.

Paint.Net , installiert mit dem erstellten MSIX-Paket, startet wie erwartet.

 

Aus dem Kontextmenu (Rechtsklick) der installierten MSIX-App „More“ -> „App Settings“ wählen, um die Package Details einzusehen.

 

Hier werden zahlreiche Informationen zum MSIX-Paket angezeigt.

Fazit

Das Erstellen eines MSIX Package mit der PACE Suite und dem Docu Generator spart sehr viel Zeit, indem es ein fertiges Package zusammen mit der entsprechenden Dokumentation erstellt. Die Filtereinstellungen, welche die Ausschlusskriterien im Capturing beschreiben, sind gut konfiguriert – damit musste ich nach dem Monitoring nur wenig nachbearbeiten. Sozusagen ein “Capture out of the Box”. Zudem kann man dank der Projektdatei (*.mgp) auch alle anderen Formate aus dem einen Monitoring erstellen. Falls aus verschiedensten Gründen das MSIX nicht zum Einsatz kommt, kann einfach ein MSI-Paket aus der gleichen Aufzeichnung kompiliert werden.

Erstellt am 8. September 2021

Vielleicht auch interessant…

MSIX Editor in PACE Suite 6.0

MSIX Editor in PACE Suite 6.0

Die PACE Suite bietet seit geraumer Weile die Möglichkeit MSIX-Pakete zu erstellen. Mit SuitePACE- Suite 6.0 wurde die Erstellung von MSIX-Paketen jedoch verbessert, indem das Package Support Framework (PSF) integriert wurde

mehr lesen

This Area is Widget-Ready

You can place here any widget you want!

You can also display any layout saved in Divi Library.

Let’s try with contact form: