Проблема установки службы Windows - PullRequest
0 голосов
/ 01 октября 2009

У меня есть .NET Windows serivce, защищенный {smartassembly} , который работает нормально, за исключением того, что я не могу установить защищенную версию для установки. Когда я проводил тестирование, сервис уже был установлен, а затем скопировал защищенную версию поверх оригинала.

На веб-сайте {smartassembly} есть некоторые инструкции, касающиеся служб Windows ( Как защитить службы Windows? ). Я последовал предложению номер один, используя статью CodeProject ( Службы Windows могут установить себя ), чтобы встроить установщик в службу. Самостоятельная установка работает нормально, пока служба не будет защищена.

В файле журнала установки отображается следующее сообщение об ошибке:

Исключительная ситуация при попытке найти установщики в сборке C: \ path-to-service \ service.exe. System.Reflection.ReflectionTypeLoadException: невозможно загрузить один или несколько запрошенных типов. Получите свойство LoaderExceptions для получения дополнительной информации.

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

Затем я попытался отключить все варианты защиты. Все та же ошибка.

Я отправил электронное письмо в службу поддержки {smartassembly} , но еще не получил ответ. Прошло всего 24 часа, но я подумал, что кто-то из SO мог столкнуться с этой проблемой раньше.

Есть идеи?

Редактировать # 1

Я знаю, что могу написать еще один exe-файл, который использует Windows API для установки службы, но я бы хотел, чтобы встроенная установка работала, если это возможно.

Ответы [ 2 ]

1 голос
/ 01 октября 2009

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

Защищенная сборка записывается в другую папку, чем исходная сборка, и в этой папке отсутствовала одна из указанных сборок проекта. DOH!

0 голосов
/ 01 октября 2009

Самоинсталляторы отстой. Так же Visual Studio "Настройка" проекта. Вместо этого напишите правильный установщик, используя WiX.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...