By Andreas Nick on Dienstag, 12. Februar 2019
Category: MSIX

Starten mit dem MSIX Packaging Tool

MSIX soll langfristig auch klassische Anwendungen Modernisieren und diese zu den neuen, modernen Verteilungsverfahren (AppX) in Windows 10 und Server 2016 kompatibel integrieren.
Die ersten Anfänge sehen wir jetzt. Mit Windwos 10 1809 gibt es  ein Tool im Microsoft Store, mit dem man recht einfach eigene MSIX Pakete erstellen kann. Dieser Blog soll eine schnelle Übersicht zu den Möglichkeiten diesen Tools bieten. Dabei geht dieser Artikel nicht sonderlich in die Tiefe. Und ganz wichtig: schraubt Eure Erwartungen nicht zu hoch. Vieles Anwendungen funktionieren noch nicht als MSIX Paket. Wir haben aktuell eine Erfolgsrate von vielleicht 30% (ohne Nacharbeiten zu müssen).
Wer tiefer einstegen möchte - alle wichtigen Dokumente sind bei Microsoft unter der folgenden Adresse zu finden: http://aka.ms/MSIX

Das MSIX Packaging Tool ist quasi so eine Art Sequencer aber diesmal nicht für App-V, sondern für MSIX Pakete. Vorhandene App-V Pakete können damit aber auch direkt nach MSIX konvertiert werden. Weiterhin ist es möglich aus Installationsquellen (msi, Setup.exe etc.) über eine vorher- nachher Aufzeichnung (Snapshots) wie im App-V Sequencer neue MSIX Pakete zu erstellen. MSIX und das MSIX Packaging Tool sind ab Windows 10 Buld 17701 nutzbar (1809) mit einem kleinen PowerShell Oneliner kann schnell geprüft werden, ob Dein System geeignet ist:

if([System.Environment]::OSVersion.Version.build -ge  17701) {write-Host ready for msix build}

 Download und Installation des MSIX Packaging Tools

Das MSIX Packaging wird über den Microsoft Store installiert:
https://www.microsoft.com/de-de/p/msix-packaging-tool/9n5lw3jbcxkf?activetab=pivot:overviewtab

Benutzeroberfläche und Commandline

Das MSIX Packaging Tool hat eine Commandline aber auch eine grafische Benutzeroberfläche. Die Commandline kommt insbesondere für die Paketierungsautomation zum Einsatz.

PS C:\WINDOWS\system32> msixpackagingtool.exe
MSIX-Verpackungstool , Version 1.2019.110.0

Mit dem MSIX-Verpackungstool können Sie vorhandene win32-Anwendungen im MSIX-Format erneut packen.

Usage: MsixPackagingTool.exe [options] [command]

Options:
   - ? | -- help  Zeigen Sie Hilfeinformationen an.
   -- version  Zeigen Sie Versionsinformationen an.

Commands:
   cleanup         Löscht die temporären Dateien und Artefakte des Tools.
   create-package  Erstellt ein MSIX-Paket über das Befehlszeilen-Installationsprogramm einer Anwendung.

Examples:
   MsixPackagingTool.exe create-package --template "C:\Users\Default\Desktop\ConversionTemplate.xml"
   MsixPackagingTool.exe cleanup

In der GUI wird unterschieden zwischen:

Signieren der MSIX Pakete mit einem Zertifikat

MSIX Pakete benötigen ein Zertifikat. Das kann entweder ein gekauftes sein (Commono hat recht günstige) oder ein Zertifikat aus der eigenen Unternehmens CA. AM einfachsten ist es jedoch ein Self-Signing Zertifikat zu nutzen. Das kann wie folgt mit PowerShell erstellt werden. Das PowerShell löscht dieses Zertifikat anschließend aus dem eigenen Store (My) und legt eine Kopie auf dem Desktop an (Nutzung auf eigene Gefahr!). Der Export erfolgt als kennwortgeschütztes „Pfx“. Der Packaging Tool macht diesen Zertifikattype so erforderlich, da ein Kennwort verlangt wird. In diesem Fall ist das Kennwort „mypass“.

 
   $Newcert = New-SelfSignedCertificate -Subject 'CN=NICKIT' -KeyAlgorithm RSA -KeyLength 2048 -KeyUsage DigitalSignature -Type CodeSigningCert -CertStoreLocation Cert:\CurrentUser\My
   $trumbprint = $Newcert.Thumbprint
   $cert = (Get-ChildItem -Path cert:\CurrentUser\My\$trumbprint)

   if($cert -ne $null){
     $Secure_String_Pwd = ConvertTo-SecureString "mypass" -AsPlainText -Force

     Export-PfxCertificate -Cert $cert -FilePath $env:USERPROFILE\desktop\NewSelfSigningCert.pfx -Password $Secure_String_Pwd 
     Remove-Item cert:\CurrentUser\My\$trumbprint
   }

