【问题标题】:Click once application - retry the installation of a previously rolled back update单击一次应用程序 - 重试安装以前回滚的更新
【发布时间】:2014-09-09 10:07:17
【问题描述】:

我有一个 .NET ClickOnce 应用程序。有时新版本的安装失败,用户无法再启动应用程序。

在本地计算机上卸载失败的应用程序并重新安装时,一切正常。

当我回滚到以前的版本(从 Windows 控制面板)时,它也可以工作,但回滚后我无法重试安装失败的更新。这意味着,即使我尝试通过代码显式更新它,客户端也会忽略回滚后的较新版本(实际上是在服务器上发布的)。我使用的代码类似于这个例子http://msdn.microsoft.com/en-us/library/ms404263.aspx

有什么方法可以重试安装以前回滚的更新?


我现在已经使用另一个应用程序对其进行了测试,该应用程序也使用 ClickOnce 直接从 Visual Studio 部署到 IIS 服务器。行为略有不同。当我在启动应用程序后回滚应用程序时,它确实提供了一次更新,但在拒绝更新后,它在启动期间不再提供。

所以现在在我看来,也许从安装 URL 而不是从快捷方式启动应用程序可能会奏效。但可以肯定的是,我会等到更新再次失败。

【问题讨论】:

  • 不知道您的问题的答案,但我知道 WiX 爱好者对 ClickOnce 嗤之以鼻,并说它存在某些内在问题。 stevestreeting.com/2013/05/12/… 抱歉,我以为我可以找到其他链接,但找不到 - 我确定我在 WiX 邮件列表等上看到过 ClickOnce 的讨论(相当消极)。
  • @RenniePet 是的,当我决定应用程序更新技术时,我已经阅读了那篇文章。对我来说,这仍然是最简单的方法,并且没有太大的麻烦。
  • 单击一次应该检查版本号,如果服务器包含更新(更高)的版本,它应该下载它。确定回滚版本上的版本号小于服务器上的版本号吗?
  • @pSattele:是的,我是。问题可能与此stackoverflow.com/questions/5106000/… 有关。不过还是谢谢。

标签: .net clickonce


【解决方案1】:

今天我遇到了与 ClickOnce 更新相同的问题,如下所述: ClickOnce: Value does not fall within the expected range

我能够使用这些步骤回滚并安装新版本:

  • 我从控制面板添加/删除程序回滚到以前的版本。
  • 然后在 Internet Explorer 中手动打开安装 URL,新版本已下载并安装并正常运行。

【讨论】:

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