C# Topshelf服务和Wix安装程序

C# Topshelf服务和Wix安装程序,c#,.net,windows-services,wix,topshelf,C#,.net,Windows Services,Wix,Topshelf,我们开发了一个windows服务包,并使用了topshelf,这有助于我们轻松编写它们。但现在我们为他们实现了一个安装程序,并面临一个问题:Wix错误地安装了我们的服务。 如前所述,问题是因为实现安装程序基类的类位于Topshelf中的某个位置,而util Wix用于安装服务时找不到该类。我们不能为每个服务编写安装程序,也不想实现我们自己的自定义操作来处理服务(为它们创建注册表项,检查它们是否已安装,等等)。那么,我们能做些什么来解决这个问题呢?您可以试试,因为WIX和InstallSheild

我们开发了一个windows服务包,并使用了topshelf,这有助于我们轻松编写它们。但现在我们为他们实现了一个安装程序,并面临一个问题:Wix错误地安装了我们的服务。
如前所述,问题是因为实现安装程序基类的类位于Topshelf中的某个位置,而util Wix用于安装服务时找不到该类。我们不能为每个服务编写安装程序,也不想实现我们自己的自定义操作来处理服务(为它们创建注册表项,检查它们是否已安装,等等)。那么,我们能做些什么来解决这个问题呢?

您可以试试,因为WIX和InstallSheild@stuartd,否,因为我无法为每个服务编写安装程序。。最后,我通过命令promptWix调用exe隐式地解决了这个问题,promptWix可用于安装topshelf服务。您只需确保wix文件中的服务名称与topshelf的SetServiceName()调用中的服务名称完全匹配。Vasily,您能在回答中共享您的wxs文件吗?另外,您是否必须在Topshelf服务中进行任何代码更改?谢谢@Alex Voskresenskiy请分享您的解决方案作为答案。