【发布时间】:2010-11-30 13:29:10
【问题描述】:
一行安装windows服务的例子很多:
ManagedInstallClass.InstallHelper(
new[] { Assembly.GetExecutingAssembly().Location });
在 exe 模块中声明服务类之前,它工作正常。 但是,如果服务类在引用的程序集中(未在可执行文件中声明,但在链接的 dll 中),则相同的代码对我不起作用。
在这种情况下,服务也已注册但无法启动,因为它已注册到 dll 路径并指向 dll(当我尝试启动时,事件日志中会出现“服务不是 win32 可执行文件”消息)
如果我将GetExecutingAssembly().Location 更改为可执行路径,则找不到安装程序并且根本没有注册服务。
是否可以将服务类放入引用的程序集中,并且仍然能够以最小的努力注册服务?
提前感谢您!
【问题讨论】:
标签: .net windows-services installation