Projekt: Aplikacja UWP (C#) - Jak skompilować aplikację UWP i uruchomić ją na innym komputerze
Witajcie!
Doszedłem do wniosku, że przed kontynowaniem rozwoju aplikacji z tego poradnika powinienem powiedzieć, jak taką aplikację skompilować i wydać, aby mogli skorzystać z niej inni. W przypadku aplikacji UWP jest to nieco trudniejsze niż po prostu kompilacja pliku .exe.
Z poziomu Visual Studio aplikację UWP można skompilować do pakietu albo opublikować w Microsoft Store. Druga opcja jest jednak bardziej skomplikowanym procesem wymagającym konta dewelopera, opiszę więc go w innym artykule w przyszłości. Kompilacja do pakietu wystarcza, aby opublikować aplikację poza Microsoft Store czy podzielić się nią ze znajomymi.
Jak to zrobić?:
W Eksploratorze Rozwiązań klikamy na naszą aplikację (jako całość) prawym przyciskiem myszy. Następnie wybieramy Publikuj -> Utwórz pakiety aplikacji:
Następnie otworzy się nowe okno tworzenia pakietów.
Na pierwszym ekranie musimy wybrać metodę dystrybucji. Wybierzmy Pobieranie lokalne. Możemy też wyłączyć automatyczne aktualizacje. Następnie klikamy "dalej":
Na następnym ekranie musimy wybrać certyfikat. Bez niego instalacja naszej aplikacji nie będzie możliwa. Wybieramy więc "Tak, wybierz certyfikat":
Jeżeli nie mamy żadnego (zaufanego) certyfikatu (w pliku czy chmurze Azure) musimy utworzyć tzw. certyfikat testowy, który jest ważny przez rok. Wybieramy wtedy opcję "Utwórz". Pojawi się ekran, na którym wpisujemy swoją nazwę i jakieś hasło dla certyfikatu:
Po podaniu tych danych i potwierdzeniu wszystkiego certyfikat zostanie dodany. Będziemy mogli z niego korzystać przy tworzeniu pakietu dla tej aplikacji. Okienko kreatora powinno wyglądać mniej-więcej tak:
Zostawiamy SHA256 w polu Algorytm Szyfrowania. Nie musimy też podawać adresu URL serwera sygnatury czasowej.
Klikamy "Dalej" w prawym dolnym rogu. Ukaże nam się taki ekran:
W pierwszym polu od góry możemy wybrać lokalizację wyjściową. Ja pozostawię domyślną.
Poniżej możemy wpisać wersję aplikacji. Jeżeli zostawimy włączoną opcję "automatycznie zwiększ", Visual Studio będzie sam zwiększał ostatnie dwa numery wersji aplikacji z każdą kolejną kompilacją do pakietu.
W "Generuj pakiet aplikacji" (zielona strzałka) wybierzmy opcję "Zawsze".
Poniżej możemy ustawić dla jakich architektur procesora tworzymy pakiet. Polecam zostawić tylko pierwsze trzy opcje - x86, x64 i ARM. Większość komputerów korzysta z architektury x86 lub x86-64 (procesory Intel, AMD), przy czym współcześnie większość jest 64-bitowa. Dlatego wybieramy pierwsze dwie opcje. ARM jest architekturą procesora wykorzystywaną przez urządzenia mobilne i IOT (np. telefony, tablety, Raspberry Pi, urządzenia z systemem Windows 10/11 ARM). Nie musimy wybierać tej opcji, ale możemy to zrobić aby zwiększyć kompatybilność.
Po prawej stronie tabeli wybieramy konfigurację wdrożenia. Do wyboru mamy Release i Debug. Polecam jednak wybrać Release, gdyż Debug jest do testowania dla deweloperów. Wybranie opcji Debug także zwiększyłoby rozmiar wygenerowanego pakietu.
Ostatnia opcja "Dołącz publiczne pliki symbol (...)" nie jest konieczna (chyba że w Debugowaniu), ja jej nie zaznaczam choć Ty możesz to zrobić.
Po wybraniu wszystkich tych opcji klikamy "Utwórz" w prawym dolnym rogu. Okno kreatora się zamknie i Visual Studio zacznie kompilację. Może to potrwać wiele minut, na słabszych komputerach i przy bardzo złożonych programach nawet godzin. Nie zamykaj Visual Studio ani nie wyłączaj komputera do zakończenia procesu.
Kiedy proces się zakończy, ukaże się wyskakujące okienko z informacją i odnośnikiem do lokalizacji na dysku:
W lokalizacji tej powstał folder, a w nim pliki wykorzystywane w procesie ewentualnej instalacji:
Ten (nadrzędny) folder (w tym przypadku "AplikacjaUWP1_1.0.0.0_Test") możemy umieścić np. w pliku ZIP i opublikować wraz z instrukcją instalacji, którą ja napisałem w tym poście poniżej.
Jak zainstalować tak skompilowaną aplikację UWP na komputerze z systemem Windows 10 lub 11?:
Jeżeli użyliśmy zaufanego certyfikatu, powinien wystarczyć plik pakietu (.msixbundle). W tym przypadku nie zadziała on jednak przez brak zaufanego certyfikatu. Poniżej efekt próby uruchomienia tego pliku:
Jak widać pakiet ten nie działa, ponieważ użyliśmy tzw. certyfikatu testowego.
Jak więc zainstalować aplikację UWP podpisaną certyfikatem testowym?:
1. Musimy być na koncie administratora. Włączamy tryb dewelopera w ustawieniach, przynajmniej na czas procesu instalacji.
2. Uruchamiamy plik "Add-AppDevPackage.ps1" w Windows PowerShell. Klikamy na niego prawym przyciskiem myszy i wybieramy "Run in PowerShell". Uwaga: folder aplikacji musi być rozpakowany, nie uruchamiaj tego pliku np. w archiwum ZIP.
3. Uruchomi się PowerShell. Postępujemy zgodnie z instrukcjami. Dajemy mu uprawnienia administratora i w drugiej instancji terminala, która się otworzy potwierdzamy instalację certyfikatu:
Po potwierdzeniu tego wszystkiego, certyfikat i aplikacja zostaną zainstalowane. Można znaleźć aplikację w menu Start i zacząć z niej korzystać.
To wszystko w tym artykule. W przypadku problemów lub pytań proszę pisać w komentarzach. Dziękuję.
- Wojtekb30
(18.12.2022)
Komentarze
Prześlij komentarz