Met Jubileumupdate van Windows 10 Maakt Microsoft het voor ontwikkelaars mogelijk om traditionele Windows-desktoptoepassingen om te zetten naar Universeel Windows-platformtoepassingen (UWP). Maar iedereen kan dit met elke app doen, niet alleen met ontwikkelaars.
Met de converter van Windows 10 geef je het gewoon een .msi- of .exe-bestand en het spuugt een .appx-pakket uit. U kunt deze app vervolgens sideloaden op uw eigen pc, of, als u de ontwikkelaar van de toepassing bent, de resulterende UWP-app indienen bij de Windows Store. Deze functie komt voor iedereen beschikbaar met de jubileumupdate van Windows 10, veel "legacy" -toepassingen naar de Windows Store brengen .
Waarom u dit zou willen doen
VERWANT: Wat is er nieuw in de jubileumupdate van Windows 10
Deze functie is het eindresultaat van Microsoft's Project Centennial, dat is ontworpen om die 'oude' Win32- en .NET Windows-desktoptoepassingen naar de Windows Store en het nieuwe Universal Windows Platform te brengen.
Je vraagt je misschien af waarom iemand een desktop-applicatie zou willen converteren naar een nieuwe UWP-app. Om te beginnen zijn alleen UWP-apps toegestaan in de Windows Store. Hierdoor kunnen ontwikkelaars hun apps veel meer in de gaten houden, om nog maar te zwijgen van de installatie met één klik, eenvoudige aanschaf en automatische updates.
Het nieuwe UWP-applicatieplatform van Microsoft is sandboxed, maar desktop-apps die u converteert, zijn dat niet. Deze applicaties hebben volledige toegang tot uw systeem, net als een traditionele desktopapplicatie. Zoals Microsoft's documentatie zegt: “Als UWP-app kan uw app de dingen doen die het zou kunnen doen als een klassieke desktop-app. Het werkt samen met een gevirtualiseerde weergave van het register en het bestandssysteem die niet te onderscheiden is van het daadwerkelijke register en bestandssysteem. "
De beperkingen
VERWANT: Hoe u een Windows Insider wordt en nieuwe Windows 10-functies test
Hier zijn enkele belangrijke beperkingen. Ten eerste kunt u dit alleen doen met de Windows 10-jubileumupdate. Voorlopig werkt het met Windows 10 Insider Preview bouwen 14316 en hoger, dus u moet deelnemen aan het Windows Insider-programma en gebruik een Insider Preview-build van Windows 10 .
Deze functie vereist ook de Professional- of Enterprise-edities van Windows 10. Windows 10 Home-gebruikers kunnen de Desktop App Converter niet gebruiken. Vanaf build 14316 werkte het alleen op Windows 10 Enterprise, maar ondersteuning voor Windows 10 Professional komt eraan. Momenteel kan deze tool alleen worden gebruikt op 64-bits versies van Windows en het resulterende AppX-pakket kan alleen worden geïnstalleerd op 64-bits versies van Windows. Dit zal veranderen in toekomstige Insider-builds van Windows 10.
De resulterende applicaties zijn bedoeld voor Windows 10-pc's. Ze werken niet op Windows 10 Mobile-smartphones, Xbox One, HoloLens, Surface Hub en de andere Windows 10-platforms waarop UWP-apps worden uitgevoerd. Als u echter een ontwikkelaar bent, biedt Microsoft een manier om uw desktopapplicatie in een platformonafhankelijke UWP-applicatie te krijgen: app-containerpartitie, dan kan uw app op elk Windows 10-apparaat worden uitgevoerd. "
Sommige soorten app-gedrag worden echter niet ondersteund. Een app kan niet vereisen dat deze als beheerder wordt uitgevoerd of dat er andere soorten systeemtoegang op laag niveau worden gebruikt. Microsoft biedt een lijst met gedrag dat niet is toegestaan .
Hoe u de Desktop App Converter instelt
Ervan uitgaande dat u een voldoende nieuwe build van de Windows 10 Insider Preview gebruikt, kunt u het Desktop App Converter van de ontwikkelaarssite van Microsoft. Download zowel de DesktopAppConverter.zip- als BaseImage-14316.wim-bestanden. Pak het gedownloade bestand DesktopAppConverter.zip uit in een map op uw computer en plaats het BaseImage-bestand in dezelfde map. (Als er een nieuwe build van Windows 10 beschikbaar is, zou u een nieuw BaseImage-bestand moeten zien. U moet het BaseImage-bestand gebruiken met hetzelfde versienummer als uw geïnstalleerde build van Windows 10.)
U moet ook het Windows 10 SDK .
Open vervolgens een PowerShell-venster als beheerder. Open hiervoor het menu Start, zoek naar "PowerShell", klik met de rechtermuisknop op de snelkoppeling en selecteer "Als administrator uitvoeren".
Wijzig het uitvoeringsbeleid van PowerShell door de volgende opdracht uit te voeren. Ga akkoord met de wijziging door te typen
Y
daarna.
Set-ExecutionPolicy omzeilen
Voer de onderstaande opdracht uit en vervang
C: \ Users \ NAME \ Downloads \ DesktopAppConvertor
met het pad naar de directory op uw computer:
cd -Pad C: \ Users \ NAME \ Downloads \ DesktopAppConvertor
Stel de Desktop App Converter in door de volgende opdracht uit te voeren:
.\DesktopAppConverter.ps1 -Setup -BaseImage .\BaseImage-14316.wim
Als u wordt gevraagd om opnieuw op te starten terwijl u een van deze opdrachten uitvoert, start u uw computer opnieuw op en voert u de opdracht opnieuw uit.
Hoe een desktop-applicatie te converteren
U kunt nu het
DesktopAppConverter.ps1
script vanuit een Administrator PowerShell-venster om een desktoptoepassing in een enkele opdracht naar een UWP-toepassing te converteren. Hiervoor heeft u het installatieprogramma van de app nodig. Als voorbeeld gebruiken we hier VLC.
Om de gedetailleerde lijst met opties te bekijken, kunt u de volgende opdracht op elk moment uitvoeren:
get-help. \ DesktopAppConverter.ps1 -gedetailleerd
Hier is een commando dat u kunt gebruiken en aanpassen voor uw toepassing:
. \ DesktopAppConverter.ps1 -ExpandedBaseImage C: \ ProgramData \ Microsoft \ Windows \ Images \ BaseImage-14316 –Installer C: \ Installer \ MyApp.exe -InstallerArguments "/ S" -Destination C: \ Output \ MyApp -PackageName "MyApp" -Publisher "CN = <publisher_name>" -Version 0.0.0.1 -MakeAppx -Verbose
U moet de opdracht aanpassen om uw eigen uitgeversnaam, versie, pakketnaam toe te voegen en naar het installatiebestand en de bestemmingsmap van uw voorkeur te verwijzen. De
-InstallerArguments "/ S"
optie passeert hier de
/ S
schakel over naar het installatieprogramma, waardoor veel installatieprogramma's van toepassingen stil kunnen worden geïnstalleerd zonder enige gebruikersinvoer. Applicaties moeten installeerbaar zijn zonder gebruikersinvoer, anders kun je ze niet converteren.
Het installatieprogramma van de applicatie moet in zijn eigen map staan zonder andere bestanden, aangezien de bestanden in dezelfde map als het installatieprogramma naar het resulterende .appx-pakket worden gekopieerd.
We gebruiken hier bijvoorbeeld VLC, dus hier is de opdracht die we zouden gebruiken:
. \ DesktopAppConverter.ps1 -ExpandedBaseImage C: \ ProgramData \ Microsoft \ Windows \ Images \ BaseImage-14316 –Installer C: \ Users \ chris \ Downloads \ vlc \ vlc-2.2.2-win32.exe -InstallerArguments "/ S" -Destination C: \ Output \ VLC -PackageName "VLC" -Publisher "CN = VideoLAN" -Versie 0.2.2.2 -MakeAppx -Verbose
De tool geeft je een .appx-pakket, de UWP-versie van de app.
Hoe de app te installeren zonder deze te ondertekenen
Normaal gesproken moet u apps ondertekenen met een geldige handtekening voordat ze kunnen worden geïnstalleerd. Microsoft raadt aan om een zelfondertekend certificaat te maken en de app daarmee op uw computer te ondertekenen. U kunt dat doen met behulp van de onderstaande instructies, als u dat wilt.
Als u de app echter gewoon op uw eigen computer wilt installeren, kunt u dit zelf sneller doen, zonder te knoeien met handtekeningen. Met Windows 10 kunt u apps installeren zonder ze te ondertekenen als u een 'onverpakte' app uit een directory installeert.
Om dit te doen, opent u een PowerShell-venster als beheerder en voert u de volgende opdracht uit:
Add-AppxPackage -Path C: \ Path \ to \ AppxManifest.xml -Register
U vindt het bestand AppxManifest.xml naast het bestand Application.appx in de uitvoermap die u heeft opgegeven.
U kunt de applicatie nu starten vanuit uw Start-menu. Het zal een "Windows-app" zijn in plaats van een "Desktop-app", maar het zal er verder uitzien en werken als een normale desktop-app.
Hoe de app te ondertekenen en te installeren
U hoeft deze instructies niet te volgen als u de applicatie al heeft geïnstalleerd. Dit is de moeilijkere manier.
Normaal gesproken kunt u een .appx-pakket alleen installeren als het een geldige handtekening heeft. Microsoft raadt aan om de signtool.exe-applicatie die is meegeleverd met de Windows 10 SDK te gebruiken om een zelfondertekend certificaat te maken, waarmee u de applicatie op uw eigen computer kunt installeren en testen.
Open gewoon een opdrachtpromptvenster als beheerder en voer de volgende opdrachten uit om een zelfondertekend certificaat te maken en het .appx-pakket ermee te ondertekenen:
cd "C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ x64"
MakeCert.exe -r -h 0 -n "CN = Publisher" -eku 1.3.6.1.5.5.7.3.3 -pe -sv my.pvk my.cer
pvk2pfx.exe -pvk mijn.pvk -spc mijn.cer -pfx mijn.pfx
signtool.exe sign -f my.pfx -fd SHA256 -v C: \ Pad \ naar \ applicatie.appx
Houd er rekening mee dat de uitgever die u opgeeft, de
"CN = uitgever"
- moet overeenkomen met de uitgever die u eerder hebt opgegeven bij het maken van het AppX-bestand. Dus als we verder gaan met ons VLC-voorbeeld van hierboven, zouden we
"CN = VideoLAN"
.
U wordt gevraagd om een wachtwoord in te voeren. U kunt het wachtwoord gewoon leeg laten.
U kunt nu het .appx-pakket installeren in een PowerShell-venster (Administrator) met de opdracht Add-AppxPackage:
Add-AppxPackage C: \ Path \ to \ application.appx
Deze functie kan door iedereen worden gebruikt, maar alleen ontwikkelaars - en misschien sommige systeembeheerders - zullen deze weg willen gaan. Gelukkig is het proces buitengewoon eenvoudig voor ontwikkelaars.