有关更新ClickOnce自定义先决条件的建议

时间:2011-05-18 20:45:12

标签: visual-studio-2010 deployment clickonce

我有一个通过ClickOnce部署的WinForms应用程序。我以.msi的形式添加了一个自定义prereq,用于安装X509证书。问题是,如果我因为到期而需要更改证书,我如何让ClickOnce注意到安装版本的差异并再次运行.msi?这甚至可能吗?

1 个答案:

答案 0 :(得分:1)

不,使用ClickOnce是不可能的。 ClickOnce根本不处理先决条件。它只是使客户端文件与服务器上的文件保持同步。

这令人困惑,因为当您使用Visual Studio进行部署时,它会将先决条件与ClickOnce混为一谈,以便人们认为ClickOnce会处理它们。所有Visual Studio都会构建一个小的bootstrapper exe,它将所有的先决条件绑定在一起。这样,用户可以运行一个exe,以正确的顺序处理下载​​和运行所有安装包,而不是告诉用户“安装.NET Framework 4.0(除非你已经拥有它),然后去这里下载一些东西别的,然后运行它,然后......“

如果你想处理这个问题,你必须在应用程序的启动时编写代码来执行此操作。检查他们是否有最新版本,提示他们安装,发送到网页等。不好玩,但绝对可能。