Med Windows 10 års jubileumsuppdatering , Microsoft gör det möjligt för utvecklare att konvertera traditionella Windows-skrivbordsapplikationer till Universal Windows Platform (UWP) -applikationer. Men vem som helst kan göra detta med vilken app som helst - inte bara utvecklare.
Med Windows 10: s omvandlare, ge den bara en .msi- eller .exe-fil och den spottar ett .appx-paket. Du kan sedan ladda 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 för alla med Windows 10: s Jubileumsuppdatering, att föra många "äldre" applikationer till Windows Store .
Varför vill du göra det här?
RELATERAD: Nyheter i Windows 10-årsdagen
Denna funktion är slutresultatet av Microsofts Project Centennial, som är utformat för att föra de "äldre" Win32- och .NET Windows-skrivbordsprogrammen 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 det första är endast UWP-appar tillåtna i Windows Store. Detta gör det möjligt för utvecklare att få mycket mer ögon på sina appar, för att inte tala om installation med ett enda klick, enkel inköp och automatiska uppdateringar.
Microsofts nya UWP-applikationsplattform är sandlådad, men stationära appar som du konverterar är inte. Dessa applikationer har full tillgång till ditt system, precis som en traditionell skrivbordsapplikation. Som Microsofts dokumentation säger: ”Som en UWP-app kan din app göra de saker som den kan göra som en klassisk stationär app. Den interagerar med en virtualiserad vy av registret och filsystemet som inte kan skiljas från det faktiska registret och filsystemet. ”
Begränsningarna
RELATERAD: Hur man blir Windows Insider och testar nya Windows 10-funktioner
Det finns några viktiga begränsningar här. Först kan du bara göra detta på Windows 10-årsdagen. För närvarande fungerar det med Windows 10 Insider Preview bygg 14316 och högre, så du måste gå med i Windows Insider-programmet och använd en Insider Preview-version av Windows 10 .
Den här funktionen kräver också antingen Professional- eller Enterprise-versionerna av Windows 10. Windows 10 Home-användare kan inte använda Desktop App Converter. Från och med build 14316 fungerade det 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-bitarsversioner av Windows, och det resulterande AppX-paketet kan bara installeras på 64-bitarsversioner av Windows. Detta kommer att förändras i framtida Insider-versioner av Windows 10.
De resulterande applikationerna ä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. Men om du är en utvecklare erbjuder Microsoft en väg för att få din stationära applikation till en plattforms UWP-applikation: "Om du väljer att flytta all din apps funktionalitet från appens full-trust-partition och till app-containerpartition, då kommer din app att kunna köras på vilken Windows 10-enhet som helst. ”
Vissa typer av applikationsbeteenden stöds dock inte. En applikation kan inte kräva att den körs som administratör eller använder andra typer av systemåtkomst på låg nivå. Microsoft tillhandahåller en lista över beteenden som inte är tillåtna .
Hur man ställer in Desktop App Converter
Förutsatt att du använder en tillräckligt ny version av Windows 10 Insider Preview kan du ladda ner och installera Desktop App Converter från Microsofts webbplats för utvecklare. Ladda ner både DesktopAppConverter.zip- och BaseImage-14316.wim-filerna. Extrahera den nedladdade filen DesktopAppConverter.zip till en mapp på din dator och placera BaseImage-filen i samma katalog. (Om det finns en ny version av Windows 10 tillgänglig bör du se en ny BaseImage-fil. Du måste använda BaseImage-filen med samma versionsnummer som din installerade version av Windows 10.)
Du måste också ladda ner 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 körningspolicy genom att köra följande kommando. Godkänn ändringen genom att skriva
Y
i efterhand.
Set-ExecutionPolicy-förbikoppling
Kör kommandot nedan och 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 blir ombedd att starta om medan du kör något av dessa kommandon startar du om datorn och kör sedan kommandot igen.
Hur man konverterar en stationär applikation
Du kan nu köra
DesktopAppConverter.ps1
skript från ett administratörs PowerShell-fönster för att konvertera ett skrivbordsapplikation till ett UWP-program i ett enda kommando. Du behöver programmets installationsprogram för att göra detta. Som ett exempel använder vi VLC här.
För att se den detaljerade listan över alternativ kan du när som helst köra följande kommando:
get-help. \ DesktopAppConverter.ps1 -detaljerad
Här är ett kommando som du kan använda och justera för din applikation:
. \ 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
Du måste justera kommandot för att lägga till ditt eget utgivarnamn, version, paketnamn och peka på installationsfilen och målkatalogen du föredrar. De
-InstallerArguments "/ S"
alternativet här passerar
/ S
växla till installationsprogrammet, vilket gör att många applikationsinstallatörer installerar tyst utan användarinmatning. Applikationer måste kunna installeras utan användarinmatning eller så kan du inte konvertera dem.
Programmets installationsprogram ska finnas i sin egen katalog utan några andra filer, eftersom filerna i samma katalog som installationsprogrammet kommer att 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 \ 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" -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 underteckna den
Normalt krävs det att du undertecknar appar 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 instruktionerna 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 röra med några signaturer. Windows 10 låter dig installera appar utan att signera dem om du installerar en "oförpackad" 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 \ to \ AppxManifest.xml -Register
Du hittar filen AppxManifest.xml bredvid filen Application.appx i den angivna utdatakatalogen.
Du kan nu starta applikationen från din Start-meny. Det blir en ”Windows-app” istället för en ”Desktop-app”, men den ser annars ut och fungerar som en vanlig skrivbordsapp.
Så här signerar och installerar du appen
Du behöver inte följa dessa instruktioner om du redan har installerat programmet. Det här ä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 signtool.exe-programmet som ingår i Windows 10 SDK för att skapa ett självsignerat 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älvsignerat 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 -fd SHA256 -v C: \ Path \ to \ application.appx
Observera att utgivaren du anger - det är det
"CN = Publisher"
- 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 måste använda
"CN = VideoLAN"
.
Du ombeds 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 \ to \ application.appx
Denna funktion kan användas av vem som helst, men bara utvecklare - och kanske vissa systemadministratörer - vill gå denna väg. Lyckligtvis är processen extremt lätt för utvecklare.