Så här konverterar du en Windows Desktop App till en Universal Windows App
Med Windows 10 års årsuppdatering gör Microsoft det möjligt för utvecklare att konvertera traditionella Windows-skrivbordsapplikationer till Universal Windows Platform (UWP) -program. Men vem som helst kan göra det med någon app, inte bara utvecklare.
Med Windows 10-omvandlaren, ge det bara en .msi eller .exe-fil och det spottar ut ett .appx-paket. Du kan sedan sidladdning den här appen på din egen dator, eller om du är programmets utvecklare, kan du skicka den resulterande UWP-appen till Windows Store. Den här funktionen kommer fram till alla med Windows 10-årsjubileumsuppdatering, vilket ger många "äldre" program till Windows Store.
Varför skulle du vilja göra det här
Denna funktion är slutresultatet för Microsofts Project Centennial, som är utformat för att ta med dessa "äldre" Win32 och .NET Windows-skrivbordsapplikationer till Windows Store och den nya Universal Windows-plattformen.
Du kanske undrar varför någon skulle vilja konvertera en stationär applikation till en ny UWP-app. För en sak är endast UWP-appar tillåtna i Windows Store. Detta gör det möjligt för utvecklare att få mycket fler ögon på sina appar, för att inte tala om enkelklicksinstallation, enkel inköp och automatiska uppdateringar.
Microsofts nya UWP-applikationsplattform är sandlåda, men stationära appar som du konverterar är inte. Dessa applikationer har full tillgång till ditt system, precis som en vanlig skrivbordsapplikation. Som Microsofts dokumentation säger: "Som en UWP-app kan din app göra saker som den kan göra som en klassisk stationär app. Det interagerar med en virtualiserad vy av registret och filsystemet som inte kan skilja sig från själva registret och filsystemet. "
Begränsningarna
Det finns några viktiga begränsningar här. Först kan du bara göra detta på Windows 10 årsdagen uppdatering. För närvarande fungerar det med Windows 10 Insider Preview bygg 14316 och senare, så du måste ansluta till Windows Insider-programmet och använda en Insider Preview-byggnad av Windows 10.
Den här funktionen kräver även antingen Professionella eller Enterprise-utgåvorna av Windows 10. Windows 10-hemanvändare kan inte använda skrivbordsprogramskonverteraren. När det gäller bygg 14316 fungerade den bara på Windows 10 Enterprise, men stöd för Windows 10 Professional kommer. För närvarande kan detta verktyg endast användas på 64-bitars versioner av Windows, och det resulterande AppX-paketet kan bara installeras på 64-bitars versioner av Windows. Detta kommer att förändras i framtida Insider-byggnader av Windows 10.
De resulterande programmen är avsedda för Windows 10-datorer. De fungerar inte på Windows 10 Mobile-smartphones, Xbox One, HoloLens, Surface Hub och de andra Windows 10-plattformarna som kör UWP-appar. Om du är en utvecklare erbjuder Microsoft dock en väg att få ditt skrivbordsapplikation till ett UWP-program på plattformen: "Om du väljer att flytta all din apps funktionalitet ur appens fullständiga förtroendepartition och in i app-containerpartitionen kommer din app att kunna köras på alla Windows 10-enheter. "
Men vissa typer av applikationsbeteende stöds inte. En applikation kan inte kräva att den körs som administratör eller använder andra typer av lågnivå systemåtkomst. Microsoft ger en lista över beteenden som inte är tillåtna.
Så här ställer du in skrivbordsprogramskonverteraren
Om du antar att du använder en ny nog byggd av Preview Preview i Windows 10 kan du hämta och installera Desktop App Converter från Microsofts utvecklarsida. Ladda ner både DesktopAppConverter.zip och BaseImage-14316.wim-filer. Extrahera den nedladdade DesktopAppConverter.zip-filen till en mapp på datorn och placera BaseImage-filen i samma katalog. (Om det finns en ny byggnad av Windows 10, borde du se en ny BaseImage-fil. Du måste använda BaseImage-filen med samma versionsnummer som din installerade byggnad av Windows 10.)
Du måste också hämta och installera Windows 10 SDK.
Öppna sedan ett PowerShell-fönster som Administratör. För att göra det, öppna Start-menyn, sök efter "PowerShell", högerklicka på genvägen och välj "Kör som administratör".
Ändra PowerShells exekveringspolicy genom att köra följande kommando. Godta ändringen genom att skriva y
i efterhand.
Set-ExecutionPolicy bypass
Kör kommandot nedan, ersätt C: \ Users \ NAME \ Downloads \ DesktopAppConvertor
med sökvägen till katalogen på din dator:
cd-path C: \ Users \ NAME \ Downloads \ DesktopAppConvertor
Ställ in Desktop App Converter genom att köra följande kommando:
.\ DesktopAppConverter.ps1 -Setup-BaseImage. \ BaseImage-14316.wim
Om du ombeds omstartas när du kör någon av dessa kommandon, starta om datorn och kör sedan kommandot igen.
Hur man konverterar en skrivbordsapplikation
Du kan nu köra DesktopAppConverter.ps1
skript från ett administratörs PowerShell-fönster för att konvertera en stationär applikation till en UWP-applikation i ett enda kommando. Du behöver programmets installationsprogram för att göra det här. Som exempel använder vi VLC här.
För att visa den detaljerade listan över alternativ kan du när som helst köra följande kommando:
get-help. \ DesktopAppConverter.ps1 -details
Här är ett kommando du kan använda och anpassa för din ansökan:
.\ DesktopAppConverter.ps1 -ExpandedBaseImage C: \ ProgramData \ Microsoft \ Windows \ Bilder \ BaseImage-14316 -installatör C: \ Installer \ MyApp.exe -InstallerArguments "/ S" -Destination C: \ Output \ MyApp -PackageName "MyApp" - Utgivare "CN =" -Version 0.0.0.1 -MakeAppx -Verbose
Du måste justera kommandot för att lägga till ditt eget utgivarens namn, version, paketnamn och peka det på installationsfilerna och destinationskatalogen du föredrar. De -InstallerArguments "/ S"
alternativ här passerar / S
byta till installationsprogrammet, vilket gör att många programinstallatörer installeras tyst utan någon användarinmatning. Applikationer måste kunna installeras utan någon användarinmatning eller du kan inte konvertera dem.
Applikationsinstallatören bör vara i sin egen katalog utan några andra filer, eftersom filerna i samma katalog som installationsprogrammet kopieras till det resulterande .appx-paketet.
Till exempel använder vi VLC här, så här är kommandot vi skulle använda:
.\ DesktopAppConverter.ps1 -ExpandedBaseImage C: \ ProgramData \ Microsoft \ Windows \ Bilder \ BaseImage-14316 -Installator C: \ Användare \ chris \ Nedladdningar \ vlc \ vlc-2.2.2-win32.exe -InstallerArguments "/ S" -Destination C: \ Output \ VLC -PackageName "VLC" -Publisher "CN = VideoLAN" -Version 0.2.2.2 -MakeAppx -Verbose
Verktyget ger dig ett .appx-paket, vilket är UWP-versionen av appen.
Så här installerar du appen utan att skriva den
Du behöver normalt teckensnabbar med en giltig signatur innan de kan installeras. Microsoft rekommenderar att du skapar ett självsignerat certifikat och signerar appen med det på din dator. Du kan göra det med hjälp av anvisningarna nedan, om du vill.
Men om du bara vill installera appen på din egen dator kan du göra det själv snabbare, utan att göra några signaturer. I Windows 10 kan du installera appar utan att signera dem om du installerar en "packad" app från en katalog.
För att göra detta, öppna ett PowerShell-fönster som Administratör och kör följande kommando:
Add-AppxPackage -Path C: \ Path \ till \ AppxManifest.xml -Register
Du hittar filen AppxManifest.xml bredvid filen Application.appx i produktkatalogen du angav.
Nu kan du starta programmet från din Start-meny. Det kommer att bli en "Windows app" istället för en "Desktop app", men det kommer annars att se och fungera som en vanlig skrivbordsprogram.
Hur man loggar in och installerar appen
Du behöver inte följa dessa instruktioner om du redan har installerat programmet. Detta är det svårare sättet.
Du kan normalt bara installera ett .appx-paket om det har en giltig signatur. Microsoft rekommenderar att du använder programmet signtool.exe som ingår i Windows 10 SDK för att skapa ett självtecknat certifikat, vilket gör att du kan installera och testa programmet på din egen dator.
Öppna bara ett kommandotolkfönster som administratör och kör följande kommandon för att skapa ett självtecknat certifikat och underteckna .appx-paketet med det:
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 my.pvk -spc my.cer -pfx my.pfx
signtool.exe sign -f my.pfx -f SHA256 -v C: \ Path \ till \ application.appx
Observera att förlaget du anger - det är det "CN = Utgivare"
-måste matcha utgivaren du angav tidigare när du skapade AppX-filen. Så fortsätter vi med vårt VLC-exempel ovanifrån, vi skulle behöva använda "CN = VideoLAN"
.
Du kommer att bli ombedd att ange ett lösenord. Du kan bara lämna lösenordet tomt.
Du kan nu installera .appx-paketet i ett PowerShell-fönster (Administratör) med kommandot Add-AppxPackage:
Add-AppxPackage C: \ Path \ till \ application.appx
Den här funktionen kan användas av alla, men bara utvecklare - och kanske vissa systemadministratörer - vill gå denna rutt. Lyckligtvis är processen extremt lätt för utvecklare.