Nie udało się uruchomić pakietu Windows10 IoT

11

Mam aplikację bezgłową opracowaną w języku C # dla Raspberry Pi 2 B.

Mogę dobrze debugować aplikację w studiu wizualnym. Mam kabel Ethernet podłączony bezpośrednio między stacją roboczą a płytką. Kiedy nawiguję w przeglądarce do: minwinpc:8080/AppXManager.htmNa liście zainstalowanych aplikacji widzę program, który chcę. Próbowałem go usunąć, odbudować / ponownie wdrożyć w VS, a aplikacja wychodzi i wraca z listy; dlatego wiem, że jest to bieżąca wersja.

Problem polega na tym, że nie mogę go uruchomić do „Start” z internetowego interfejsu GUI. Wybieram moją aplikację, a następnie pojawia się następujący błąd:

Failed to start package BlinkyHeadlessCS-uwp_q8jk9dv1tcdg!App

Jak ustawić program blink, aby uruchamiał się z internetowego interfejsu użytkownika, a następnie, jak mogę uruchomić go automatycznie po uruchomieniu?

fifamaniac04
źródło
Musi to być wyjątek zgłoszony na początku aplikacji. Niestety, MS jest z tego dobrze znany, zwłaszcza jeśli chodzi o wszystkie nowe technologie, które stworzyli, zwolnili część kontroli błędów. Może zdalne debugowanie, a nie budowanie debugowania, może pomóc. Teraz konfiguruję Internet Rzeczy i mam zamiar coś zrobić. Jeśli chcesz udostępnić swój kod, mogę spróbować pomóc, mam wieloletnie doświadczenie w pracy z platformą .NET. Lub spróbuj uzyskać dostęp do zrzutu stosu gdzieś.
Piotr Kula,
Aby automatycznie uruchomić aplikację, musisz użyć programu PowerShell i ustawić niektóre ustawienia rejestru. Spróbuję odpowiedzieć na to pytanie, gdy uruchomię aplikację.
Piotr Kula,
Dzięki za diagramy ... błąd, który teraz pojawia się po wykonaniu poniższych kroków zaznaczania pola „Nie uruchamiaj ...” jest typem wyjściowym „Składnik środowiska wykonawczego Windows” nie jest obsługiwany przez jeden lub więcej celów projektu
fifamaniac04
Upewnij się, że wybrano ramię, a nie x86
Piotr Kula
Możesz debugować za pomocą portu szeregowego, jak opisano tutaj .. ale nie wiesz, ile sensownych danych możesz uzyskać. ms-iot.github.io/content/en-US/win10/Windbg.htm
Piotr Kula

Odpowiedzi:

10

WOOO HOOO !!!!

OK, więc w końcu to dostałem ...

to działało dla mnie tylko przy wdrażaniu jednej (1) aplikacji Headless.

Krok 1: Otwórz program Powershell jako administrator

Krok 2: Podłącz do płyty za pomocą tego polecenia: net start WinRM... UWAGA Miałem kabel Ethernet bezpośrednio z laptopa do płyty Raspberry Pi 2. UWAGA, jeśli już korzystasz z VS, powie Ci, że już nawiązałeś połączenie ...

Krok 3: w PowerShell, uruchom ten następny Set-Item WSMan:\localhost\Client\TrustedHosts -Value minwinpc... Zostawiłem domyślną nazwę dla mojego urządzenia. UWAGA po wyświetleniu monitu wpisz „Y”

Krok 4: Enter-PSSession -ComputerName minwinpc -Credential minwinpc\Administrator... UWAGA Zostaniesz poproszony o hasło ... przy założeniu wartości domyślnej wpisz „p @ ssw0rd” - tak, z uwzględnieniem wielkości liter

Krok 5: poczekaj chwilę ... poważnie to potrwa chwilę ...

Krok 6: w programie PowerShell zobaczysz teraz nazwę urządzenia w wierszu polecenia - wpisz następujące polecenie: IotStartup remove

Krok 7: w PowerShell ... wpisz: IotStartup list... z tego chcemy uzyskać nazwę bezgłowej aplikacji, którą chcesz domyślnie.

