Jak przekonwertować aplikację pulpitu systemu Windows do uniwersalnej aplikacji systemu Windows
Wraz z aktualizacją rocznicową Windows 10, Microsoft umożliwia programistom konwersję tradycyjnych aplikacji Windows na aplikacje Windows Universal Platform (UWP). Ale każdy może to zrobić za pomocą dowolnej aplikacji - nie tylko programistów.
W konwerterze Windows 10 wystarczy podać plik .msi lub .exe i wypluje pakiet .appx. Możesz następnie usunąć tę aplikację ze swojego komputera lub - jeśli jesteś programistą aplikacji - możesz przesłać wynikową aplikację UWP do Sklepu Windows. Ta funkcja będzie dostępna dla wszystkich użytkowników, którzy otrzymają rocznicową aktualizację systemu Windows 10, wprowadzając wiele "starszych" aplikacji do Sklepu Windows.
Dlaczego chcesz to zrobić
Ta funkcja jest końcowym efektem Project Centennial firmy Microsoft, który ma na celu przeniesienie tych "starszych" aplikacji systemu Windows na komputery z systemem Win32 i .NET do sklepu Windows Store i nowej platformy Universal Windows.
Można się zastanawiać, dlaczego ktokolwiek chciałby przekonwertować aplikację na komputer do nowej aplikacji UWP. Po pierwsze, tylko aplikacje UWP są dozwolone w Sklepie Windows. Dzięki temu programiści mogą uzyskać znacznie więcej informacji o swoich aplikacjach, nie wspominając o instalacji jednym kliknięciem, łatwym zakupie i automatycznych aktualizacjach.
Nowa platforma aplikacji UWP firmy Microsoft jest piaskownica, ale aplikacje na komputery stacjonarne, które konwertujesz, nie są. Aplikacje te będą miały pełny dostęp do systemu, podobnie jak tradycyjna aplikacja komputerowa. Dokumentacja Microsoftu mówi: "Jako aplikacja UWP Twoja aplikacja może robić rzeczy, które może wykonywać jako klasyczna aplikacja komputerowa. Współdziała ze zwirtualizowanym widokiem rejestru i systemu plików, który jest nie do odróżnienia od rzeczywistego rejestru i systemu plików. "
Ograniczenia
Istnieją tu pewne ważne ograniczenia. Po pierwsze, możesz to zrobić tylko w aktualizacji rocznicy systemu Windows 10. Na razie będzie działać z systemem Windows 10 Insider Preview w wersji 14316 i nowszych, więc musisz dołączyć do programu Windows Insider i użyć wersji podglądu programu Insider w systemie Windows 10.
Ta funkcja wymaga również wersji Professional lub Enterprise systemu Windows 10. Użytkownicy systemu Windows 10 Home nie będą mogli używać konwertera aplikacji. Począwszy od wersji 14316, działało tylko na Windows 10 Enterprise, ale nadchodzi wsparcie dla Windows 10 Professional. Obecnie tego narzędzia można używać tylko w 64-bitowych wersjach systemu Windows, a powstały pakiet AppX można zainstalować tylko w 64-bitowych wersjach systemu Windows. To się zmieni w przyszłych wersjach Insidera systemu Windows 10.
Powstałe aplikacje są przeznaczone dla komputerów z systemem Windows 10. Nie będą działać na smartfonach z systemem Windows 10 Mobile, Xbox One, HoloLens, Surface Hub i innych platformach Windows 10, które uruchamiają aplikacje UWP. Jeśli jednak jesteś programistą, Microsoft oferuje ścieżkę do uzyskania aplikacji komputerowej do wieloplatformowej aplikacji UWP: "Jeśli zdecydujesz się przenieść całą funkcjonalność swojej aplikacji z partycji pełnego zaufania aplikacji i do partycji kontenera aplikacji, wtedy Twoja aplikacja będzie mogła działać na każdym urządzeniu z systemem Windows 10 ".
Jednak niektóre typy zachowań aplikacji nie są obsługiwane. Aplikacja nie może wymagać, aby była uruchamiana jako Administrator lub korzysta z innych typów dostępu do systemu niskiego poziomu. Microsoft dostarcza listę zachowań, które nie są dozwolone.
Jak skonfigurować konwerter aplikacji komputerowej
Zakładając, że korzystasz z wystarczająco rozbudowanej wersji Windows Insider Preview, możesz pobrać i zainstalować konwerter aplikacji komputerowych z witryny Microsoft Developer. Pobierz pliki DesktopAppConverter.zip i BaseImage-14316.wim. Wyodrębnij pobrany plik DesktopAppConverter.zip do folderu na komputerze i umieść plik BaseImage w tym samym katalogu. (Jeśli dostępna jest nowa wersja systemu Windows 10, powinieneś zobaczyć nowy plik BaseImage. Musisz użyć pliku BaseImage z tym samym numerem wersji co wersja zainstalowanego systemu Windows 10.)
Będziesz także musiał pobrać i zainstalować zestaw SDK systemu Windows 10.
Następnie otwórz okno PowerShell jako Administrator. Aby to zrobić, otwórz menu Start, wyszukaj "PowerShell", kliknij skrót prawym przyciskiem myszy i wybierz "Uruchom jako administrator".
Zmień zasady wykonywania PowerShell, uruchamiając następujące polecenie. Zgódź się na zmianę, pisząc y
potem.
Obejście Ustaw-WykonaniePolicy
Uruchom poniższe polecenie, zastępując C: \ Users \ NAME \ Downloads \ DesktopAppConvertor
ze ścieżką do katalogu na twoim komputerze:
cd -Path C: \ Users \ NAME \ Downloads \ DesktopAppConvertor
Skonfiguruj Konwerter aplikacji komputerowej, uruchamiając następujące polecenie:
.\ DesktopAppConverter.ps1 -Setup -BaseImage. \ BaseImage-14316.wim
Jeśli pojawi się prośba o ponowne uruchomienie komputera podczas wykonywania tych poleceń, uruchom ponownie komputer, a następnie uruchom ponownie komendę.
Jak konwertować aplikację pulpitu
Możesz teraz uruchomić DesktopAppConverter.ps1
skrypt z okna Administrator PowerShell do konwersji aplikacji komputerowej do aplikacji UWP za pomocą jednego polecenia. Będziesz potrzebował instalatora aplikacji, aby to zrobić. Jako przykład użyjemy tutaj VLC.
Aby wyświetlić szczegółową listę opcji, możesz w dowolnym momencie uruchomić następujące polecenie:
get-help. \ DesktopAppConverter.ps1 -detailed
Oto polecenie, którego możesz użyć i dostosować do swojej aplikacji:
.\ DesktopAppConverter.ps1 -ExpandedBaseImage C: \ ProgramData \ Microsoft \ Windows \ Obrazy \ BaseImage-14316 -Installer C: \ Installer \ MyApp.exe -InstallerArguments "/ S" -Destination C: \ Output \ MyApp -PackageName "MyApp" - Wydawca "CN =" -wersja 0.0.0.1 -MakeAppx -Verbose
Musisz dostosować polecenie, aby dodać własną nazwę wydawcy, wersję, nazwę pakietu i wskazać go w preferowanym pliku instalatora i docelowym. The -InstallerArguments "/ S"
opcja tutaj przekazuje / S
przełącz się na instalator, który sprawia, że wiele instalatorów aplikacji instaluje się po cichu bez żadnego wkładu użytkownika. Aplikacje muszą być instalowane bez udziału użytkownika lub nie można ich konwertować.
Instalator aplikacji powinien znajdować się w swoim własnym katalogu bez żadnych innych plików, ponieważ pliki w tym samym katalogu, co instalator, zostaną skopiowane do wynikowego pakietu .appx.
Na przykład używamy tutaj VLC, więc oto polecenie, którego użyjemy:
.\ 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" -Wersja 0.2.2.2 -MakeAppx -Verbose
Narzędzie dostarczy pakiet .appx, który jest wersją aplikacji UWP.
Jak zainstalować aplikację bez jej podpisywania
Zazwyczaj wymagane są aplikacje podpisów z poprawnym podpisem przed ich zainstalowaniem. Microsoft zaleca utworzenie samopodpisanego certyfikatu i podpisanie aplikacji na komputerze. Możesz to zrobić, korzystając z poniższych instrukcji, jeśli chcesz.
Jeśli jednak chcesz zainstalować aplikację na swoim komputerze, możesz to zrobić szybciej, bez naruszania jakichkolwiek sygnatur. System Windows 10 pozwala instalować aplikacje bez podpisywania ich, jeśli instalujesz aplikację "bez opakowania" z katalogu.
Aby to zrobić, otwórz okno PowerShell jako Administrator i uruchom następujące polecenie:
Add-AppxPackage -Path C: \ Path \ to \ AppxManifest.xml -Zarejestruj
Plik AppxManifest.xml znajduje się obok pliku Application.appx w określonym katalogu wyjściowym.
Możesz teraz uruchomić aplikację z menu Start. Będzie to "aplikacja Windows" zamiast "aplikacji na komputer", ale w przeciwnym razie będzie wyglądać i działać jak normalna aplikacja komputerowa.
Jak podpisać i zainstalować aplikację
Nie musisz wykonywać tych instrukcji, jeśli już zainstalowałeś aplikację. To jest trudniejsza droga.
Zwykle można zainstalować pakiet .appx, jeśli ma on prawidłowy podpis. Firma Microsoft zaleca użycie aplikacji signtool.exe zawartej w zestawie SDK systemu Windows 10 w celu utworzenia samopodpisanego certyfikatu, który umożliwi zainstalowanie i przetestowanie aplikacji na własnym komputerze.
Po prostu otwórz okno wiersza polecenia jako Administrator i uruchom następujące polecenia, aby utworzyć samopodpisany certyfikat i podpisać pakiet .appx:
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
Pamiętaj, że wydawca, który określisz - to jest "CN = Wydawca"
-musi pasować do wydawcy określonego wcześniej podczas tworzenia pliku AppX. Kontynuując powyższy przykład VLC, musielibyśmy użyć "CN = VideoLAN"
.
Zostaniesz poproszony o podanie hasła. Możesz po prostu zostawić puste hasło.
Możesz teraz zainstalować pakiet .appx w oknie PowerShell (Administrator) za pomocą polecenia Add-AppxPackage:
Add-AppxPackage C: \ Path \ to \ application.appx
Z tej funkcji może korzystać każdy, ale tylko programiści - i może niektórzy administratorzy systemu - będą chcieli pójść tą drogą. Na szczęście proces ten jest niezwykle łatwy dla programistów.