Q:
程序用Silverlight3写的!但是客户端安装了 Silverlight4, 有时候会弹出下面确认框.
如果在安装Silverlight3的客户端访问则不会出现上面的弹出框!
如果把 Internet 的Protected Mode:Off 他就不会弹出来!
上面的agcp.exe程序路径在安装了Silverlight4的 C:\Program Files\Microsoft Silverlight\4.0.50524.0\Agcp.exe 这个怎么回事啊? 跟IE安全设置有关吗? 期待你的答复... 谢谢!
A:
您好,
您遇到的这个问题是由于IE的安全机制,为了阻止威胁性的代码启动其它进程或向其他进程发送信息引起的。根据您的描述,Silverlight尝试运行C:\Program Files\Microsoft Silverlight\4.0.50524.0\Agcp.exe(这是Silverlight自带的) ,IE会在启动进程之前先要求用户提供许可。
一般而言在Silverlight安装的时候,会自动把这个exe注册到:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Low Rights\ElevationPolicy\{1ec76a37-1762-46ff-9b14-765b3e6793be}(对于64位系统)
或
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Low Rights\ElevationPolicy\{1ec76a37-1762-46ff-9b14-765b3e6793be}(对于32位系统)
下
您可以检查一下那台装了Silverlight4的机器是否有类似的注册表键值。有了这个键值的话就会自动Elevate,不会弹出这样一个Internet Explorer Security的警告框。如果没有这个键值的话,我建议您可以尝试卸载Silverlight 4并重新安装。(如果实在不行的话也可以考虑手动添加,不过如果重装Silverlight能自动修复的话当然最好)
感谢微软MSDN论坛版主提供的解决方案!