Я уже некоторое время работаю над 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 --- ---------------------------------→
Ответ на мой пост ниже, если кто-то задается вопросом или имеет ту же проблему, что и я.
И я понял это. Где я использовал Windows Server 2003, он, как правило, похож на.NET 4 Framework и где служба была разработана в Visual Studio 2013 по умолчанию для платформы.NET 4.5. Все, что мне нужно было сделать, а также несколько изменений, чтобы сделать службу более эффективной, заключалось в изменении цели в проекте VS на платформу.NET 4 и перестройке/переустановке на сервере.
Теперь он запускается без проблем и взаимодействует с SQL-сервером по назначению. Большое спасибо Хансу Пассанту за то, что он указал мне в правильном направлении, я, скорее всего, все еще буду в процессе выяснения этого. Так что спасибо!!