15

我正在 VS2012 中开发 Windows 服务,设置/部署部分已被删除。所以我无法创建安装项目。我想听听你们对一个易于使用的安装程序有什么建议。在服务的安装下,我需要输入一些输入,只有字符串。我一直在研究 WiX,但这似乎有点复杂,而且我只有 1 或 2 天的时间来制作这个安装程序。

那么除了 Wix,我应该使用什么安装程序?

4

4 回答 4

4

我在使用 InstallShield LE(Visual Studio 2012 附带的)方面的体验非常糟糕,尤其是对于 Windows 服务。安装服务所需的功能(自定义操作等)不随精简版提供。

我打算为我正在处理的当前 Windows 服务做的是用Topshelf构建它,这(除其他外)意味着安装你的服务就像运行一样简单MyServiceApp.exe install。我敢肯定,即使 InstallShield 也可以让您在安装后运行您的应用程序,然后您的应用程序/Topshelf 可以安装服务组件。

如果 InstallShield 对您不起作用,我之前使用NSIS取得了不错的效果。简单、强大、免费、体面的文档。它看起来有点笨拙。

于 2012-09-26T08:47:02.823 回答
1

以下是可以帮助您入门的设置工具列表: http ://en.wikipedia.org/wiki/List_of_installation_software

如果您没有太多时间来创建安装程序,我建议您使用像 Advanced Installer 或 InstallShield 这样的商业工具。您需要许可证,但他们专注于可用性(在更短的时间内做更多的事情)。

于 2012-09-26T08:17:23.333 回答
0

您可以使用 InstallShield LE... 您可以为安装和“系统更改后”添加自定义操作“注册产品后”。这些自定义操作可以在机器上运行一个 EXE。

确保“在系统上下文中”运行命令行工具

注册产品后,将 InstallUtil 版本运行到您的 .NET 版本,例如。path=C:\Windows\Microsoft.NET\Framework\v4.0.30319 command=InstallUtil.exe "C:\Program Files (x86)\XXX\YYY\ZZZ.exe" 替换 XXX YYY 和 ZZZ 以匹配您的安装

在系统更改后删除您的服务名称运行例如 sc delete "servicename"

请注意,您需要支持您自己的服务可执行文件中的自定义操作(您在早期的 VS 中也需要此功能)。

您可以在此处找到有关 SC 的更多信息:http: //support.microsoft.com/kb/251192

于 2012-10-01T05:44:33.683 回答
-2

要为服务添加安装程序,您只需右键单击服务的设计器,然后单击“添加安装程序”。

这是演练:http: //msdn.microsoft.com/en-us/library/zt39148a.aspx

于 2012-12-11T01:05:02.383 回答