MSIX-Dateien erstellen
Einleitung
Das MSIX
-Format ist ein Windows-App-Paketformat, das zum Erstellen und Verteilen von Anwendungen in Windows 10/11 verwendet wird. Diese MSIX
-Dateien sind in der Regel nicht über einen einfachen Download zu beziehen, da sie vor der Installation auf Windows-Geräten mit einem Zertifikat versehen und neu “gepackt” werden müssen.
MSIX Packaging Tool
Für die Erstellung von MSIX
-Dateien wird das MSIX Packaging Tool
benötigt, das aus dem Microsoft Store → heruntergeladen und auf einem Windows-Gerät installiert werden kann.
Zertifikatserstellung
Im nächsten Schritt muss ein Zertifikat erstellt werden. Dies kann bequem über die Powershell
durchgeführt werden. Ändern Sie hierzu gegebenenfalls den Namen des Zertifikats und/oder das Passwort.
# Generiere ein neues selbst signiertes Zertifikat mit dem Betreff 'CN=Relution', dem Schlüsselalgorithmus RSA,
# der Schlüssellänge 2048, der Schlüsselnutzung DigitalSignature und dem Typ CodeSigningCert und speichere es
# in dem persönlichen Zertifikatsspeicher des aktuellen Benutzers
$Newcert = New-SelfSignedCertificate -Subject 'CN=Relution' -KeyAlgorithm RSA -KeyLength 2048 -KeyUsage DigitalSignature -Type CodeSigningCert -CertStoreLocation Cert:\CurrentUser\My
# Hole den Thumbprint des neu generierten Zertifikats
$trumbprint = $Newcert.Thumbprint
# Hole das Zertifikatsobjekt aus dem Speicher anhand seines Thumbprints
$cert = (Get-ChildItem -Path cert:\CurrentUser\My\$trumbprint)
# Überprüfe, ob das Zertifikat erfolgreich abgerufen wurde
if($cert -ne $null){
# Konvertiere den Klartext-Passwortstring in einen sicheren String
$Secure_String_Pwd = ConvertTo-SecureString "Passw0rd" -AsPlainText -Force
# Exportiere das Zertifikat in eine PKCS#12-Datei auf dem Desktop des Benutzers
Export-PfxCertificate -Cert $cert -FilePath $env:USERPROFILE\desktop\MSIXZertifikat.pfx -Password $Secure_String_Pwd
# Entferne das Zertifikat aus dem Speicher
Remove-Item cert:\CurrentUser\My\$trumbprint
}
Das erstellte Zertifikat muss auf allen Windows 10/11-Geräten, auf denen MSIX
-Dateien installiert werden sollen, in der Kategorie Vertrauenswürdige Stammzertifizierungsstellen
gespeichert werden. Dies kann entweder mit Relution über die Richtlinienkonfiguration Zertifikate
oder manuell direkt auf den Geräten durchgeführt werden. Der Passwort String
im Beispiel lautet Passw0rd
. Um das Zertifikat manuell hinzuzufügen, starten Sie die Zertifikatsverwaltung Computerzertifikate verwalten
als Administrator:in.
Erstellung von MSIX-Dateien
Starten Sie das MSIX Packaging Tool
und wählen Sie die Option zur Erstellung eines neuen App-Paketes. Deaktivieren Sie die Auswahl Windows Search ist aktiv
im anschließenden Dialog.
Im Beispiel erstellen wir eine MSIX-Datei
für Notepad++. Dazu muss zuerst die Setup-Datei heruntergeladen werden. Im Anschluss wählen Sie im MSIX Packaging Tool
die Datei und das Zertifikat aus. Die Signaturpräferenz
muss auf Mit einem Zertifikat (.pfx) signieren
eingestellt sein.
Füllen Sie die entsprechenden Felder aus.
Nun startet der Installer von Notepad++. Führen Sie ihn ganz normal durch und setzen Sie die Konfigurationen nach Ihren Wünschen.
Klicken Sie im MSIX Packaging Tool
auf Weiter
und Ja, fortfahren
, wenn die Installation von Notepad++ abgeschlossen ist.
Das Tool wird anzeigen, dass keine Dienste installiert und erkannt wurden. Im letzten Dialogfenster kann der Speicherort des Pakets festgelegt werden. Schließen Sie die Erstellung mit Klick auf Erstellen
ab.
Zertifikat auf anderen Windows PCs bereitstellen
Um das MSIX Paket auf anderen Windows PCs installieren zu können, muss das Zertifikat auf diesen bereitgestellt werden. Hierzu muss das Zertifikat mit openSSL von einem PKCS12 in ein PKCS1 Zertifikat umgewandelt werden. Dazu muss openSSL auf dem System installiert sein. Dies funktioniert mit diesem Befehl:
openssl pkcs12 -in MSIXZertifikat.pfx -clcerts -nokeys -out MSIXZertifikat.der
Anschließend kann das soeben umgewandelte PKCS1 Zertifikat in Relution unter Einstellungen > Zertifikate
hochgeladen werden.
Abschließend muss das Zertifikat in einer Richtlinie für Windowsgeräte auf die Geräte ausgeliefert werden. Hierzu muss die Konfiguration “Zertifikate” genutzt und darin das Zertifikat ausgewählt werden.
Es muss zwingend Vertrauenswürdige Stammzertifikate
als Zertifikatsspeicher gewählt werden.