Erreur 193: '%1 n'est pas une application Win32 valide sur Windows Server 2003

J'aimerais avoir de l'aide, j'obtiens cette erreur lorsque vous essayez de démarrer un service windows et ça me rend fou. Les détails sont les suivants:

  • J'ai un Service Windows développé sur VB.NET (VS 2012), il est compilé pour une machine x86.
  • J'ai utilisé InstallUtil et le "SC CRÉER" commande pour installer le service sur le serveur du client (fonctionnant sous Windows Server 2003).
  • Lorsque je tente de démarrer le service, j'obtiens le message d'erreur suivant: "impossible de démarrer le service sur l'Ordinateur Local. Erreur 193: 0xc1"
  • J'ai regardé dans l'Observateur d'Événements quelques indices, mais je ne pouvais pas trouver toutes très utiles info: dans la "Demande" onglet, il y a pas de dossiers enregistrés par le service, de sorte que je suppose qu'il n'est même pas l'exécution d'une seule ligne de code. Dans le "Système" onglet, il y a des dossiers enregistrés par le Gestionnaire de Contrôle de Service avec le message d'erreur suivant: "%1 n'est pas une application Win32 valide."

J'ai fait de longues recherches sur le web et la seule solution fournie est la vérification Registre de Windows pour trouver les ImagePath pour le service et ajouter des guillemets au début et à la fin du chemin. Ce qui est censé résoudre le problème, mais il ne fonctionne pas dans mon cas. J'ai modifié plusieurs fois le ImagePath (j'ai ajouté et enlevé les guillemets, essayé avec un double, un triple guillemets) mais je ne suis pas arriver à des résultats positifs.

Quelqu'un pourrait-il m'aider? Merci à l'avance...

La meilleure estimation de diagnostic, c'est que votre x86 service est d'essayer de charger une version 64-bit DLL. Le code d'erreur (0xc1) est équivalent à BadImageFormatException. L'utilisation de SysInternals' ProcMon pour voir ce que les Dll sont en consommer.
Merci, je vais essayer.

OriginalL'auteur andresf | 2013-01-28