Nach dem Export muss das Zertifikat unter den „Vertrauenswürdigen Zertifikaten“ des Computers importiert werden, damit das System dem Zertifikat vertraut. Dazu eine MMC als Administrator starten und das Snap In „Zertifikate“ für das Computerkonto hinzufügen. Solche Zertifikate lassen sich übrigens auch Systemweit über Gruppenrichtlinien verteilen. Dort das Zertifikat, welches auf dem Desktop liegt sollte wieder importieren (mypass):

Installation von MSIX Paketen

Damit ein MSIX Paket installiert werden kann, muss das Windows System unter Configuration/Updates/For Developers in den “Sideload Apps” Modus versetzt werden. Dazu ist u.a. eine Anmeldung als Administrator notwendig.



Nun bin ich selber kein Admin auf meinem System. Daher mache ich das über eine Gruppenrichtlinie.

Auf einem english System ist das:

Local Computer Policy | Computer Configuration | Administrative Templates | Windows Components | App Package Deployment.

Deutsch:
Lokale Richtlinie | Computerconfiguration | Administrative Vorlagen | Windows-Komponenten | Bereitstellen von App-Paketen

Einstellung: „Bereitstellung aller vertrauenswürdigen Apps zulassen“ auf Aktiviert.

Funktion der Einstellung:
Mit dieser Richtlinieneinstellung können Sie die Installation vertrauenswürdiger Windows Store-Branchen-Apps oder vom Entwickler signierter Windows Store-Apps verwalten. Wenn Sie diese Richtlinieneinstellung aktivieren, können Sie alle Windows Store-Branchen-Apps oder vom Entwickler signierten Windows Store-Apps installieren. (Diese müssen mit einer Zertifikatkette signiert sein, die vom lokalen Computer erfolgreich überprüft werden kann.) Wenn Sie diese Richtlinieneinstellung deaktivieren oder nicht konfigurieren, können Sie keine Windows Store-Branchen-Apps oder vom Entwickler signierten Windows Store-Apps installieren.

Sideload apps sind damit aktiv:



Die erste Anwendung

Als Beispiel konvertiere ich ein Einfaches App-V Paket für die Anwendung PUTTY
1. Das MSIX Packaging Tool starten
2. Euer App-V Paket unter „Durchsuchen“ auswählen. Hier geht auch ein MSI Paket o.ä. das wird jedoch auch zu der Installation dieses Paketes führen. Ich will konverteiren. Daher wähle ich hier Putty.appv
3. Als Zertifikat unser „NewSelfSignedCert“ oder ein eigenes Code Signed Zertifikat wählen
4. „mypass“ als Kennwort eintragen


5. Weiter durchklicken und einen Ort zum Speichern auswählen
Optional kann hier auch der Editor gestartet werden. Dieser bietet die Möglichkeit, Berechtigungen zu konfigurieren und ähnlich wie im APP-V Sequencer das Paket zu bearbeiten.



Nach dem Erstellen erscheint die folgende Meldung



Die Erstellung ist abgeschlossen


Installation des MSIX Pakets

Das Paket kann jetzt durch einen Doppelklick installiert werden

Möglich ist u.a. aber auch die Nutzung von PowerShell für die Installation

Add-AppXPackage Putty.msix

Mit der PowerShell kann auch der Installationsstatus abgefragt werden: 

Get-AppxPackage putty

   Name              : Putty
   Publisher         : CN=NICKIT
   Architecture      : X64
   ResourceId        : 
   Version           : 0.0.1.0
   PackageFullName   : Putty_0.0.1.0_x64__7w3d6zkmm54f8
   InstallLocation   : C:\Program Files\WindowsApps\Putty_0.0.1.0_x64__7w3d6zkmm54f8
   IsFramework       : False
   PackageFamilyName : Putty_7w3d6zkmm54f8
   PublisherId       : 7w3d6zkmm54f8
   IsResourcePackage : False
   IsBundle          : False
   IsDevelopmentMode : False
   NonRemovable      : False
   IsPartiallyStaged : False
   SignatureKind     : Developer
   Status            : Ok

Die Installation und Deinstallation kann mit Benutzerrechten erfolgen. Mit PowerShell  ist das 

Get-AppXPackage Putty | Remove-AppXPackage

Um das alles für Euch zu beschleunigen hier als Download ein Archiv mit dem Zertifikat und mit Putty als MSIX. Ihr könnt damit beginnen das Zertifikat zu importieren.

Downloads:

zipSimple_MSIX Beliebt

Information
Erstelldatum 12.02.2019 21:02:32
Änderungsdatum 03.10.2020 11:01:28
Version 1.0
Dateigröße 431.29 KB
Erstellt von Andreas Nick
Geändert von Andreas Nick
Downloads 2.033
Lizenz Nick Informationstechnik Tool LicenceTooltip
Preis

Related Posts

Leave Comments