J'ai suivi les étapes here pour que mon service WCF existant (fonctionnant déjà correctement en tant qu'application console) soit également Windows Service, sur mon ordinateur Windows 7 qui est également mon ordinateur de développement.Service WCF en tant que service Windows (0) Windows 7
Peu importe ce que j'ai essayé, quand faire la dernière étape d'utilisation installutil, je reçois le message suivant dans la ligne de commande:
Exception est survenue lors de l'initialisation de l'installation:
System.BadImageFormatException: Impossible de charger le fichier ou l'assembly 'file: /// [path here]' ou l'une de ses dépendances.
Une tentative a été faite pour charger un programme avec un format incorrect ..
Je ma demande d'inscription de la console principale classe héritent de ServiceBase
et mettre en œuvre OnStart
et OnEnd
méthodes.
J'ai ajouté ProjectInstaller
classe héritant de System.Configuration.Install.Installer
marqué avec l'attribut [RunInstaller(true)]
et avec le code fourni dans le constructeur.
Ce que j'ai déjà essayé cela n'est pas mentionné dans l'article ci-dessus?
- L'exécution de la ligne de commande en tant qu'administrateur
- Navigation dans le répertoire où le fichier EXE est situé et en cours d'exécution installutil à partir de là
- Donner clé forte dans le fichier EXE et toutes les DLL qu'il utilise
En outre, je ne reçois aucun fichier journal même en le spécifiant avec /LogFile=myLog.txt
.
Toutes les idées sont les bienvenues, merci.
Cela peut sembler évident, mais assurez-vous que le InstallUtil.exe est de la version correcte de .Net. Parfois, la variable d'environnement path pointe vers une autre version de .Net, et dans ce cas, vous obtiendrez cette erreur. –
Merci, j'ai explicitement ajouté le chemin du dossier .NET 4 au chemin global de Windows et mon code est également .NET 4, ce n'est donc pas le cas. –