C # - InstallUtil 32bit устанавливает службу, но выдает ошибку при запуске

1

Я уже некоторое время работаю над Windows-сервисом, и я, наконец, закончил его. На моем локальном компьютере (Win7, 64bit,.NET 4.5, VS 2013) я смог успешно установить и запустить службу, которая берет информацию с веб-сайта и помещает ее в таблицу SQL.

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

На другом компьютере работает 64-разрядная версия Windows Server 2003 R2.

Мои проблемы возникают, когда я пытаюсь установить службу. Я использую простое командное приглашение, потому что у меня нет командной строки VS. Код:

C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319>InstallUtil.exe C:\MyService.exe

Выполнение этого дает мне ошибку "Исключение произошло при инициализации установки:
System.BadImageFormatException: Не удалось загрузить файл или сборку "путь к файлу" или одну из его зависимостей. Была сделана попытка загрузить программу с неправильным форматом.. "

Поэтому я попытался сделать это вместо этого:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>InstallUtil.exe C:\MyService.exe

Использование этого 32-битного InstallUtil.exe, похоже, работает, поскольку служба будет успешно установлена, и она появилась в моем списке services.msc. Когда я пытаюсь запустить службу, я получаю следующее сообщение об ошибке: "Не удалось запустить службу на локальном компьютере. Ошибка 193: 0xc1"

Я очень расстраиваюсь/смешиваюсь с этим, поэтому любая помощь, которая когда-либо была бы очень признательна! Спасибо за прочтение.

<--------------------------------------------- EDIT --- ---------------------------------→

Я изменил конфигурацию на Release и Any CPU, скопировал и вставил ее на сервер через Network Folder и установил ее еще раз. По-прежнему получается такая же ошибка.

<--------------------------------------------- EDIT --- ---------------------------------→

Ответ на мой пост ниже, если кто-то задается вопросом или имеет ту же проблему, что и я.

Теги:
visual-studio-2013
windows-services
64bit

1 ответ

1
Лучший ответ

И я понял это. Где я использовал Windows Server 2003, он, как правило, похож на.NET 4 Framework и где служба была разработана в Visual Studio 2013 по умолчанию для платформы.NET 4.5. Все, что мне нужно было сделать, а также несколько изменений, чтобы сделать службу более эффективной, заключалось в изменении цели в проекте VS на платформу.NET 4 и перестройке/переустановке на сервере.

Теперь он запускается без проблем и взаимодействует с SQL-сервером по назначению. Большое спасибо Хансу Пассанту за то, что он указал мне в правильном направлении, я, скорее всего, все еще буду в процессе выяснения этого. Так что спасибо!!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню