1Sep

Sådan konverteres en Windows Desktop App til en Universal Windows App

click fraud protection

Med Windows 10 års jubilæumsopdatering gør Microsoft det muligt for udviklere at konvertere traditionelle Windows desktop applikationer til Universal Windows Platform( UWP) applikationer. Men alle kan gøre det med enhver app - ikke bare udviklere.

Med Windows 10-konverter, 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 slutresultatet af Microsofts Project Centennial, der er designet til at bringe disse "arven" Win32 og. NET Windows desktop applikationer til Windows Store og den nye Universal Windows Platform.

Du kan måske undre dig over, hvorfor nogen ønsker at 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.

instagram viewer

Microsofts nye applikationsplatform er også sandboxet, så der er en sikkerhedsfordel til at konvertere gamle apps til UWP apps. Konverteringsværktøjet vil analysere din desktop app's adfærd og oprette en sandkasse bare for det, hvilket giver det kun de tilladelser, det skal køre korrekt. Hvis applikationen er kompromitteret, vil den ikke kunne bryde ud af den begrænsede sandkasse og rod med resten af ​​systemet. Applikationer vil installere og afinstallere rent uden at lade junk ligge rundt på filsystemet og i registreringsdatabasen.

De resulterende applikationer er stadig stærke, på trods af sandkassen. Disse applikationer kan bruge UWP-funktioner, men bør være lige så kraftfulde som en traditionel desktop-applikation. Som Microsoft's 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 med Windows 10 Insider Preview build 14316 og højere, så du skal være med i Windows Insider-programmet og bruge en Insider Preview-bygning i Windows 10.

Denne funktion kræver også enten Professional eller Enterprise udgaver afWindows 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 fremtiden Insider builds 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, tilbyder Microsoft en vej til at få dit desktopprogram til en UWP-applikation på tværs af platformen: "Hvis du vælger at flytte al din apps funktionalitet ud af appen i fuld tillid til appen og ind iapp 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 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å downloadeog installer Windows 10 SDK.

Åbn derefter et PowerShell-vindue som administrator.Åbn Start-menuen, søg efter "PowerShell", højreklik på genvejen og vælg "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 og erstatt C: \ Users \ NAME \ Downloads \ DesktopAppConvertor med stien til biblioteket på din computer:

cd -Path C: \ Users \ NAME \ Downloads \ DesktopAppConvertor

Opsæt denDesktop App Converter ved at køre følgende kommando:

. \ DesktopAppConverter.ps1 -Setup-BaseImage. \ BaseImage-14316.wim

Hvis du bliver bedt om at genstarte, mens du kører nogen af ​​disse kommandoer, skal du genstarte din computer og derefter køre kommandoen igen.

Sådan konverteres et skrivebordsprogram

Du kan nu køre skrifttypen DesktopAppConverter.ps1 fra et Administrator PowerShell-vindue for 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 applikation:

. \ DesktopAppConverter.ps1 -ExpandedBaseImage C: \ ProgramData \ Microsoft \ Windows \ Billeder \ BaseImage-14316 -Installer C: \ Installer \ MyApp.exe -InstallerArguments "/ S" -Destination C: \ Output \ MyApp -PackageName "MyApp" -Publisher "CN = & lt; PUBLISHER_NAME & gt;"-Version 0.0.0.1 -MakeAppx -Verbose

Du skal justere kommandoen for at tilføje dit eget udgivernavn, -version, -pakkenavn og pege det på installationsfilen og den ønskede destinationskatalog. Alternativet -InstallerArguments "/ S" her overfører / S-kontakten 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.

Programmets installationsprogram skal være i sin egen mappe uden andre filer, da filerne i samme mappe som installationsprogrammet kopieres til den resulterende. appx-pakke.

Vi bruger for eksempel VLC her, så her er kommandoen vi ville bruge:

. \ 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

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 selv gøre det hurtigere uden at røre med nogen signaturer. Windows 10 giver dig mulighed for at installere apps uden at underskrive dem, hvis du installerer en "uemballeret" app fra en mappe.

Åbn et PowerShell-vindue som administrator, og kør følgende kommando:

Add-AppxPackage -Path C: \ Path \ til \ AppxManifest.xml -Register

Du finder AppxManifest.xml-filen ved siden af ​​programmet. Appx-fil i den output-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 kun 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 -svmy.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 \ til \ application.appx

Noteat udgiveren du angiver - det er "CN = Publisher" -musten, der passer til den udgiver, du tidligere har angivet, når du opretter AppX-filen. Så ved at fortsætte med vores VLC eksempel ovenfra skal vi 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 \ to \ 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, forudsat at deres applikationer ikke kræver nogen funktionalitet, der ikke understøttes af UWP-sandkassen.