Там много примеров, как установить окно службу в одной строке:.Net окно услуги: установка из ссылочного сборки
ManagedInstallClass.InstallHelper(
new[] { Assembly.GetExecutingAssembly().Location });
Это прекрасно работает до тех пор, пока класс обслуживания объявлено в модуле EXE. Но тот же код не работает для меня, если класс службы находится в сборке ссылок (не объявлен в исполняемом файле, а в связанной DLL).
В таком случае служба также зарегистрирована, но не может быть запущена, поскольку она зарегистрирована в DLL-пути и указывает на DLL (сообщение «service is not a win32 executable») появляется в журнале событий, когда я пытаюсь запустить этот)
Если я изменю GetExecutingAssembly().Location
на исполняемый путь, то ни один инсталлятор не обнаружен, и сервис не зарегистрирован вообще.
Можно ли поставить класс обслуживания в ссылочную сборку и все еще иметь возможность регистрировать обслуживание с минимальными усилиями?
Спасибо заранее!