C# 如何为 Windows 服务创建安装项目以自动安装它?
Posted
技术标签:
【中文标题】C# 如何为 Windows 服务创建安装项目以自动安装它?【英文标题】:C# How to create a Setup project for a Windows Service to install it automagically? 【发布时间】:2013-11-26 17:44:01 【问题描述】:我看到在我的计算机上安装了多个 Windows 服务,只有一个 Setup.exe 或 .msi... 是否需要通过安装项目完成一些特殊的操作才能让这些 Windows 服务以简单的方式安装没有Installutil.exe?
我试过了,只是没有安装服务。我知道如何使用 Installutil,但我认为它只是用于测试。我需要能够使用 Setup.exe 安装我的 Windows 服务,因为我想通过其配置托盘应用程序分发我的服务。
安装服务和我的应用程序的正确方法是什么?它们都使用在同一个解决方案中创建的同一个 DLL。
Problem while Building a Setup Project for a windows Service?
我查看了上面的链接,但它是关于我已经知道如何做的安装项目的,问题是如何使我的安装项目工作......我的 DLL 正在启动,托盘应用程序正在工作好吧,问题是服务没有安装它只是给我.exez
但我需要正确安装它,例如在重新启动时启动并在服务控制管理器中运行。
【问题讨论】:
忠告。自 VS2012 以来,安装项目已被删除。如果您想要在升级时继续构建的东西,请放弃设置项目,并专注于学习使用 WiX... 我同意,使用 WiX Wix 能否解决我的 Windows 服务无法通过 setup.exe 正确安装的问题 @StevenHernandez “服务没有按照应有的方式安装”是我们必须继续进行的全部内容,并且没有足够的信息来回答上述问题。 所以您是在告诉我您已经成功安装了一项服务,无需安装向导即可轻松分发给最终用户? 【参考方案1】:选项 1 1. 下载Wix 2.下载安装Wix Windows Service Setup Project Template 3.创建一个新的wix设置项目,看看你得到了什么
这是在没有任何选项窗口的情况下创建 *.msi 的最简单方法
选项 2 关注此blog post。与选项 1 相同,但没有项目模板。如果你迟早走 WiX 路线,你会看到项目模板提供了基本的东西。如果你想要更高级的东西,你需要稍微学习一下 WiX 并使用它的 candle.exe、light.exe、pyro.exe 等。
选项 3 我写了一个short post 我通常是怎么做的。
祝你好运
【讨论】:
谢谢,这解决了 Visual Studio 2012 放弃安装项目的问题......但是我的服务安装了怎么办?这也能解决问题并安装在我的项目中创建的 Windows 服务吗? @StevenHernandez 我有几项服务是通过使用 WiX 制作的 MSI 部署的。是的,使用 WiX 是一个巨大的 PITA,但它运行良好,并且似乎是自 setupproject 退役以来创建设置文件的首选工具。这能回答你的问题吗? 感谢您的实际帮助。明天我回去工作时我会测试这个,并在它成功工作时接受你的答案。感谢您的帮助。 好的,我今天会写一篇快速的博文并链接到这里。 我写了一个快速发布和示例项目我如何处理依赖关系。检查它:outofmemory.azurewebsites.net/…【参考方案2】:这是一个简单的模板,用于使用 WiX 为 Windows 服务创建 *.msi 安装程序:
http://www.schiffhauer.com/wix-template-for-installing-a-windows-service/
我能够使用File
标记指定我的 DLL 依赖项。
【讨论】:
以上是关于C# 如何为 Windows 服务创建安装项目以自动安装它?的主要内容,如果未能解决你的问题,请参考以下文章