Impossible de démarrer le package Window10 IoT

11

J'ai une application sans tête développée en C # pour le Raspberry Pi 2 B.

Je peux déboguer correctement l'application dans Visual Studio. J'ai un câble Ethernet connecté directement entre mon poste de travail et la carte. Lorsque je navigue dans mon navigateur vers: minwinpc:8080/AppXManager.htmje peux voir le programme que je veux dans la liste des applications installées. J'ai essayé de le supprimer, de reconstruire / redéployer dans VS et l'application quitte et revient de la liste; je connais donc sa version actuelle.

Le problème est le suivant: je n'arrive pas à le faire "démarrer" à partir de l'interface graphique Web. Je sélectionne mon application, puis j'obtiens l'erreur suivante:

Failed to start package BlinkyHeadlessCS-uwp_q8jk9dv1tcdg!App

Comment puis-je configurer mon programme de clignotement pour démarrer à partir de l'interface utilisateur Web, puis comment le faire fonctionner automatiquement après le démarrage?

fifamaniac04
la source
Doit être une exception levée au démarrage de l'application. Malheureusement, MS est bien connu pour cela, en particulier pour toutes ces nouvelles technologies qu'ils ont créées, ils ont laissé de côté le contrôle des erreurs. Peut-être que le débogage à distance, pas le débogage de build, peut aider. J'installe l'IoT maintenant et je vais en faire assez. Si vous souhaitez partager votre code, je peux essayer de vous aider, j'ai de nombreuses années d'expérience avec les choses .NET. Ou essayez d'accéder à un vidage de pile quelque part.
Piotr Kula
Pour démarrer automatiquement l'application, vous devez utiliser PowerShell et définir certains paramètres de registre. J'essaierai de répondre à cette question une fois que je lancerai une application.
Piotr Kula
Merci pour les diagrammes ... l'erreur que j'obtiens maintenant après avoir suivi les étapes ci-dessous en cochant la case "Ne pas lancer ..." est le type de sortie 'Composant Windows Runtime' n'est pas pris en charge par une ou plusieurs cibles du projet
fifamaniac04
Assurez-vous que le bras est sélectionné et non x86
Piotr Kula
Vous pouvez déboguer en utilisant le port série comme décrit ici .. mais vous ne savez pas combien de données utiles vous obtiendrez en faisant cela. ms-iot.github.io/content/en-US/win10/Windbg.htm
Piotr Kula

Réponses:

10

WOOO HOOO !!!!

OK, je l'ai finalement compris ...

c'est ce qui a fonctionné pour moi en ne déployant qu'une (1) application sans tête.

Étape 1: Ouvrez Powershell en tant qu'administrateur

Étape 2: Connectez-vous à la carte avec cette commande: net start WinRM... REMARQUE J'ai eu un câble Ethernet directement de mon ordinateur portable à la carte raspberry pi 2. REMARQUE si vous avez déjà exécuté VS, il vous indiquera que vous avez déjà établi une connexion ...

Étape 3: dans PowerShell, exécutez ceci ensuite Set-Item WSMan:\localhost\Client\TrustedHosts -Value minwinpc... J'ai laissé le nom par défaut pour mon appareil. REMARQUE lorsque vous y êtes invité, tapez «Y»

Étape 4: Enter-PSSession -ComputerName minwinpc -Credential minwinpc\Administrator... REMARQUE Vous serez invité à entrer un mot de passe ... en supposant que par défaut, entrez "p @ ssw0rd" - oui, sensible à la casse

Étape 5: attendez un peu ... sérieusement, cela prend un moment ...

Étape 6: dans PowerShell, vous verrez maintenant le nom du périphérique dans l'invite - tapez la commande suivante: IotStartup remove

Étape 7: dans PowerShell ... tapez: IotStartup list... à partir de cela, nous voulons obtenir le nom de l'application sans tête que vous souhaitez utiliser par défaut.

Étape 8: en PowerShell ... tapez: IotStartup add headless <the-exact-full-name-of-the-headless-app-here>

step9: dans powershell ... tapez: setbootoption headless.... cela vous demandera de redémarrer en cas de succès

step10: dans powershell ... tapez: shutdown /r /t 0... cela entraînera le redémarrage immédiat de votre appareil

- TERMINÉ ... d'ici, attendez que votre application démarre! J'avais un programme LED simple et il a finalement commencé par lui-même après le redémarrage.

fifamaniac04
la source
J'ai également pu utiliser cette méthode. Microsoft devrait résoudre le problème sous-jacent vous empêchant de le faire à partir de l'interface utilisateur Web.
Jamie Keeling du
1

Vous pouvez attacher à votre application à partir de Visual Studio. (Débogage uniquement, la version ne semble pas fonctionner)

  • Ouvrez Visual studio avec le code source de votre projet
  • Sur le projet dans l'Explorateur de solutions, faites un clic droit dessus.
  • Accédez au débogage
  • Cochez la Do not launch, but debug my code when it starts
  • sauvegarder
  • Cliquez sur Exécuter sur "Machine distante"
  • Il déploiera l'application mais ne l'exécutera pas.
  • Exécutez-le donc sur le Pi ou via le WebGui, et nous espérons que Visual Studio se cassera à l'erreur, vous donnant une bien meilleure idée de ce qui ne va pas.

Si votre application n'atteint pas un point d'arrêt d'exception pendant le débogage mais que vous obtenez toujours une erreur, c'est quelque chose d'autre qui est cassé. Peut-être que votre carte SD a des fichiers corrompus? Essayez une autre carte SD et une nouvelle installation

Application de démarrage automatique

Vous pouvez le faire via le WebGui Now

entrez la description de l'image ici

Ou vous pouvez vous connecter à la ligne de commande IoT powershell en utilisant SSH ou Powershell, je pense que SSH est plus facile.

  • Énumérez les applications installées, vous pouvez éventuellement fournir le nom de votre application comme filtre
  • utilisez la commande add headed(pour les applications qui utilisent un écran) ou headless(pour les applications sans tête) et appName si le résultat précédent était un seul élément ou le nom complet de Wierd à la place aprèsheader :
  • Redémarrer

Commandes:

  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

et pour réinitialiser l'application par défaut

  iotstartup add headed DefaultApp

Plus d'options de débogage

Vous pouvez également vous attacher à n'importe quel processus distant sans ouvrir de projet et simplement en cliquant sur le Attachbouton de lecture. Mais cela ne fonctionnera pas bien s'il s'est écrasé au lancement, mais peut fonctionner si une application se bloque à un endroit spécifique à chaque fois.

entrez la description de l'image ici

Vous pouvez afficher le vidage sur incident à partir de WebGUI sous Débogage, mais ces fichiers de vidage sont spécifiques au noyau et peuvent être très fastidieux à déboguer. Cela n'inclut aucun message d'erreur ou un vidage de pile facile à comprendre. Plus d'informations ici , même si je n'ai pas pu ouvrir de .dmpfichier dans Visual 2015, peut-être parce que c'est l'édition communautaire. Mais même mon Pro 2013 ne l'ouvrira pas.

entrez la description de l'image ici

Piotr Kula
la source