我可以在启动XBAP之前以编程方式检查完全信任吗?

时间:2011-02-10 18:20:28

标签: wpf .net-4.0 xbap

我创建了一个完全信任的XBAP应用程序,当使用.NET 4.0和BrowserInteropHelper加载页面时,该应用程序存在于隐藏框架中,后者为我提供了主机网页与客户端文件系统访问之间的通信。所有这一切都很完美。

我找到了以下安装过程,其中我提供了一个支持URL @ Project Properties Page>发布>描述下的选项。然后,当用户获得“Trust Not Granted”错误时,用户所看到的支持链接可以提供一系列步骤,让最终用户走过安装过程,最终让用户授予XBAP完全信任。

http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/b6f33aa4-4399-430f-ba0f-81fa8ff6efec/

这对我来说很好,但是我希望在页面加载时为最终用户提供的控件是无UI的。因此,上面提到的模型不起作用,因为用户无法看到“Trust Not Granted”错误并单击控件上的链接以完成授予信任的过程。

然后,我考虑创建一个没有UI的第二个控件,该控件标记为PartialTrust,该控件使用与完全信任控件相同的证书进行签名,并从隔离的存储沙箱中执行IO操作,以查看是否允许该控件访问执行操作,因为它具有与已在受信任的发布商商店中安装的相同的证书,没有运气。

然后我看到一篇文章,关于在受信任区域中执行的完全信任XBAP如何在启动之前通过一次性clickonce验证过程,其中用户可以授予该软件的发布者并授予XBAP完全信任。我认为这可能是另一种选择,所以我进一步调查,但发现以编程方式检查可信站点似乎有点笨拙,因为我真正找到的唯一解决方案是你创建一个activex对象,否则该站点将无权创建,如果它不是一个值得信赖的网站。

我真正想要的是某种可靠的模型,它可能是90%的解决方案,用于确定XBAP是否已被授予完全信任,或者当前域是否已被标记为可信站点以便结束用户可以完成clickonce过程。

提前感谢您的帮助!

编辑: 所以我认为解决方案是写我的问题的一部分,还没有尝试,但我认为只要你们中有人有更好的建议就足够了。

  1. 在启动页面之前,需要无UI控件将用户引导到先决条件页面,该页面加载使用与无UI控件使用的相同证书签名的FullTrust XBAP。

  2. 重定向到具有完全信任XBAP WITH UI的先决条件页面,该UI使用与无UI控件相同的证书进行签名。

  3. 如果用户看到信任未授予错误,他们可以使用作为错误一部分提供的支持URL来完成安装过程。

  4. 用户完成安装所需的步骤后,会向用户显示一个链接,将其发送回先决条件页面。

  5. 每当控件加载到先决条件页面时,用户认为授予XBAP完全信任后,通过.NET 4.0支持的javascript互操作执行代码,将用户重定向到具有无UI控件的页面。

0 个答案:

没有答案