Не удалось запустить пакет Window10 IoT

11

У меня есть приложение без головы, разработанное на C # для Raspberry Pi 2 B.

Я могу нормально отлаживать приложение в визуальной студии. У меня есть кабель Ethernet, подключенный непосредственно между моей рабочей станцией и платой. Когда я перехожу в своем браузере к: minwinpc:8080/AppXManager.htmя вижу нужную программу в списке установленных приложений. Я попытался удалить его, перестроить / заново развернуть в VS и приложение уходит и возвращается из списка; Таким образом, я знаю его текущую версию.

Проблема в том, что я не могу заставить его «Пуск» из веб-интерфейса. Я выбираю свое приложение и получаю следующую ошибку:

Failed to start package BlinkyHeadlessCS-uwp_q8jk9dv1tcdg!App

Как настроить программу blink на запуск из веб-интерфейса, а затем настроить ее автоматический запуск после загрузки?

fifamaniac04
источник
Должно быть исключение, которое выдается при запуске приложения. К сожалению, MS хорошо известна этим, особенно благодаря всем этим новым технологиям, которые они сделали, они отказались от контроля ошибок. Возможно удаленная отладка, а не сборка отладки, может помочь. Я сейчас настраиваю IoT и собираюсь сделать немного. Если вы хотите поделиться своим кодом, я могу попытаться помочь, у меня есть многолетний опыт работы с .NET. Или попробуйте получить доступ к дампу стека где-нибудь.
Петр Кула
Для автоматического запуска приложения вам нужно использовать powershell и установить некоторые параметры реестра. Постараюсь ответить на этот вопрос, как только я запустил приложение.
Петр Кула
Спасибо за диаграммы ... ошибка, которую я теперь получаю, выполнив следующие действия по установке флажка «Не запускать ...», заключается в том, что тип вывода «Компонент времени выполнения Windows» не поддерживается одной или несколькими целями проекта.
fifamaniac04
Убедитесь, что рука выбрана, а не x86
Петр Кула
Вы можете отлаживать, используя последовательный порт, как описано здесь ... но не уверены, сколько чувствительных данных вы можете получить, делая это. ms-iot.github.io/content/en-US/win10/Windbg.htm
Петр Кула

Ответы:

10

WOOO HOOO !!!!

Хорошо, таким образом я наконец получил это ...

это то, что сработало для меня, только развернув одно (1) приложение без головы.

Шаг 1: Откройте Powershell от имени администратора

Шаг 2. Подключитесь к плате с помощью этой команды: net start WinRM... ПРИМЕЧАНИЕ. У меня был кабель Ethernet от моего ноутбука к плате Raspberry Pi 2. ПРИМЕЧАНИЕ, если вы уже работали с VS, он сообщит вам, что вы уже установили соединение ...

Шаг 3: в PowerShell, запустите это дальше Set-Item WSMan:\localhost\Client\TrustedHosts -Value minwinpc... Я оставил имя по умолчанию для моего устройства. ПРИМЕЧАНИЕ при появлении запроса введите «Y»

Шаг 4: Enter-PSSession -ComputerName minwinpc -Credential minwinpc\Administrator... ПРИМЕЧАНИЕ. Вам будет предложено ввести пароль ... в предположении по умолчанию введите "p @ ssw0rd" - да, с учетом регистра

Шаг 5: подожди немного ... серьезно, это займет мгновение ...

Шаг 6: в powershell вы теперь увидите имя устройства в командной строке - введите следующую команду: IotStartup remove

Шаг 7: в powershell ... type: IotStartup list... из этого мы хотим получить название приложения без монитора, которое вы хотите использовать по умолчанию.

Step8: в powershell ... введите: IotStartup add headless <the-exact-full-name-of-the-headless-app-here>

шаг 9: в powershell ... введите: setbootoption headless.... это предложит перезагрузить компьютер в случае успеха

step10: в powershell ... type: shutdown /r /t 0... это приведет к немедленной перезагрузке вашего устройства

- СДЕЛАНО .... отсюда, просто подождите, пока приложение не запустится! У меня была простая светодиодная программа, и она в конце концов запустилась сама по себе после перезагрузки.

fifamaniac04
источник
Я был в состоянии использовать этот метод, а также. Microsoft должна исправить основную проблему, не позволяющую вам сделать это через веб-интерфейс.
Джейми Килинг
1

Вы можете прикрепить к своему приложению из Visual Studio. (Только отладка, релиз не работает)

  • Откройте Visual studio с исходным кодом вашего проекта
  • На проекте в Solution Explorer щелкните по нему правой кнопкой мыши.
  • Перейти к отладке
  • Отметьте Do not launch, but debug my code when it starts
  • Сохранить
  • Нажмите «Запуск» на «Удаленная машина»
  • Он развернет приложение, но не запустит его.
  • Так что запустите его на Pi или через WebGui, и, надеюсь, Visual Studio сломается при ошибке, давая вам гораздо лучшее представление о том, что происходит не так.

Если ваше приложение не достигает точки останова исключения во время отладки, но вы все равно получаете сообщение об ошибке, это что-то еще, что не работает. Может быть, ваша SD-карта имеет поврежденные файлы? Попробуйте другую SD-карту и новую установку

Приложение автозапуска

Вы можете сделать это через WebGui сейчас

введите описание изображения здесь

Или вы можете подключиться к командной строке IoT powershell, используя SSH или Powershell, я думаю, что SSH проще.

  • Перечислите установленные приложения, при желании вы можете указать название приложения в качестве фильтра.
  • используйте команду add headed(для приложений, использующих экран) или headless(для приложений без монитора) и appName, если результат до был одним элементом или полным именем, а не послеheader :
  • Рестарт

Команды:

  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

и сбросить приложение по умолчанию

  iotstartup add headed DefaultApp

Больше возможностей отладки

Вы также можете присоединиться к любому удаленному процессу, не открывая какой-либо проект, и просто нажав на Attachкнопку воспроизведения. Но это не будет работать хорошо, если оно зависало при запуске, но может работать, если приложение каждый раз падает в определенном месте.

введите описание изображения здесь

Вы можете просмотреть аварийный дамп из WebGUI в разделе «Отладка», но эти файлы дампа относятся к ядру и могут быть очень утомительными для отладки. Сюда не входят сообщения об ошибках или простой для понимания дамп стека. Больше информации здесь , хотя я не смог открыть ни одного .dmpфайла в Visual 2015, возможно, потому что это версия сообщества. Но даже мой Pro 2013 не откроет его.

введите описание изображения здесь

Петр Кула
источник