C# 使用clientaccesspolicy.xml在浏览器中具有提升权限的Silverlight 5

C# 使用clientaccesspolicy.xml在浏览器中具有提升权限的Silverlight 5,c#,silverlight,silverlight-5.0,C#,Silverlight,Silverlight 5.0,我正在尝试在浏览器中以提升的权限运行silverlight应用程序。然而,无论我做什么,它都不会提升 我尝试添加注册表项AllowEvatedTrustAppsInBrowser(作为值为1的DWORD),并使用VS 2012对XAP文件进行签名。我还看到一个博客提到了clientaccesspolicy.xml文件,但我也不能允许提升此文件的权限。我将xml文件放在承载显示XAP的html文件的web项目中 有人真的设法让它运行了吗 我也试着这样做:但我不确定在哪里运行他在windows上运行

我正在尝试在浏览器中以提升的权限运行silverlight应用程序。然而,无论我做什么,它都不会提升

我尝试添加注册表项AllowEvatedTrustAppsInBrowser(作为值为1的DWORD),并使用VS 2012对XAP文件进行签名。我还看到一个博客提到了clientaccesspolicy.xml文件,但我也不能允许提升此文件的权限。我将xml文件放在承载显示XAP的html文件的web项目中

有人真的设法让它运行了吗


我也试着这样做:但我不确定在哪里运行他在windows上运行的命令

Goodcat先生对如何启用浏览器内提升信任做了一个很好的总结,他还提供了一些故障排除提示:

  • 需要记住的一点是,即使您的应用程序以可信浏览器应用程序的形式运行,它仍然受到浏览器本身施加的安全限制的约束。这意味着它的可能性可能会比浏览器用完时受到更大的限制,例如Internet Explorer的保护模式。此外,Silverlight运行时本身限制对浏览器内受信任的应用程序使用某些功能,例如,当您在浏览器中运行时,无法使用窗口类和/或创建其他窗口

  • 如果上述任何一项都不适用于您,并且您仍然遇到问题,那么需要做的一件事是检查您的证书是否已正确安装。有一个管理控制台的管理单元。是一篇描述如何到达那里的文章(请注意,您应该为您的用户帐户添加管理单元,而不是本说明中的计算机帐户)

  • 您还可以检查您的注册表项是否实际且成功地被查询,例如,使用来自的Process Monitor之类的工具。注意访问我们在上面创建的密钥的浏览器可执行文件的“ReqQueryValue”类型的操作,并确保结果为“SUCCESS”


您需要签署Silverlight应用程序:我认为
clientaccesspolicy.xml
文件不适用于此问题,但无论如何,我认为此文件应该放在web服务器根目录中才能正常工作。摘自MSDN文档:“Silverlight运行时首先尝试使用HTTP协议在请求的目标域的根目录下下载名为clientaccesspolicy.xml的Silverlight策略文件。”我对其进行了签名,但我还需要将证书添加到“Trusted root Certification Authories”存储中,因为我通过VS使用测试证书,所以有一些建议“在那里”可以使用clientaccesspolicy.xml完成,但是所有证据都表明这是不可能的。还没有找到可靠的来源。我只在有限数量的计算机和公司网络上发布这个应用程序,所以证书应该可以。太棒了!我错过了将证书放入“受信任的根证书颁发机构”的步骤。感谢您提供有关证书和注册表项的额外提示。