2010-07-29 58 views
5

ClickOnce是否可以回滚?单击应用程序回滚

我该怎么做?

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

如何查看哪些文件在更新中下载?

回答

1

您不能直接回滚ClickOnce应用程序。您可以为旧版本提供更高的版本号,并重新部署/发布应用程序。更新ClickOnce应用程序时How can I roll-back a ClickOnce application?

在应用程序清单文件中描述的所有文件都下载:参见How can I rollback clickOnce if I have a minimum required version?

另外,您可以更改服务器端清单文件作为这里描述为指向旧版本的应用程序。应用程序清单文件包含有关ClickOnce应用程序中所有文件的信息。我建议阅读ClickOnce deployment上的msdn网站。

1

回滚
如果不指定最低版本,用户可以通过添加回滚一个版本/删除程序对话框的能力。如果你想在服务器上回滚部署,你需要使用新版本号的所有旧文件(就像@steenhulthin所说的那样)。

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

什么文件被下载
要查看下载什么文件,请使用Fiddler。它捕获并显示http流量,并且非常棒。学习它。用它。爱它。

只是一个额外的忠告。如果您使用Visual Studio进行发布,请停止。使用像Mage这样的工具需要更多的努力,但它可以帮助您了解ClickOnce实际上做了些什么。当它沸腾下来时,真的没有太多。使用Visual Studio发布向导使它看起来像黑魔法。

0

我明白ClickOnce版本检查algorythm如下:

  1. 如果在客户端安装的版本=版本部署到服务器 - 什么都不做
  2. 如果客户端版本<服务器版本 - 升级
  3. 如果客户端版本>服务器版本:
    1. 如果在客户端> =服务器版本上指定minimumVersion - 显示错误,因为我们有
    2. 如果m在客户端<服务器版本指定inimumVersion - 降级
    3. 如果客户未指定minimumVersion是 - 降级