In der heutigen Ausgabe des MSIX Lab: Das Erstellen eines Self-Sign-Zertifikates für MSIX-Pakete und dessen Einbindung in ein frisches MSIX-Package.

Wie wir mittlerweile wissen, müssen MSIX-Pakete zwingend mit einem Zertifikat signiert werden. Im Kontext von produktiven Umgebungen werden wir eine Public-Key-Infrastructure-Umgebung benötigen, welche das Paket zertifiziert (oder das Paket über den Microsoft Store beziehen).

Für die Testumgebung hingegen reicht jedoch ein Self-Sign-Zertifikat für die Pakete – und genau das schauen wir heute im Detail an. Ich werde also Schritt für Schritt aufzeigen, wie man mit dem MSIX Packaging Tool ein Paket inklusive zugehörigem Self-Sign-Zertifikat in der Testumgebung erstellt. Wie man diese aufsetzt, habe ich bereits letzte Woche dokumentiert (hier zu finden).

Zertifikat erstellen

Für die Erstellungdes Zertifikates für das Paket benutze ich folgendes Powershell Script:

$YourPublisher = 'CN=YourCompanyNameSelfSignforMSIX'
$FirenldyName = 'YourCompanyName MSIX Test Cert'
$password = 'YourCompanyNamepassword' #Remember that one, you need it again when signing your MSI $FolderToExportCert = 'C:\YourCompanyNameFolder' #The folder already needs to exist
$CertName= 'YourCompanyNameSelfSign' #The Filename your Cert should have
$PFXName= ($FolderToExportCert +'\' +$CertName +'.pfx')
$cert = New-SelfSignedCertificate -Type Custom -Subject $YourPublisher -KeyUsage DigitalSignature -FriendlyName $FirenldyName -CertStoreLocation 'Cert:\CurrentUser\my'
$pwd = ConvertTo-SecureString -String $password -Force -AsPlainText
$cert | Export-PfxCertificate -FilePath $PFXName -Password $pwd
remove-item $cert.PSPath

Quelle für Script: blog.basevision.ch

Die vier Parameter $YourPublisher, $FirenldyName, $password, $YourCompanyNameFolder und $CertName solltet ihr davor noch konfigurieren. Ihr könnt das auch mit meinen Parametern verwenden, einzig der Pfad muss zwingend auf einen existierenden Pfad geändert werden.


(Parameter ändern & run – fertig ist das Zertifikat!)

Fertig ist das .pfx-Zertifikats-File!

Beginnen wir also mit der Erstellung eines neuen MSIX-Pakets mit dem MSIX Packaging Tool von Microsoft. Wir wählen Application Package und ziehen eine entsprechende MSI-Source hinzu.

(MSI-Source wählen)

Ziehen wir nun noch das Zertifikat hinzu, welches wir mit dem Powershell Script erstellt haben

 

 

 (Zertifikat hinzuziehen)

…und klicken den Prozess fertig durch (die Paketinformationen werden automatisch ausgelesen).

(Paketerstellung durchklicken)

Anschliessend noch das neue Paket abspeichern, fertig!

 

(Zum Schluss das Paket noch abspeichern)

Und nun zur grossen Preisfrage: Lässt sich unser neues MSIX-Paket auch installieren?

 …Trommelwirbel…


(ZONK!)

Der Installer reklamiert und bringt uns eine Fehlermeldung:

«Either you need a new certificate installed for this app package, or you need a new app package with trusted certificates. Your system administrator or the app developer can help.»

Nun, mit Letzerem wären wir dann wohl gemeint.

Wir müssen also zuerts das Self Sign Zertifikat einbinden:

Doppelklick auf das .pfx-Zertifikats-File

  1. «Local Machine» auswählen, Zertifikats-File ist bereits ausgewählt
  2. Passwort für das Zertifikat eingeben
  3. «Place all Certificates in the following store» anwählen und als Store «Trusted Root Certification Authorities» setzen
  4. Fertig – das Zertifikat wurde importiert

(Das Zertifikat muss erst importiert werden.)

Neue Installation, neues Glück:

  

 

 

 

(ZONK die Zweite!)

Aber auch hier gibts noch eine Fehlermeldung, die uns mitteilt, dass Sideloading noch aktiviert werden muss.

Dafür manövrieren wir in die Windows Settings unter «Update & Security» und klicken auf «For developers». Wir wählen «Sideload apps» und bestätigen bei der erneuten Nachfrage des Systems.

(Sideloading muss ebenfalls zuerst aktiviert werden.)

Letzter Versuch für die Installation:

(Bitte bitte bitte….Yes!)

Wir waren siegreich, Hurra!

Mit dem aufgezeigten Prozess können also Pakete Inhouse gebaut und getestet werden. In der nächsten Ausgabe des MSIX-Labs werde ich das Extrahieren und manuelle Editieren eines MSIX-Pakets aufzeigen.

Bis dahin wünsche ich euch allen fröhliches MSIX-Paketieren!

-Peter

 

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: