Home Algemeen MSIX Package Automation

MSIX Package Automation

door Leon Jansen

Met de komst van MSIX AppAttach voor Windows Virtual Desktop is er weer een nieuwe deur open gegaan in het beheren en “installeren” van applicaties op servers. Natuurlijk kennen we de MSIX Packaging Tool om deze packages aan te maken, en een complete handleiding hiervoor kun je vinden op het blog van Christiaan Brinkhoff, maar ik wil jullie laten zien hoe je nog een stapje verder kunt gaan met: MSIX Package Automation!

What to do

Hieronder laat ik zien hoe we van een Notepad++ Executable een MSIX package kunnen maken middels Automation. De installatie bestanden van Notepad++ kun je hier vinden.

Ter voorbereiding hebben we een VM nodig met de MSIX Packaging Tool geïnstalleerd. Ook is het noodzakelijk om de MSIX Packaging Tool op je lokale machine geïnstalleerd te hebben omdat de Powershell Scripts deze nodig hebben. Deze kun je hier downloaden.

In onderstaand voorbeeld ga ik een Virtual Machine configureren op Hyper-V, maar het is uiteraard ook mogelijk om een server in Azure te gebruiken voor het builden van je packages.

Aanmaken Virtual Machine voor het builden van Packages

  1. Open de Hyper-V Manager en klik rechts op jouw hyper-v machine en kies vervolgens Quick Create…
Quick Create VM

2. Kies voor “MSIX Packaging Tool Environment” dit standaard image zorgt ervoor dat de packaging tool standaard geinstalleerd staat binnen je VM. En klik op “Create Virtual Machine”

Selecteer MSIX Packaging Tool Environment

3. Als de Virtual Machine is uitgerold, klik dan op Connect, en Start de VM.

Klik op Connect en start de VM

4. Loop nu door de configuratie heen van Windows, zorg ervoor dat je een “Offline Account” configureert. Want we hebben een lokaal account nodig voor de Automation. Sla de gebruikersnaam en wachtwoord ergens op want deze hebben we straks nodig in ons script!

Part where the magic happens

Nu is het tijd om een aantal Powershell Scripts te downloaden, deze zijn te vinden op mijn GitHub. Dit zijn wat aangepaste scripts op basis van de Microsoft documentatie die hier is te vinden.

De GitHub repository bestaat uit 4 scripts:

  • entry.ps1
  • batch_convert.ps1
  • sign_deploy_run.ps1
  • run_job.ps1

Download deze allemaal naar een folder, en open het bestand “entry.ps1” in je favoriete Code Editor!

Op regel 5 en 6 kun je de credentials invullen van je zojuist aangemaakte vm.

Op regel 58 vind je het blokje conversionParameters, zoals je kunt zien in het voorbeeld heb ik hier al een package van Notepad++ ingevuld. Eventueel kun je hier meerdere packages aan toe voegen zodat deze in 1 run gepackaged kunnen worden. Ik denk dat de parameters voor zichzelf spreken als je al ervaring hebt om te packagen met de Wizard via de MSIX Packaging Tool. Mocht je hier nog hulp bij nodig hebben, Microsoft heeft hier een artikel staan met welke argumenten je allemaal kunt gebruiken.

Conversion Parameters

Als je je packages hebt toegevoegd is het nu tijd om de conversie te gaan starten, het makkelijkste is om een nieuw Powershell Venster te openen (Als Administrator) en te gaan naar de folder waar je zojuist de bestanden neer hebt gezet.

Start nu het entry.ps1 bestand middels Powershell.


PS C:\> entry.ps1

Als je alles goed hebt ingevuld verschijnt er nu een tweede Powershell venster waarin de status wordt weergegeven, en als alles goed is verschijnt er een bericht dat je package klaar staat! Hoera!

Output MSIX Packaging Tool

In de “out/MSIX” folder die is aangemaakt vind je het zojuist gegeneerde MSIX package!

Tevens wordt er een snapshot gemaakt van je VM voordat je start met het packagen, en deze wordt na de conversie weer teruggezet, lekker makkelijk toch! Zo weet je zeker dat je VM weer klaar is voor een nieuw te maken package.

Het is noodzakelijk om je package te “signen” middels een certificaat. Je kunt hiervoor een speciaal certificaat aanschaffen (een Code Sign Certificiate) of je kunt een Self Signed Certificate genereren. Als je kiest voor het laatste let dan wel op dat je deze ook installeert op de machines waar je je MSIX package wil uitvoeren.

Om je package te kunnen signen kun je het volgende powershell script gebruiken


PS C:\> run_sign_deploy.ps1
run_sign_deploy.ps1

Vul op regel 5 het pad in naar je Code Signing Certificate of je Self Signed certificate, en voer het script uit. Als alles goed gaat wordt nu je MSIX package uitgevoerd, en kun je hem gaan gebruiken!

MSIX AppAttach

Nu we een MSIX package hebben, kunnen we daar redelijk makkelijk een VHD of een CIM voor maken t.b.v. MSIX AppAttach. Er zijn door de community al redelijk wat tools geschreven die je kunt gebruiken voor je conversie:

Convert MSIXs to VHD or CIM for App Attach – Confessions of a Guru (tmurgent.com)
Download – MSIX Hero

Conclusie

Zo zie je maar, alles is te automaten 😉 zelfs het maken van packages met MSIX Package Automation! Wil je meer weten over MSIX, MSIX AppAttach of over de Automation die we gebruiken? Neem dan contact met me op, en ik help je op weg!

Related Posts

Laat een Opmerking achter

Deze website maakt gebruik van cookies. Accepteer Lees Meer

Geverifieerd door MonsterInsights