Skip to content

Jak przekonwertować aplikację Windows Desktop na uniwersalną aplikację Windows?

22 de lipiec de 2021
img 570af08e93b61

Dzięki rocznicowej aktualizacji systemu Windows 10 firma Microsoft umożliwia programistom konwersję tradycyjnych aplikacji komputerowych systemu Windows na aplikacje Universal Windows Platform (UWP). Ale każdy może to zrobić za pomocą dowolnej aplikacji – nie tylko programistów.

Za pomocą konwertera systemu Windows 10 po prostu daj mu plik .msi lub .exe, a wypluje pakiet .appx. Następnie możesz sideload tej aplikacji na własnym komputerze lub – jeśli jesteś programistą aplikacji – możesz przesłać powstałą aplikację UWP do Sklepu Windows. Ta funkcja będzie dostępna dla wszystkich wraz z rocznicową aktualizacją systemu Windows 10, która przyniesie wiele „starszych” aplikacji do Sklepu Windows.

Dlaczego chcesz to zrobić

Ta funkcja jest końcowym rezultatem projektu Microsoft Project Centennial, który ma na celu wprowadzenie tych „starszych” aplikacji desktopowych Win32 i .NET Windows do Sklepu Windows i nowej platformy uniwersalnej Windows.

Możesz się zastanawiać, dlaczego ktoś chciałby przekonwertować aplikację komputerową na nową aplikację UWP. Po pierwsze, w Sklepie Windows dozwolone są tylko aplikacje platformy UWP. Dzięki temu programiści mogą bardziej przyjrzeć się swoim aplikacjom, nie wspominając o instalacji jednym kliknięciem, łatwym zakupie i automatycznych aktualizacjach.

Nowa platforma aplikacji UWP firmy Microsoft jest piaskownica, ale aplikacje komputerowe, które konwertujesz, nie są. Te aplikacje będą miały pełny dostęp do twojego systemu, tak jak tradycyjna aplikacja desktopowa. Tak jak Dokumentacja Microsoft mówi: „Jako aplikacja UWP, Twoja aplikacja może robić rzeczy, które mogłaby zrobić jako klasyczna aplikacja komputerowa. Współdziała ze zwirtualizowanym widokiem rejestru i systemu plików, którego nie można odróżnić od rzeczywistego rejestru i systemu plików”.

Ograniczenia

Jest tu kilka ważnych ograniczeń. Po pierwsze, możesz to zrobić tylko w rocznicowej aktualizacji systemu Windows 10. Na razie będzie działać z kompilacją Windows 10 Insider Preview 14316 lub nowszą, więc musisz dołączyć do programu Windows Insider i użyć kompilacji Insider Preview systemu Windows 10.


Ta funkcja wymaga również wersji Professional lub Enterprise systemu Windows 10. Użytkownicy systemu Windows 10 Home nie będą mogli korzystać z programu Desktop App Converter. Od build14316 działał tylko w systemie Windows 10 Enterprise, ale nadchodzi obsługa systemu 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. Zmieni się to w przyszłych kompilacjach niejawnych testów 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, na których działają aplikacje UWP. Jeśli jednak jesteś programistą, firma Microsoft oferuje ścieżkę do przeniesienia aplikacji komputerowej do wieloplatformowej aplikacji UWP: „Jeśli zdecydujesz się przenieść wszystkie funkcje aplikacji z partycji w pełni zaufanej aplikacji i do aplikacji partycji kontenera, wtedy Twoja aplikacja będzie mogła działać na dowolnym urządzeniu z systemem Windows 10.

Jednak niektóre typy zachowania aplikacji nie są obsługiwane. Aplikacja nie może wymagać, aby była uruchamiana jako Administrator ani korzystać z innych typów niskopoziomowego dostępu do systemu. Microsoft udostępnia listę zachowania, które nie są dozwolone.

Jak skonfigurować konwerter aplikacji na komputer?

Zakładając, że używasz wystarczająco nowej kompilacji Windows 10 Insider Preview, możesz pobrać i zainstalowaćKonwerter aplikacji komputerowych z witryny deweloperów firmy Microsoft. Pobierz oba 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 kompilacja systemu Windows 10, powinieneś zobaczyć nowy plik BaseImage. Musisz użyć pliku BaseImage o tym samym numerze wersji, co zainstalowana kompilacja systemu Windows 10.)

Musisz także pobrać i zainstalować Zestaw SDK dla systemu Windows 10.

Jak przekonwertowac aplikacje Windows Desktop na uniwersalna aplikacje Windows


Następnie otwórz okno PowerShell jako Administrator. Aby to zrobić, otwórz menu Start, wyszukaj „PowerShell”, kliknij prawym przyciskiem myszy jego skrót i wybierz „Uruchom jako administrator”.

Zmień zasady wykonywania programu PowerShell, uruchamiając następujące polecenie. Zgódź się na zmianę, wpisując y potem.

Set-ExecutionPolicy bypass

Uruchom poniższe polecenie, zastępując C:UsersNAMEDownloadsDesktopAppConvertor ze ścieżką do katalogu na twoim komputerze:

cd -Path C:UsersNAMEDownloadsDesktopAppConvertor

