MSIX-Dateien erstellen

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.

MSIX Packaging Tool


Zertifikatserstellung

Im nächsten Schritt muss ein Zertifikat erstellt werden. Dies kann bequem über die Powershell durchgeführt werden. Hierzu gegebenenfalls den Namen des Zertifikats und/oder das Passwort ändern.

# 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
$thumbprint = $Newcert.Thumbprint

# Hole das Zertifikatsobjekt aus dem Speicher anhand seines Thumbprints
$cert = (Get-ChildItem -Path cert:\CurrentUser\My\$thumbprint)

# Ü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\$thumbprint
}

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, die Zertifikatsverwaltung Computerzertifikate verwalten als Administrator starten.

MSIX Packaging Tool


Erstellung von MSIX-Dateien

Das MSIX Packaging Tool starten und die Option zur Erstellung eines neuen App-Paketes wählen. Die Auswahl Windows Search ist aktiv im anschließenden Dialog deaktivieren.

MSIX Packaging Tool

Im Beispiel erstellen wir eine MSIX-Datei für Notepad++. Dazu muss zuerst die Setup-Datei heruntergeladen werden. Im Anschluss im MSIX Packaging Tool die Datei und das Zertifikat auswählen. Die Signaturpräferenz muss auf Mit einem Zertifikat (.pfx) signieren eingestellt sein.

MSIX Packaging Tool

Die entsprechenden Felder ausfüllen.

MSIX Packaging Tool

Nun startet der Installer von Notepad++. Diesen wie gewohnt durchführen und die Konfigurationen nach den eigenen Wünschen vornehmen.

Im MSIX Packaging Tool auf Weiter und Ja, fortfahren klicken, wenn die Installation von Notepad++ abgeschlossen ist.

MSIX Packaging Tool

Das Tool wird anzeigen, dass keine Dienste installiert und erkannt wurden. Im letzten Dialogfenster kann der Speicherort des Pakets festgelegt werden. Die Erstellung mit Klick auf Erstellen abschließen.

MSIX Packaging Tool


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 aus dem PKCS#12-Container (.pfx) als einzelne Zertifikatsdatei (PEM-Format) exportiert werden. Dazu muss OpenSSL auf dem System installiert sein. Dies funktioniert mit diesem Befehl:

openssl pkcs12 -in MSIXZertifikat.pfx -clcerts -nokeys -out MSIXZertifikat.der

Ab OpenSSL 3.x:

openssl pkcs12 -in MSIXZertifikat.pfx -clcerts -nokeys -out MSIXZertifikat.der -passin pass:Passw0rd #Passphrase entsprechend anpassen

Anschließend kann das soeben umgewandelte PKCS1 Zertifikat in Relution unter EinstellungenZertifikate hochgeladen werden.

Abschließend muss das Zertifikat in einer Richtlinie für Windowsgeräte auf die Geräte ausgeliefert werden. Hierzu wird die Konfiguration Zertifikate genutzt und darin das Zertifikat ausgewählt.

Es muss zwingend Vertrauenswürdige Stammzertifikate als Zertifikatsspeicher gewählt werden.

Top