Sådan konverteres en Windows Desktop App til en Universal Windows App
Med Windows 10 års jubilæumsopdatering gør Microsoft det muligt for udviklere at konvertere traditionelle Windows-desktopprogrammer til Universal Windows Platform (UWP) applikationer. Men enhver kan gøre det med enhver app - ikke bare udviklere.
Med Windows 10-konverteringen skal du bare give den en .msi eller .exe-fil, og den spytter en .appx-pakke ud. Du kan derefter sideload denne app på din egen pc, eller hvis du er applikationsudvikleren, kan du sende den resulterende UWP-app til Windows Store. Denne funktion kommer frem til alle med Windows 10 års jubilæumsopdatering, der bringer mange "gamle" applikationer til Windows Store.
Hvorfor vil du gerne gøre dette
Denne funktion er det endelige resultat af Microsofts Project Centennial, som er designet til at bringe disse ”legacy” Win32 og .NET Windows desktop applikationer til Windows Store og den nye Universal Windows-platformen.
Du kan måske undre dig over, hvorfor nogen vil gerne konvertere et desktopprogram til en ny UWP-app. For en ting er kun UWP apps tilladt i Windows Store. Dette giver udviklere mulighed for at få meget flere øjne på deres apps, for ikke at nævne installation med enkelt klik, nem køb og automatiske opdateringer.
Microsofts nye UWP-applikationsplatform er sandboxet, men stationære apps, du konverterer, er ikke. Disse applikationer har fuld adgang til dit system, ligesom en traditionel desktop applikation. Som Microsofts dokumentation siger: "Som en UWP-app kan din app gøre de ting, det kunne gøre som en klassisk desktop-app. Det interagerer med en virtualiseret visning af registreringsdatabasen og filsystemet, der ikke kan skelnes fra det faktiske register og filsystem. "
Begrænsningerne
Der er nogle vigtige begrænsninger her. For det første kan du kun gøre dette på Windows 10 Anniversary Update. For nu, vil det fungere sammen med Windows 10 Insider Eksempel bygge 14316 og højere, så du bliver nødt til at slutte sig til Windows Insider-programmet og bruge en Insider Eksempel bygge på Windows 10.
Denne funktion kræver også enten Professional eller Enterprise udgaver af Windows 10. Windows 10 Home-brugere kan ikke bruge Desktop App Converter. Som i bygning 14316 fungerede den kun på Windows 10 Enterprise, men der er støtte til Windows 10 Professional. I øjeblikket kan dette værktøj kun bruges på 64-bit versioner af Windows, og den resulterende AppX-pakke kan kun installeres på 64-bit versioner af Windows. Dette vil ændre sig i fremtidige Insider-bygger af Windows 10.
De resulterende applikationer er beregnet til Windows 10 pc'er. De fungerer ikke på Windows 10 Mobile-smartphones, Xbox One, HoloLens, Surface Hub og de andre Windows 10-platforme, der kører UWP-apps. Men hvis du er en udvikler, Microsoft tilbyder, en sti til at få din desktop applikation i et cross-platform UWP ansøgning: ”Hvis du vælger at flytte alle appens funktionalitet ud af den fulde-trust partition af app og ind i app container partition, så vil din app kunne køre på en hvilken som helst Windows 10 enhed. "
Men nogle typer applikationsadfærd understøttes ikke. En applikation kan ikke kræve, at den køres som administrator eller bruge andre typer systemadgang på lavt niveau. Microsoft giver en liste over adfærd, der ikke er tilladt.
Sådan opsættes Desktop App Converter
Hvis du antager, at du bruger en ny nok build af Windows 10 Insider Preview, kan du downloade og installere Desktop App Converter fra Microsofts Developer-websted. Download både DesktopAppConverter.zip og BaseImage-14316.wim filer. Udpak den downloadede DesktopAppConverter.zip-fil til en mappe på din computer og læg BaseImage-filen i samme mappe. (Hvis der er en ny version af Windows 10 tilgængelig, skal du se en ny BaseImage-fil. Du skal bruge BaseImage-filen med samme versionsnummer som din installerede build af Windows 10.)
Du skal også downloade og installere Windows 10 SDK.
Derefter skal du åbne et PowerShell-vindue som administrator. For at gøre det skal du åbne startmenuen, søge efter "PowerShell", højreklikke på genvejen og vælge "Kør som administrator".
Skift PowerShells eksekutionspolitik ved at køre følgende kommando. Enig til ændringen ved at skrive y
bagefter.
Set-ExecutionPolicy bypass
Kør kommandoen nedenfor, erstatte C: \ Users \ NAME \ downloads \ DesktopAppConvertor
med stien til biblioteket på din computer:
cd-path C: \ Users \ NAME \ Downloads \ DesktopAppConvertor
Konfigurer Desktop App Converter ved at køre følgende kommando:
.\ DesktopAppConverter.ps1-Opsætning -BaseImage. \ BaseImage-14316.wim
Hvis du bliver bedt om at genstarte, mens du kører nogen af disse kommandoer, skal du genstarte computeren og derefter køre kommandoen igen.
Sådan konverteres et skrivebordsprogram
Du kan nu køre DesktopAppConverter.ps1
script fra et Administrator PowerShell-vindue til at konvertere et desktopprogram til en UWP-applikation i en enkelt kommando. Du skal bruge programmets installationsprogram til at gøre dette. Som et eksempel bruger vi VLC her.
For at se den detaljerede liste over muligheder, kan du til enhver tid køre følgende kommando:
get-help. \ DesktopAppConverter.ps1 -detailed
Her er en kommando, du kan bruge og justere til din ansøgning:
.\ DesktopAppConverter.ps1 -ExpandedBaseImage C: \ ProgramData \ Microsoft \ Windows \ Images \ BaseImage-14316 -Installer C: \ Installer \ MyApp.exe -InstallerArguments "/ S"-destination C: \ Output \ MyApp -PackageName "MyApp" - Udgiver "CN =" -Version 0.0.0.1 -MakeAppx -Verbose
Du bliver nødt til at justere kommandoen for at tilføje dit eget udgivernavn, version, pakkenavn og pege på det i installationsfilen og den ønskede destinationskatalog. Det -InstallerArguments "/ S"
mulighed her passerer / S
skift til installationsprogrammet, hvilket gør det muligt for mange applikationsinstallatører at installere lydløst uden nogen brugerindgang. Applikationer skal kunne installeres uden brugerindgang, eller du kan ikke konvertere dem.
Applikationsinstallatøren skal være i sin egen mappe uden andre filer, da filerne i samme mappe som installationsprogrammet kopieres til den resulterende .appx-pakke.
For eksempel bruger vi VLC her, så her er kommandoen vi ville bruge:
.\ DesktopAppConverter.ps1 -ExpandedBaseImage C: \ ProgramData \ Microsoft \ Windows \ Images \ BaseImage-14316 -Installer C: \ Brugere \ 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
Værktøjet vil give dig en .appx-pakke, som er UWP-versionen af appen.
Sådan installeres appen uden at underskrive den
Du er normalt påkrævet tegn apps med en gyldig signatur, før de kan installeres. Microsoft anbefaler at oprette et selvsigneret certifikat og underskrive appen med det på din computer. Du kan gøre det ved at bruge instruktionerne nedenfor, hvis du vil.
Men hvis du bare vil installere appen på din egen computer, kan du gøre det selv hurtigere, uden at messe med nogen signaturer. Windows 10 giver dig mulighed for at installere apps uden at underskrive dem, hvis du installerer en "upakket" app fra en mappe.
For at gøre dette skal du åbne et PowerShell-vindue som administrator og køre følgende kommando:
Add-AppxPackage -Path C: \ Path \ til \ AppxManifest.xml -Register
Du finder AppxManifest.xml-filen ud for filen Application.appx i den udgående mappe, du har angivet.
Du kan nu starte programmet fra din startmenu. Det vil være en "Windows app" i stedet for en "Desktop app", men det vil ellers se og fungere som en normal desktop app.
Sådan logger og installerer du appen
Du behøver ikke at følge disse instruktioner, hvis du allerede har installeret programmet. Dette er den sværere måde.
Du kan normalt kun installere en .appx-pakke, hvis den har en gyldig signatur. Microsoft anbefaler at bruge programmet signtool.exe, der følger med Windows 10 SDK, til at oprette et selvsigneret certifikat, som giver dig mulighed for at installere og teste programmet på din egen computer.
Åbn bare et kommandopromptvindue som administrator og kør følgende kommandoer for at oprette et selvsigneret certifikat og underskrive .appx-pakken med det:
cd "C: \ Programmer (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 \ to \ application.appx
Bemærk, at udgiveren du angiver, det er den "CN = Publisher"
-skal matche udgiveren du angav tidligere, når du opretter AppX-filen. Så fortsætter vi med vores VLC eksempel ovenfra, vi skulle bruge "CN = VideoLAN"
.
Du bliver bedt om at indtaste et kodeord. Du kan bare forlade adgangskoden tomt.
Du kan nu installere .appx-pakken i et PowerShell-vindue (Administrator) med kommandoen Add-AppxPackage:
Add-AppxPackage C: \ Path \ til \ application.appx
Denne funktion kan bruges af alle, men kun udviklere - og måske nogle systemadministratorer - vil gerne gå denne rute. Heldigvis er processen ekstremt let for udviklere.