Aktualizacja aplikacji UWP na raspbeery PI

0

Cześć :)

Mam następujący problem.Mam aplikację UWP którą wgrywam na Raspberry Pi 3 model B v1.2 . Do tej pory chcąc wgrać nową wersję robiłem deploy aplikacji z poziomu Visual Studio lub z poziomu konsoli developera która jednak jest również częścią całego Visual Studio. Ale przecież nie będę u klienta instalował całego pakietu VS żeby wgrać nową wersję. Kolejna opcja jaką testowałem to po zalogowaniu przez przeglądarkę na Raspberry jest taka opcja żeby zainstalować paczkę (aplikację) podając URI do zasobu np na własnym serwerze ale ta opcja nie działa bo twierdzi że ścieżka którą ja podałem nie zawiera zasobu, podczas gdy ja mam pewność że ten zasób tam jest.Podsumowując potrzebuję znaleźdź jakiś stabilny sposób na aktualizację aplikacji na Raspberry bez potrzeby instalowania całego pakietu Visual Studio. Czy ktoś z was miał podobny problem? Jeżeli tak to proszę o jakieś wskazówki.

2

Stwórz sobie obraz karty sd z już wgraną aplikacją a u klienta wgraj tylko nowy obraz na kartę.

0

Nie wiem czy jest taka możliwość żeby zrobić obraz samej aplikacji żeby ją potem wgrać na karte. Ale próbowałem czegoś takiego jak tworzenie paczek aplikacji poprzez Visual Studio tylko później kiedy już mam taką paczkę i ją umieszczę na zewnętrznym zasobie i zaloguję się przez przeglądarkę na Raspberry żeby zainstalować paczkę to dostaję taki błąd.

Failure reason: Appinstaller operation failed with error code 0x80190194. Detail: Not found (404). Failure text: Not found (404). (0x80190194)

Ale po wklejeniu tego samego linku do przeglądarki mogę pobrać ten zasób na dysk więc jestem pewny że on tam jest.

3

Nie wiem czy jest taka możliwość żeby zrobić obraz samej aplikacji żeby ją potem wgrać na karte

Z tego co zrozumiałem, @tomasz3dk nie chodzi o obraz aplikacji, ale całego systemu łącznie z Twoją aplikacją. A potem po prostu podmieniasz karty i bootujesz urządzneie z nową wersją apki.

0

Niestety taka możliwość nie wchodzi w grę, chciałbym tylko wgrywać nowe wersje aplikacji, bez ingerencji w system.
Chciałbym znaleźdź taki sposób żeby mieć możliwość zrobić to zdalnie bez fizycznego kontaktu z urządzeniem. Docelowo być może przygotowałbym skrypt powershell który na każdym urządzeniu pobrałby paczkę ze wskazanej lokalizacji i zaktualizowałby aplikację. Ale problemem jest to że ta opcja z panelu zarządzania raspberry nie chce działać..

1

A czy te RPi mają dostęp do netu/jakiegoś serwera?
Bo może lepszą opcją (aczkolwiek na początku wymagającą więcej pracy, za to zwróci się to w późniejszym okresie) jest zrobienie tego w postaci głównej (niezmiennej) apki, która jest tylko loaderem, a do tego dodanie jakichś modułów, które loader będzie miał możliwość aktualizacji przez sieć. W przypadku chęci aktualizacji, dajesz polecenie loaderowi pobrania nowych paczek, on je ściąga, a następnie odpala już zaktualizowane wersje.

0

RPi mają dostęp do sieci która ma połączenie z internetem i tymbardziej mnie dziwi to że on się nie chce połączyć z tym zasobem..

1

No ale to raczej nie jest problem RPi, tylko może jakieś kwestie sieciowe - brak DNS, coś przycięte na firewallu, niezgodne adresy IP itp. i od tego bym zaczął diagnozę. Czy jesteś pewien, że aplikacja/RPi ma dostęp do tych zasobów?

0

Pomysł z napisaniem małej aplikacji odpowiedzialnej tylko za update aplikacji jest ok bo przynajmniej będę miał pełną kontrolę nad całym procesem. Ale zanim zacznę to sprawdzę jeszcze kwestie sieciowe bo może to tu jest jakiś problem. A co do pewności czy RPi ma dostęp do internetu to opieram tę pewność na tym że instalują się automatyczne aktualizacji dla windows 10 IoT więc z Windows Update. Ale czy to mi daje pewność?.. Spróbuję jeszcze sprawdzić ustawienia sieci na RPi..

2

Sprobuj spingowac wgl twoje serwer z wersja aplikacji, bo mozliwe ze raspberry ma podlaczenie do neta ale nie ma bezposrednio dostepu do ciebie

0

Co do aktualizacji OTA, to jest fajny dokument: https://docs.microsoft.com/en-us/windows-hardware/service/iot/updating-iot-core-apps i przykłady, jak to zrobić - ogólnie najłatwiej przez wrzucenie do Microsoft Store, jest przykład do tego.

Co do tej instalacji z sieci to aż spróbuję sprawdzić, jak będę miał czas - jaką masz tam wersję Windows 10 IoT, najnowszą?

0

System zainstalowany na Raspbery to Windows 10 IoT 17763.
@Ktos Jeżeli chodzi o Microsoft Store to wykluczam tę opcję bo nie chcę sie uzależniać od sklepu MS bo może się zdarzyć tak że MS zrobi jakąś zmianę i np sklep nie będzie wspierał wersji systemu zainstalowanej na raspberry. Chciałbym mieć jak najwięcej kontroli nad procesem aktualizacji, dlatego chciałbym rozszyfrować dlaczego te aktualizacje paczek z sieci nie działają..

2

Problem rozwiązany :)
Przyczyną nie działania aktualizacji przez sieć były dwie rzeczy. Po pierwsze miałem źle skonfigurowane serwery DNS na Raspberry.
Drugą przyczyną było to że podczas tworzenia paczki z poziomu kreatora paczek Visual Studio podawałem zły adres internetowy gdzie mają znajdować się aktualizacje. Podawałem cały adres razem z plikiem z rozszerzeniem .appinstaller a trzeba podać tylko katalog gdzie znajdują się wszystkie pliki aplikacji, a dopiero później kiedy jesteśmy zalogowani na Raspberry trzeba podać ścieżkę razem z plikiem kiedy już chcemy zainstalować aplikację.

Dziękuję wszystkim użytkownikom za zainteresowanie tematem i pomoc :)

3

miałem źle skonfigurowane serwery DNS na Raspberry

Pozwolę sobie tylko zacytować fragment mojego posta kilka pięter wyżej: może jakieś kwestie sieciowe - brak DNS.
No i kto jest miszczem? :D :D :D

0

Możesz zrobić tutorial ze zdjęciami? Ułatwi to prace przyszłym pokoleniom.

1 użytkowników online, w tym zalogowanych: 0, gości: 1