Windows服务 - 创建安装程序 Visual Studio 2012 如何实现?

15

我正在使用VS2012开发Windows服务,但安装/部署部分已被删除,因此我无法创建安装项目。我想听听您们推荐的易于使用的好安装程序。我需要在服务安装期间获取一些输入,只有字符串类型。我查看了WiX,但似乎有点复杂,而且我只有1或2天时间来制作这个安装程序。

那么,除了WiX之外,我应该使用哪个安装程序?


我相信在Visual Studio菜单中应该能够找到InstallShield的Light/Trial版本(或者至少有安装的提示)。但我个人会使用Wix。另外,请明确你正在使用哪个版本的Visual Studio(因为你的标签与问题不匹配)。 - Damien_The_Unbeliever
同意,使用WiX。目前来看,这是最好的选择。 - Jeff
1
请参考以下链接:https://dev59.com/EWct5IYBdhLWcg3wkuPE - Manuel Alves
4个回答

4
我曾经使用过Visual Studio 2012自带的InstallShield LE,在安装Windows服务时遇到了很多问题。轻量级版本缺少安装服务所需的功能(如自定义操作等)。
对于我当前正在开发的Windows服务,我计划使用Topshelf构建。这意味着安装服务只需要运行MyServiceApp.exe install即可。我相信即使是InstallShield,也会让你在安装应用程序后运行它,然后你的应用程序/Topshelf可以安装服务组件。
如果InstallShield不能满足您的需求,我之前使用NSIS取得了好的效果。简单、强大、免费,文档还不错。看起来有点笨重。

@Kiquenet 不是。但最终我使用了WiX。 - TarkaDaal
完整的示例使用Wix?Wix-Topshelf? - Kiquenet

1
这里是一些可帮助您入门的安装工具列表: http://en.wikipedia.org/wiki/List_of_installation_software 如果您没有很多时间来创建安装程序,我建议使用商业工具,例如Advanced Installer或InstallShield。您需要购买许可证,但它们专注于易用性(用更少的时间完成更多任务)。

0

您可以使用InstallShield LE来完成此操作... 您可以添加自定义操作“注册产品后”进行安装,以及“系统更改后”。这些自定义操作可以在计算机上运行EXE。

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

在注册产品后,运行与您的.NET版本相对应的InstallUtil版本 例如。 路径=C:\Windows\Microsoft.NET\Framework\v4.0.30319 命令=InstallUtil.exe "C:\Program Files (x86)\XXX\YYY\ZZZ.exe" 将XXX、YYY和ZZZ替换为您的安装匹配项

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

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

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


-2

8
你提供的链接文章甚至说你必须使用完整版的Install Shield或Wix。 - TarkaDaal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接