【问题标题】:Click once application rollback单击一次应用程序回滚
【发布时间】:2013-09-24 23:54:31
【问题描述】:

是否可以回滚 ClickOnce?

我该怎么做?

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

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

【问题讨论】:

    标签: deployment clickonce rollback


    【解决方案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 网站。

    【讨论】:

      【解决方案2】:

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

      下载的内容
      仅下载已更改的文件。 ClickOnce 对您的所有文件进行哈希处理,并将该信息保存在应用程序清单中(没有 .application 扩展名的那个,如图)。如果服务器上的整体 ClickOnce 版本比客户端上的新,它会比较各个文件的哈希值以查看需要下载的内容。

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

      只是一个额外的建议。如果您使用 Visual Studio 发布,请停止。使用像 Mage 这样的工具需要更多的努力,但它可以帮助您了解 ClickOnce 到底做了什么。当它沸腾时,它真的没有很多。使用 Visual Studio 发布向导让它看起来像黑魔法。

      【讨论】:

        【解决方案3】:

        我理解 ClickOnce 版本检查算法如下:

        1. 如果客户端上安装的版本 = 部署到服务器的版本 - 什么也不做
        2. 如果客户端版本
        3. 如果客户端版本 > 服务器版本:
          1. 如果客户端上指定的 minimumVersion >= 服务器版本 - 显示错误
          2. 如果客户端上指定了 minimumVersion
          3. 如果未在客户端上指定 minimumVersion - 降级

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-11-21
          • 1970-01-01
          • 2017-09-24
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多