Skonfiguruj konwerter aplikacji na komputer, uruchamiając następujące polecenie:

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

Jeśli zostaniesz poproszony o ponowne uruchomienie podczas uruchamiania któregokolwiek z tych poleceń, uruchom ponownie komputer, a następnie ponownie uruchom polecenie.

1626956421 557 Jak przekonwertowac aplikacje Windows Desktop na uniwersalna aplikacje Windows

Jak przekonwertować aplikację komputerową

Możesz teraz uruchomić DesktopAppConverter.ps1 skrypt z okna programu PowerShell administratora, aby przekonwertować aplikację komputerową na aplikację platformy UWP za pomocą jednego polecenia. Aby to zrobić, potrzebujesz instalatora aplikacji. 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:ProgramDataMicrosoftWindowsImagesBaseImage-14316
–Installer C:InstallerMyApp.exe -InstallerArguments „/S” -Destination C:OutputMyApp
-PackageName „MyApp” -Publisher „CN=<publisher_name>” -Version 0.0.0.1 -MakeAppx -Verbose

Musisz dostosować polecenie, aby dodać własną nazwę wydawcy, wersję, nazwę pakietu i wskazać preferowany plik instalacyjny i katalog docelowy. -InstallerArguments "/S" opcja tutaj przechodzi /S przełącz się na instalator, co sprawia, że ​​wiele instalatorów aplikacji instaluje się po cichu bez udziału użytkownika. Aplikacje muszą być instalowalne bez udziału użytkownika lub nie można ich przekonwertować.

Instalator aplikacji powinien znajdować się we własnym katalogu bez żadnych innych plików, ponieważ pliki z tego samego 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:ProgramDataMicrosoftWindowsImagesBaseImage-14316
–Installer C:UserschrisDownloadsvlcvlc-2.2.2-win32.exe-InstallerArguments „/S” -Destination C:OutputVLC
-PackageName „VLC” -Publisher „CN=VideoLAN” -Version 0.2.2.2-MakeAppx -Verbose

1626956422 646 Jak przekonwertowac aplikacje Windows Desktop na uniwersalna aplikacje Windows

Narzędzie udostępni pakiet .appx, który jest wersją UWP aplikacji.

1626956422 787 Jak przekonwertowac aplikacje Windows Desktop na uniwersalna aplikacje Windows

Jak zainstalować aplikację bez podpisywania?

Zwykle musisz podpisać aplikacje prawidłowym podpisem, zanim będą mogły zostać zainstalowane. Firma Microsoft zaleca utworzenie certyfikatu z podpisem własnym i podpisanie aplikacji za pomocą tego na komputerze. Możesz to zrobić, korzystając z poniższych instrukcji, jeśli chcesz.


Jeśli jednak chcesz po prostu zainstalować aplikację na własnym komputerze, możesz to zrobić szybciej, bez grzebania w podpisach. System Windows 10 umożliwia instalowanie aplikacji bez ich podpisywania, jeśli instalujesz „niepakowaną” aplikację z katalogu.

Aby to zrobić, otwórz okno PowerShell jako Administrator i uruchom następujące polecenie:

Add-AppxPackage -Path C:PathtoAppxManifest.xml -Register

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 komputery”, ale poza tym będzie wyglądać i działać jak normalna aplikacja komputerowa.

1626956422 202 Jak przekonwertowac aplikacje Windows Desktop na uniwersalna aplikacje Windows

Jak podpisać i zainstalować aplikację

Nie musisz wykonywać tych instrukcji, jeśli masz już zainstalowaną aplikację. To jest trudniejsza droga.


Zwykle możesz zainstalować pakiet .appx tylko wtedy, gdy ma prawidłowy podpis. Firma Microsoft zaleca użycie aplikacji signtool.exe dołączonej do zestawu SDK systemu Windows 10 w celu utworzenia certyfikatu z podpisem własnym, który umożliwi zainstalowanie i przetestowanie aplikacji na własnym komputerze.

Wystarczy otworzyć okno wiersza polecenia jako Administrator i uruchomić następujące polecenia, aby utworzyć certyfikat z podpisem własnym i podpisać nim pakiet .appx:

cd „C:Program Files (x86)Windows Kits10binx64”

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:Pathtoapplication.appx

Zwróć uwagę, że wydawca, którego określisz – to jest "CN=Publisher" – musi być zgodny z wydawcą określonym wcześniej podczas tworzenia pliku AppX. Tak więc, kontynuując nasz przykład VLC z góry, musielibyśmy użyć "CN=VideoLAN" .

Zostaniesz poproszony o podanie hasła. Możesz po prostu zostawić puste hasło.

1626956422 364 Jak przekonwertowac aplikacje Windows Desktop na uniwersalna aplikacje Windows

Możesz teraz zainstalować pakiet .appx w oknie PowerShell (Administrator) za pomocą polecenia Add-AppxPackage:

Add-AppxPackage C:Pathtoapplication.appx

Ta funkcja może być używana przez każdego, ale tylko programiści – i być może niektórzy administratorzy systemu – będą chcieli iść tą drogą. Na szczęście proces ten jest niezwykle łatwy dla programistów.

Czy ten post był pomocny?