c# - VS2013 Windows 服务 - 如何制作安装程序?

标签 c# visual-studio

我写了一个 Windows 服务。

我现在想将其打包到安装程序中。

我使用了 VS2013 x86 Native Tools 命令提示符,然后使用了以下命令:

安装它:

installutil httpapiservice.exe

要卸载它:

installutil httpapiservice.exe /u

这非常有效。我可以在“服务”中看到新服务,停止和启动都没有问题。

然后我继续右键单击该项目并选择“发布”,它生成了一个 setup.exe

但是,当我运行 setup.exe 时,我可以看到它正在“下载并提取”文件。看起来正在安装,但“服务”中没有显示任何内容

谁能告诉我我做的是否正确?

谢谢

最佳答案

您需要将安装项目添加到您的解决方案以构建安装程序可执行文件。

不幸的是,Microsoft 从 Visual Studio 2012 开始删除了他们的安装项目模板,这本来可以完成这项工作。

这意味着您只能使用其中一种替代方案,这些替代方案要么功能较差、难以设置,要么价格昂贵。

注意 - 向下滚动到 EDIT 3 以获得我推荐的解决方案。这篇文章的其余部分只是强调替代方案。

如果您喜欢免费路线,可以添加 InstallShield Limited Edition到 Visual Studio,并使用它为您的解决方案创建安装项目。它适用于最新版本的 Windows 服务设置项目,但通常被认为是非常垃圾和有限的。以下是相关说明:link

WiX是一个免费的开源替代品,它的功能要强大得多,但设置起来很棘手。

编辑 -

这是一篇描述如何使用 WiX 创建安装项目的文章:http://www.schiffhauer.com/wix-template-for-installing-a-windows-service/

编辑 2 -

截至今天 (22/04/2014),Microsoft 已将 Visual Studio 2013 中的安装项目恢复为 Visual Studio 扩展 - 请参阅 this post

我自己没有尝试过,但它大概与 VS2010 设置项目相同,学习起来并不难(并且在 Internet 上有很多帮助)我肯定会建议您尝试这个创建您的安装程序!

编辑 3(2016 年 4 月)-
我强烈建议您使用 Visual Studio Installer Projects Extension(如上述编辑中所述)为您的 Windows 服务(以及其他程序)创建简单的安装程序。它创建的安装程序很简单,但对于简单或小型项目来说足够专业。

Visual Studio 2013 的扩展名是 here
Visual Studio 2015 的扩展名是 here
Visual Studio 2017 的扩展名是 here

描述如何使用旧的 VS2010 安装项目为 Windows 服务创建安装项目的文章是 here .虽然这是一篇旧文章,但它可以直接应用于上面链接的新安装程序项目扩展。 (感谢 EbbnFlow 提供链接)

关于c# - VS2013 Windows 服务 - 如何制作安装程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22938128/

相关文章:

c# - 如何安装特定版本的nuget?

c# - 模拟扩展方法导致 System.NotSupportedException

c# - 如何从后面的 c# 代码打开 jQuery UI 对话框?

c# - 调用堆栈仅包含外部代码

asp.net-mvc - Visual Studio : The system cannot find the path specified

.net - Visual Studio 2013 中的 objective-c PU 和平台有什么区别?

c# - 是否有一种实用的方法可以针对 Microsoft 单元测试框架中的不同 stub 重用一组测试方法?

c# - noda-time 适用于这种情况吗?

c# - VSIX 扩展 : how to make atomic undo upon text replacement

c# - Visual Studio 中缺少异常列表