代码之家  ›  专栏  ›  技术社区  ›  Rodney

具有提升信任和签名证书的Silverlight 4 OOB应用程序不更新?需要重新安装吗?

  •  2
  • Rodney  · 技术社区  · 14 年前

    我有一个 OOB app 这不需要提高信任,也没有签署。很多人已经下载并使用它OOB。

    然后我需要使用提升的信任特性,所以我 bought a legitimate certificate 从科摩多来的,我现在签了。一切都在localhost上运行良好-它是可信的,可以识别证书。

    然而,一旦我 uploaded the new version

    我在另一台计算机上卸载了旧的OOB应用程序,并且签名的证书在安装时运行良好(即,我收到了“可信发布者”的安装消息),因此这不是签名问题。你可以看到 live here

    更新 :我做了更多的测试:我删除了提升的信任并再次上传。未更新的旧计算机会更新,而另一台计算机上的新计算机(提升信任+签名)不会更新。因此,更新过程似乎无法处理信任提升中的更改,无论它是否已签名。这是一个大问题,所有的用户谁将被困在一个旧版本,永远不会知道它。

    3 回复  |  直到 7 年前
        1
  •  2
  •   Chris Anderson    14 年前

    很遗憾,您的用户需要卸载并重新安装应用程序。这不是一个bug本身(我不相信),而是更多的设计。如果你看看MSDN上的这篇文章: http://msdn.microsoft.com/en-us/library/dd550721(VS.95).aspx ,您将看到它声明:

    silverlight4提供了对浏览器应用程序信任度提升的支持。受信任的应用程序不能使用本节中描述的更新机制,除非应用程序和更新都已使用相同的有效代码签名证书签名。要更新没有有效签名的受信任应用程序,用户必须卸载旧版本并手动安装新版本。

    在最后一句话中(以一种迂回的方式)似乎或多或少地表明,拥有未签名应用程序的用户将需要卸载该应用程序,然后安装信任度提高的应用程序来更新它。我读过一些更确切的说法,但记不起是在哪里说的对不起:(。

    克里斯

        2
  •  1
  •   jv42    12 年前

    我假设因为应用程序现在需要一个UI确认来确认提升的信任,所以现有的不受信任的应用程序无法在更新时处理这个UI,所以它不会下载它。

    所以在我看来,底线是,如果你改变了信任度,你就把所有已经安装了你的应用程序的人都隔离了。

    因此,似乎有两种选择:

    1. 只需更新应用程序,并依靠博客等告诉他们,他们必须卸载并重新安装。这很糟糕,因为他们不知道有一个已知的版本,可以在不知道的情况下再使用旧版本10年。另外,如果他们去的在线版本,它认为它已经安装,所以不会提供安装菜单,直到你再次卸载旧的-非常混乱!我想这就是蒂姆·豪尔(timheuer)在Facebook上签名的应用程序所走的路线- http://timheuer.com/blog/archive/2010/04/15/silverlight-client-for-facebook-updated-for-silverlight-4-release.aspx

        3
  •  0
  •   TChadwick    11 年前

    修复那些需要更新的用户的一个好方法是为他们提供一个可以自动更新的小应用程序。使用本文: Install Silverlight-out-of-browser