1

I have a hyperlink button on a silverlight page. The NavigateUri property is set to a UNC folder path (\\myserver\folder). In Silverlight 4 I could click on the link and it would open the folder (after prompting the user to Allow access). In Silverlight 5 clicking on the link produces a javascript error (shown below). Is this a new restriction with Silverlight 5? Is there a work around?

Thanks

Webpage error details


Message: Unhandled Error in Silverlight Application Attempted to perform an unauthorized operation.   at MS.Internal.XcpImports.CheckHResult(UInt32 hr)
at MS.Internal.XcpImports.NavigateToSafeURI(String location, String target, Boolean checkUserInitiatedAction)
at MS.Internal.NavigationHelper.Navigate(Boolean checkUserInitiatedAction)
at System.Windows.Controls.HyperlinkButton.OnClick()
at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.Controls.Control.OnMouseLeftButtonUp(Control ctrl, EventArgs e)
at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName, UInt32 flags)
Line: 1
Char: 1
Code: 0
4

1 回答 1

0

这是 Silverlight 5 中引入的新限制。他们改进了安全模型以使其更安全,但也明确允许这种行为。

您现在可以在浏览器中运行受信任的应用程序,而不是作为浏览器外的应用程序。您需要将应用程序配置为将成为受信任的 OOB 应用程序,因为“需要提升的信任”和“显示安装菜单”设置是 OOB 配置的一部分。

要在浏览器受信任的应用程序中启用,您需要在客户端计算机上编辑注册表:

创建/设置AllowElevatedTrustAppsInBrowser为 1

这可以在HKEY_LOCAL_MACHINE\Software\Microsoft\Silverlight\32 位机器或HKEY_LOCAL_MACHINE\Software\Wow6432NodeaMicrosoft\Silverlight\64 位机器中找到。

此外,必须使用有效证书对 .xap 文件进行签名,并且必须安装该证书。

资源

于 2013-06-04T21:24:25.747 回答