Slik konverterer du en Windows Desktop App til en Universal Windows App
Med Windows 10-jubileumsoppdatering gjør Microsoft det mulig for utviklere å konvertere tradisjonelle Windows-desktopprogrammer til Universal Windows Platform (UWP) -programmer. Men hvem som helst kan gjøre dette med noen app-ikke bare utviklere.
Med Windows 10-omformer, bare gi den en .msi eller .exe-fil, og det vil spytte ut en .appx-pakke. Du kan deretter sideload denne appen på din egen PC, eller hvis du er programmets utvikler, kan du sende den resulterende UWP-appen til Windows Store. Denne funksjonen kommer for alle med Windows 10s jubileumsoppdatering, og bringer mange "eldre" applikasjoner til Windows Store.
Hvorfor vil du ønske å gjøre dette
Denne funksjonen er sluttresultatet til Microsofts Project Centennial, som er designet for å bringe de "eldre" Win32- og .NET Windows-skrivebordsprogrammene til Windows Store og den nye Universal Windows Platform.
Du lurer kanskje på hvorfor noen ønsker å konvertere et stasjonært program til en ny UWP-app. For en ting er bare UWP-apper tillatt i Windows Store. Dette gjør det mulig for utviklere å få mye flere øyne på sine apps, for ikke å nevne enkeltklikkinstallasjon, enkel innkjøp og automatiske oppdateringer.
Microsofts nye UWP-applikasjonsplattform er sandkassert, men skrivebordsprogrammer du konverterer, er ikke. Disse programmene har full tilgang til systemet ditt, akkurat som et tradisjonelt skrivebordsprogram. Som Microsofts dokumentasjon sier: "Som en UWP-app kan appen gjøre de tingene det kan gjøre som en klassisk desktop app. Det samhandler med en virtualisert visning av registret og filsystemet som ikke kan skiller seg fra selve registret og filsystemet. "
Begrensningene
Det er noen viktige begrensninger her. For det første kan du bare gjøre dette på Windows 10 Anniversary Update. For tiden vil det fungere med Windows 10 Insider Preview-bygge 14316 og høyere, så du må være med i Windows Insider-programmet og bruke en Innsideforhåndsvisning av Windows 10.
Denne funksjonen krever også enten profesjonelle eller Enterprise-utgaver av Windows 10. Windows 10-hjemmebrukere kan ikke bruke Desktop App Converter. Som i bygg 14316 fungerte den bare på Windows 10 Enterprise, men støtte for Windows 10 Professional kommer. For øyeblikket kan dette verktøyet bare brukes på 64-biters versjoner av Windows, og den resulterende AppX-pakken kan bare installeres på 64-biters versjoner av Windows. Dette vil endres i fremtidige Insider-bygg i Windows 10.
De resulterende programmene er beregnet på Windows 10 PCer. De vil ikke fungere på Windows 10 Mobile-smarttelefoner, Xbox One, HoloLens, Surface Hub og de andre Windows 10-plattformene som kjører UWP-apper. Men hvis du er en utvikler, tilbyr Microsoft en vei for å få skrivebordet ditt til et UWP-program på tverrplattform: "Hvis du velger å flytte all appens funksjonalitet ut av full-trust-partisjonen til appen og inn i app-containerpartisjon, vil appen din kunne kjøre på en hvilken som helst Windows 10-enhet. "
Noen typer applikasjonsadferd er imidlertid ikke støttet. En applikasjon kan ikke kreve at den kjøres som administrator eller bruke andre typer lavt nivå systemtilgang. Microsoft gir en liste over atferd som ikke er tillatt.
Slik setter du opp Desktop App Converter
Forutsatt at du bruker en ny nok bygg i Windows 10 Insider Preview, kan du laste ned og installere Desktop App Converter fra Microsofts Developer-nettsted. Last ned både DesktopAppConverter.zip og BaseImage-14316.wim-filer. Trekk ut den nedlastede DesktopAppConverter.zip-filen til en mappe på datamaskinen din og legg BaseImage-filen i samme katalog. (Hvis det er en ny versjon av Windows 10 tilgjengelig, bør du se en ny BaseImage-fil. Du må bruke BaseImage-filen med det samme versjonsnummeret som din installerte versjon av Windows 10.)
Du må også laste ned og installere Windows 10 SDK.
Deretter åpner du et PowerShell-vindu som administrator. For å gjøre dette, åpne Start-menyen, søk etter "PowerShell", høyreklikk snarveien og velg "Kjør som administrator".
Endre PowerShells eksekveringspolicy ved å kjøre følgende kommando. Enig med endringen ved å skrive y
etterpå.
Set-ExecutionPolicy bypass
Kjør kommandoen nedenfor, erstatt C: \ Users \ NAVN \ Downloads \ DesktopAppConvertor
med banen til katalogen på datamaskinen din:
cd-path C: \ Users \ NAME \ Downloads \ DesktopAppConvertor
Konfigurer Desktop App Converter ved å kjøre følgende kommando:
.\ DesktopAppConverter.ps1 -Setup -BaseImage. \ BaseImage-14316.wim
Hvis du blir bedt om å starte om igjen mens du kjører noen av disse kommandoene, starter du datamaskinen på nytt og kjører deretter kommandoen igjen.
Slik konverterer du en stasjonær applikasjon
Du kan nå kjøre DesktopAppConverter.ps1
Skript fra et Administrator PowerShell-vindu for å konvertere et skrivebordsprogram til et UWP-program i en enkelt kommando. Du må trenge programmets installasjonsprogram for å gjøre dette. Som et eksempel, bruker vi VLC her.
Hvis du vil vise den detaljerte listen over alternativer, kan du når som helst kjøre følgende kommando:
få-hjelp. \ DesktopAppConverter.ps1 -detaljert
Her er en kommando du kan bruke og justere for søknaden din:
.\ DesktopAppConverter.ps1-ExpandedBaseImage C: \ ProgramData \ Microsoft \ Windows \ Bilder \ BaseImage-14316 -Installer C: \ Installer \ MyApp.exe -InstallerArguments "/ S" -Destination C: \ Output \ MyApp -PackageName "MyApp" - Utgiver "CN =" -Version 0.0.0.1 -MakeAppx -Verbose
Du må justere kommandoen for å legge til ditt eget utgivernavn, versjon, pakkenavn og pek på det på installasjonsfilen og destinasjonsmappen du foretrekker. De -InstallerArguments "/ S"
alternativet her passerer / S
bytt til installasjonsprogrammet, noe som gjør at mange installasjonsprogrammer installeres stille uten noen brukerinngang. Programmene må være installerbare uten noen brukerinngang, eller du kan ikke konvertere dem.
Programmets installasjonsprogram bør være i sin egen katalog uten andre filer, da filene i samme katalog som installasjonsprogrammet vil bli kopiert til den resulterende .appx-pakken.
For eksempel bruker vi VLC her, så her er kommandoen vi vil bruke:
.\ DesktopAppConverter.ps1 -ExpandedBaseImage C: \ ProgramData \ Microsoft \ Windows \ Bilder \ BaseImage-14316 -Installer C: \ Brukere \ chris \ Nedlastinger \ 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
Verktøyet vil gi deg en .appx-pakke, som er UWP-versjonen av appen.
Slik installerer du appen uten å signere den
Du er normalt pålogget apps med gyldig signatur før de kan installeres. Microsoft anbefaler å opprette et selvsignert sertifikat og signere appen med det på datamaskinen. Du kan gjøre det ved å bruke instruksjonene nedenfor, hvis du vil.
Men hvis du bare vil installere appen på din egen datamaskin, kan du gjøre dette selv raskere, uten å rote med noen signaturer. Windows 10 lar deg installere apper uten å signere dem hvis du installerer en "pakket ut" app fra en katalog.
For å gjøre dette, åpne et PowerShell-vindu som administrator, og kjør følgende kommando:
Add-AppxPackage -Path C: \ Path \ til \ AppxManifest.xml -Register
Du finner filen AppxManifest.xml ved siden av filen Application.appx i utdatakatalogen du angav.
Du kan nå starte programmet fra Start-menyen. Det vil være en "Windows app" i stedet for en "Desktop app", men det vil ellers se og fungere som en vanlig desktop app.
Slik signerer og installerer du appen
Du trenger ikke å følge disse instruksjonene hvis du allerede har installert programmet. Dette er vanskeligere.
Du kan normalt bare installere en .appx-pakke hvis den har en gyldig signatur. Microsoft anbefaler at du bruker programmet signtool.exe som følger med Windows 10 SDK, for å lage et selvsignert sertifikat, som lar deg installere og teste programmet på din egen datamaskin.
Bare åpne et kommandopromptvindu som administrator og kjør følgende kommandoer for å opprette et selvsignert sertifikat og signere .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
Legg merke til at utgiveren du angir, det er den "CN = Publisher"
-må samsvare med utgiveren du angav tidligere når du oppretter AppX-filen. Så, fortsetter med vårt VLC eksempel ovenfra, må vi bruke "CN = VideoLAN"
.
Du blir bedt om å skrive inn et passord. Du kan bare legge passordet tomt.
Du kan nå installere .appx-pakken i et PowerShell-vindu (Administrator) med kommandoen Add-AppxPackage:
Add-AppxPackage C: \ Path \ to \ application.appx
Denne funksjonen kan brukes av alle, men bare utviklere - og kanskje noen systemadministratorer - vil ønske å gå denne ruten. Heldigvis er prosessen ekstremt lett for utviklere.