我有以下内容:
如果没有该服务,客户端和代理都无法运行。我们当前的安装使用ClickOnce
(该服务尚未部署)。
我想要的是什么:
ClickOnce
非常好,但不是强制性的。如果有更好的解决方案来满足我的要求,我将切换到它们,前提是仍然可以进行更新(强制更新以及延迟更新的选项)。
答案 0 :(得分:2)
我将解决ClickOnce方法。 msi安装可能更合适,但听起来好像需要某种自动更新。将Windows服务安装强制转换为ClickOnce方法可能更容易,而不是使msi安装自我更新。
ClickOnce的核心很简单。它使用户配置文件夹中的文件与服务器上的文件保持同步。这应该适用于客户端和代理应用程序。与Windows服务无关。
对于服务,我会让ClickOnce部署服务位。然后编写将在Client / Agent中执行的代码以安装/更新服务。
我发现Topshelf在使用服务时非常棒。它允许您编写标准控制台应用程序,使开发更容易。然后安装它,你可以调用控制台exe并传递--install
开关。我认为只要客户端/代理启动并复制文件,安装/更新/启动/停止服务,以及使服务正常运行所需的其他任何内容,您就可以执行该代码。
现在为你的编号清单......