由于公司开发的Silverlight软件给客户,
客户是不能上外网的。
又由于客户之前装过旧版本的Silverlight runtime,
运行不了新的Silverlight程序,
客户又懒,不愿意自已卸载,
没折了,只好想办法了。
silverlight运行出错处理是
javascript的onSilverlightError(sender ,args) 函数处理的。
当低版本runtime运行高版本的Xap就会报一个
错误码为8001,错误类型 initiailizeError的。
我在里面写一段javascript代码进行捕获一下,
if( args.ErrorCode == 8001 )
{
alert("您机器上Silverlight runtime版本太低,不能运行高版本的程序!");
window.location = "";//内网的一个runtime地址了
}
测试了一下,
会有两个小问题了。
1.就是IE的安全域问题会拦截runtime文件了,
这个客户在弹出提示框开一下就好了。
(客户懒,我也懒得在处理了)
2.就是安装之后,刷新是没用的,需要关闭整个浏览器了。
OK,可以了。
浙公网安备 33010602011771号