使用 NAnt 在构建脚本中安装/卸载 Windows 服务
NAnt 是否能够使用 InstallUtil 实用程序或其他实用程序安装或卸载 Windows 服务?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
NAnt 是否能够使用 InstallUtil 实用程序或其他实用程序安装或卸载 Windows 服务?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
如果您在应用程序中使用 TopShelf 项目 来托管服务,您可以获得基于命令行的工具无需InstallUtil即可安装/删除服务。
ServiceName.exe 服务安装
ServiceName.exe 服务卸载
您可以直接运行该服务并获得一个漂亮的控制台窗口,您可以按 CTRL+C 停止它。您可以通过执行程序将其直接集成到 nant 或 msbuild 中。
If you use the TopShelf Project in your application to host your services, you can get command-line based tools for installing / removing the services without needing InstallUtil.
ServiceName.exe service install
ServiceName.exe service uninstall
And you can run the service directly and get a nice console window that you can CTRL+C to stop. You can integrate this directly into nant or msbuild by executing the program.
如果您的服务可以安装在不同的地方,您也可以使用 SC.EXE 通过其名称来卸载它,如下所示:
If your service can be installed at different places, you can also uninstall it through its name using SC.EXE, as follows:
Nant 还是 MSBuild?自己运行 installutil 有什么问题 - 这就是您在 MSBuild 中所做的。 (一般来说,构建不会按照规则执行此类安装,因为通常您的构建应该能够在随机构建服务器上运行)。
另一个将 installutil 排除在外的选项是 像这样向您的服务添加自安装选项(通过查找
自安装 Windows 服务
来搜索更多信息)Nant or MSBuild? What's the problem with just running installutil yourself - that's what you'd do in MSBuild. (In general, builds dont do the installs for things like this as rule as typically your build should be able to run on a random build server).
Another option, which would take installutil out of the equation is adding a self-install option to your service like this (have a search for more by looking for
self install windows service
)可以调用Nant的exec任务来调用InstallUtil并可以通过轻松安装或卸载服务的参数
You can call Nant's exec task to call InstallUtil and can pass parameters to install or uninstall a service easily