Krok 8: w PowerShell ... wpisz: IotStartup add headless <the-exact-full-name-of-the-headless-app-here>

step9: w PowerShell ... wpisz: setbootoption headless.... spowoduje to ponowne uruchomienie komputera, jeśli zakończy się powodzeniem

step10: w PowerShell ... wpisz: shutdown /r /t 0... spowoduje to natychmiastowe ponowne uruchomienie urządzenia

- GOTOWE .... odtąd poczekaj, aż aplikacja się rozpocznie! Miałem prosty program LED i w końcu zaczął się sam po ponownym uruchomieniu.

fifamaniac04
źródło
Mogłem również użyć tej metody. Firma Microsoft powinna naprawić podstawowy problem uniemożliwiający wykonanie tego z interfejsu internetowego.
Jamie Keeling,
1

Możesz dołączyć do swojej aplikacji z Visual Studio. (Tylko debugowanie, wydaje się, że wydanie nie działa)

  • Otwórz Visual Studio z kodem źródłowym swojego projektu
  • W projekcie w Solution Explorer kliknij go prawym przyciskiem myszy.
  • Przejdź do debugowania
  • Zaznacz Do not launch, but debug my code when it starts
  • Zapisać
  • Kliknij uruchom na „Zdalnej maszynie”
  • Wdroży aplikację, ale nie uruchomi jej.
  • Więc uruchom go na Pi lub przez WebGui, a mam nadzieję, że Visual Studio popełni błąd, dając ci znacznie lepsze wyobrażenie o tym, co się dzieje.

Jeśli podczas debugowania aplikacja nie osiągnie punktu przerwania wyjątku, ale nadal pojawia się błąd, oznacza to, że coś jest zepsute. Może Twoja karta SD ma uszkodzone pliki? Wypróbuj inną kartę SD i świeżą instalację

Aplikacja autostartu

Możesz to zrobić za pośrednictwem WebGui Now

wprowadź opis zdjęcia tutaj

Lub możesz połączyć się z wierszem poleceń PowerShell IoT za pomocą SSH lub Powershell, myślę, że SSH jest łatwiejszy.

  • Wyświetl listę zainstalowanych aplikacji, opcjonalnie możesz podać nazwę swojej aplikacji jako filtr
  • użyj polecenia add headed(dla aplikacji korzystających z ekranu) lub headless(dla aplikacji bezgłowych) i appName, jeśli wcześniej wynik był pojedynczym elementem lub pełna dziwna nazwa zamiast poheader :
  • Uruchom ponownie

Polecenia:

  iotstartup list <optional:appname>
  iotstartup add headed:headless 64e9d643-619e-40e0-91b0-8e54f3e32aa8_953wxc6k7hb7r!App
  # AppID changed to your 64e9d643-619e-40e0-91b0-8e54f3e32aa8_953wxc6k7hb7r!App
  shutdown /r /t 0

i zresetować domyślną aplikację

  iotstartup add headed DefaultApp

Więcej opcji debugowania

Możesz także dołączyć do dowolnego zdalnego procesu bez otwierania żadnego projektu i po prostu klikając Attachprzycisk odtwarzania. Ale to nie zadziała dobrze, jeśli ulegnie awarii podczas uruchamiania, ale może działać, jeśli aplikacja ulega awarii za każdym razem w określonej lokalizacji.

wprowadź opis zdjęcia tutaj

Możesz zobaczyć zrzut awaryjny z WebGUI w obszarze Debugowanie, ale te pliki zrzutu są specyficzne dla jądra i mogą być bardzo uciążliwe przy debugowaniu. Nie obejmuje to żadnych komunikatów o błędach ani łatwego do zrozumienia zrzutu stosu. Więcej informacji tutaj , chociaż nie mogłem otworzyć żadnego .dmppliku w programie Visual 2015, może dlatego, że jest to wydanie społeczności. Ale nawet mój Pro 2013 nie otworzy go.

wprowadź opis zdjęcia tutaj

Piotr Kula
źródło