使用新的Silverlight 5,我们现在可以拥有一个浏览器内升级信任应用程序。 但是,我在部署应用程序时遇到了一些问题。
当我从Visual Studio测试应用程序时,一切正常,因为如果网站托管在本地计算机上(localhost,127.0.0.1),它会自动赋予每一项权利。
我在MSDN上看到,我必须遵循3个步骤才能在任何网站上运行:
AllowElevatedTrustAppsInBrowser
添加注册表项。第三步是我最不确定的一步。我们是否需要在本地计算机或服务器上添加此注册表项? Silverlight中是否有任何自动功能来添加此密钥,还是制作批处理文件更好?
即使使用这三个步骤,当从另一个URL调用时,应用程序仍然无法正常工作。
是否有人成功实施了浏览器内升级信任应用程序?你看到我做错了吗?
来源:
答案 0 :(得分:12)
有很多很好的资源来描述这个过程,包括回答中提到的那些。我想记录对我们有用的步骤。 (Silverlight 5.1.10411.0)
以下是我们为启用浏览器内可信应用程序而采取的步骤:
SL 64 bit path: HKLM\Software\Wow6432Node\Microsoft\Silverlight
SL 32 bit path: HKLM\Software\Microsoft\Silverlight
<RequireInBrowserElevation>true</RequireInBrowserElevation>
<InBrowserSettingsFile>Properties\InBrowserSettings.xml</InBrowserSettingsFile>
<InBrowserSettings>
<InBrowserSettings.SecuritySettings>
<SecuritySettings ElevatedPermissions="Required" />
</InBrowserSettings.SecuritySettings>
</InBrowserSettings>
注意:
答案 1 :(得分:2)
我已成功创建了浏览器中的Silverlight 5应用,其中包含this msdn article的提升权限。 您可以随时检查您的应用是否具有提升的权限:
Application.Current.HasElevatedPermissions
我的问题是,虽然它在Firefox 14中没有问题,但IE9需要在Windows 7中以管理员身份运行。 我目前正在寻找一种方法,使其无需以管理员身份执行IE。 如果有人知道如何做到这一点,我将不胜感激。
修改强>
哇。实际上来自Aaron McIver帖子的链接对我帮助很大。我刚关闭了“启用保护模式”,现在没有管理员权限就可以正常工作。 :d
答案 2 :(得分:1)
注册表编辑需要在客户端计算机上;执行Silverlight应用程序的机器。
demo available有一个XAMLGEEK;因为你布置的一切都应该让你处于工作状态。 Mike Taulty也有excellent walk through。
答案 3 :(得分:0)
我想将Silverlight应用程序连接到托管应用程序的同一主机地址上的端口10001上的套接字。
是否可以在不改变客户端的任何内容的情况下完成此操作?
答案 4 :(得分:0)
我也面临同样的问题
当我们使用仅适用于本地计算机的测试证书时。
您必须使用其他证书对您的应用进行签名,它才能正常运行。