Вопрос

Я следовал по шагам здесь Чтобы сделать мою существующую службу WCF (уже работаю нормально, как приложение для консоли), а также услуга Windows, на моем компьютере Windows 7, которая также является моей машиной для разработки.

Неважно, что я пытался, когда выполнил последний шаг использования Installutil, я получаю следующее сообщение в командной строке:

Исключение произошло при инициализации установки:
System.badimageFormatexception: не удалось загрузить файл файла или сборки: /// [Путь здесь] или один из его зависимостей.
Была предпринята попытка загрузить программу с неправильным форматом.

У меня есть мой консольный приложение Главный класс наследует от ServiceBase и внедрить OnStart а также OnEnd методы.

я добавил ProjectInstaller класс унаследовал от System.Configuration.Install.Installer отмечен [RunInstaller(true)] атрибут и с кодом, который они поставляются в конструкторе.

То, что я уже пробовал, что не упоминается в вышеуказанной статье?

  1. Запуск командной строки в качестве администратора
  2. Навигация по каталогу, где файл EXE расположен и работает installutil оттуда
  3. Давая сильный ключ к файлу EXE и все DLL, это использует

Кроме того, я не получаю никакого файла журнала даже при указании его с /LogFile=myLog.txt.

Любые идеи приветствуются, спасибо.

Это было полезно?

Решение

Что пахнет как 32- / 64-битная проблема.

Ваша машина 64-битная Windows 7 случайно ?? Ваш сервис как-то ссылается на что-то 32-битное, как старый компонент COM или что-то ??

Возможно, вам придется компилировать свои вещи с платформой X86 в Visual Studio, чтобы правильно работать ...

Другие советы

Исключения BadimageFormat обычно возникают, когда сборка загружается в старую версию .NET Framework (сборка 4.0 на машине без 4,0). Поскольку вы развертываете на одной и той же машине, я думаю, что вы не используете правильную версию Installutil.

Убедитесь, что вы используете InstallutIl, расположенный здесь: C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top