点击一次服务?

时间:2010-02-24 18:27:35

标签: windows-services installer

我有一个作为服务运行的应用程序,我希望它能够检查URL以查看是否有新版本,如果可以,则下载并安装它。我可以手动破解某些东西,但如果我可以创建一个MSI包来更新服务以及属于我的发行版的任何其他组件,那将会很棒。我也希望它没有任何UI,所以用户不知道更新。

对此有什么好的解决方案吗?

3 个答案:

答案 0 :(得分:2)

这可能很棘手,具体取决于您的更新可能要执行的操作。

如果您打算删除并重新安装该服务,可能需要重新启动,这对用户来说肯定是可见的。

为了替换服务的组件,必须首先停止服务。如果您的服务本身正在检测更新可用性,则可能必须启动另一个进程来停止服务,运行安装程序/更新程序,然后重新启动该服务。

答案 1 :(得分:2)

试试installer.codeeffects.com。它有这个功能。

答案 2 :(得分:1)

您可以尝试使用MEF(http://www.codeplex.com/MEF)并使用

[Import("http://someUrl/someComponent")]
public ISomeComponent SomeService;

它实际上不是自动更新,但服务可能始终是最新的。我不确定它是否有效..它只是一个想法:-)