none
具有 elevated trust的OfB应用程序自动更新总是抛出PlatformNotSupportedException 错误 RRS feed

  • 问题

  • 我开发了一个具有 elevated trust的Silverlight Out-of-Browser 应用程序。但是通过CheckAndDownloadUpdateAsync 方法去检查更新的时候,总是得到PlatformNotSupportedException错误,以至于不能完成更新。

    完全不知道问题出在哪里。


    Once in a Redmoon

    2012年3月6日 8:12

答案

  • 找到原因所在,和解决办法了,但是我觉得这个是Silverlight 5 SDK的bug。

    我另外建立了一个测试项目,使用了同样的更新代码,结果一切正常。

    后来详细比较两个项目配置的差异,发现不能正常更新的项目,多了InBrowserSettings.xml,可能是我之前勾过“Require elevated trust when running in-browser"选项,后有取消掉了这个选项。

    我删除掉InBrowserSettings.xml文件后,还是不能正常更新。只好直接打开csproj文件,删除掉里面的InBrowserSettingsFile和RequireInBrowserElevation节点。

    之后就一切正常了。


    Once in a Redmoon

    • 已标记为答案 redmoon 2012年3月8日 10:31
    2012年3月8日 10:31

全部回复

  • 可能找到问题所在了,在msdn文档中,提到:

    Silverlight 4 为运行具有提升的信任的浏览器外应用程序提供支持。受信任的应用程序不能使用本节中描述的更新机制,除非应用程序和更新都使用同样有效的、代码签名证书进行了签名。若要更新没有有效签名的受信任的应用程序,用户必须卸载旧版本并且手动安装新版本。有关更多信息,请参见受信任的应用程序

    难道就是我只对publish进行了前面,而没有对程序集进行签名引起的?


    Once in a Redmoon

    2012年3月7日 1:36
  • 看来也不是这个原因,我对xap和程序集都进行了签名了,且签名前后都是一致的。还是总是不能更新。

    Once in a Redmoon

    2012年3月7日 2:42
  • 你好,

    你的问题出现的原因一种可能性是你的客户端Silverlight运行时是旧的版本(以致不能运行你现在的Silverlight程序)。

    如果你的Silverlight程序是Silverlight 4版本的,请尝试安装一下最后版本的Silverlight 4运行时 或者是安装最新的Silverlight 5运行时


    Daoping Liu - MSFT

    2012年3月8日 2:24
    版主
  • 我用的是Silverlight 5。但是在我的机器上进行测试也是有这个问题,也就是不存在客户端Silverlight运行时和发布所用的运行时不一致的问题。

    现在怀疑是我的开发机器有问题(之前就一直存在着IE中32bit的运行时有问题的情况),所以编译出来的xap有问题导致检查的更新的时候出现问题。


    Once in a Redmoon

    2012年3月8日 3:24
  • 你好,

    我建议你可以在另外的机器上新建一下简单的程序来试试,看看是否是你原来的机器有问题。


    Daoping Liu - MSFT

    2012年3月8日 4:40
    版主
  • 找到原因所在,和解决办法了,但是我觉得这个是Silverlight 5 SDK的bug。

    我另外建立了一个测试项目,使用了同样的更新代码,结果一切正常。

    后来详细比较两个项目配置的差异,发现不能正常更新的项目,多了InBrowserSettings.xml,可能是我之前勾过“Require elevated trust when running in-browser"选项,后有取消掉了这个选项。

    我删除掉InBrowserSettings.xml文件后,还是不能正常更新。只好直接打开csproj文件,删除掉里面的InBrowserSettingsFile和RequireInBrowserElevation节点。

    之后就一切正常了。


    Once in a Redmoon

    • 已标记为答案 redmoon 2012年3月8日 10:31
    2012年3月8日 10:31