单击一次应用程序回滚

时间:2010-07-29 05:40:19

标签: deployment clickonce rollback

是否可以进行ClickOnce回滚?

我该怎么做?

此应用程序是否在更新时下载所有文件?

如何查看更新中下载的文件?

3 个答案:

答案 0 :(得分:1)

您无法直接回滚ClickOnce应用程序。您可以为旧版本提供更高版本号,然后重新部署/发布应用程序。另请参阅How can I rollback clickOnce if I have a minimum required version?

或者,您可以更改服务器端清单文件以指向应用程序的旧版本,如下所述:How can I roll-back a ClickOnce application?

更新ClickOnce应用程序时,将下载应用程序清单文件中描述的所有文件。应用程序清单文件包含有关ClickOnce应用程序中所有文件的信息。我建议在ClickOnce deployment上阅读msdn网站。

答案 1 :(得分:1)

<强>还原
如果未指定所需的最低版本,则用户可以通过“添加/删除程序”对话框回滚一个版本。如果要在服务器上回滚部署,则需要使用具有新版本号的所有旧文件(就像@steenhulthin所说的那样)。

下载内容
仅下载已更改的文件。 ClickOnce会散列所有文件,并将该信息保存在应用程序清单中(没有 .application扩展名,请参见图)。如果整个ClickOnce版本在服务器上比在客户端上更新,则它会比较各个文件哈希以查看下载的内容。

下载了哪些文件
要查看下载的文件,请使用Fiddler。它捕获并显示http流量,非常棒。学习它。用它。喜欢它。

只是一个额外的建议。如果您使用Visual Studio进行发布,请停止。使用Mage之类的工具需要付出更多努力,但它可以帮助您了解ClickOnce实际上做了什么。当它被淘汰时,它真的不是很多。使用Visual Studio发布向导使它看起来像黑魔法。

答案 2 :(得分:0)

我理解ClickOnce版本检查algorythm如下:

  1. 如果客户端上安装的版本=部署到服务器的版本 - 什么都不做
  2. 如果客户端版本&lt;服务器版本 - 升级
  3. 如果客户版本&gt;服务器版本:
    1. 如果在客户端指定minimumVersion&gt; =服务器版本 - 显示错误,我们有
    2. 如果在客户端上指定了minimumVersion&lt;服务器版本 - 降级
    3. 如果未在客户端指定minimumVersion - 降级