最近碰到一个怪问题,在某次系统重启后,IIS出问题了,打开http://localhost/default.asp提示:在服务器上找不到脚本语言“JavaScript”,因为程序上用到了< script language="JScript" runat="Server" >,所以要用到“JavaScript“。百度搜索,大都说修改HKEY_LOCAL_MACHINESOFTWAREClasses的权限,但我检查了我的没问题,有的说“regsvr32 script.dll”,但我照做了也没用。最近忙,一旦出现了这个问题,只好恢复系统,每天晚上关机时用休眠,但有时必须重启系统时又出现问题了。怀疑与360升级、支付宝安全控件升级、flash控件升级、云端程序等软件有关,因为以前有一次类似问题是由于安装完美解码(还是终极解码,忘记了)后注册表权限被修改所导致的。
搞了很多次今天终于有了突破,查出问题时注册表HKEY_LOCAL_MACHINESOFTWAREClassesJavaScript项没有了,regsvr32 script.dll 后可以生成HKEY_LOCAL_MACHINESOFTWAREClassesJavaScript项,但运行http://localhost/default.asp还是提示错误,但错误提示与之前不一样了,搜索注册表发现有HKEY_LOCAL_MACHINESOFTWAREWow6432Node,这是64位系统专用的注册表项,怀疑64位下regsvr32 script.dll 只对32位程序有效,64位下还是没有运行script.dll,于是用“regsvr32 C:WindowsSysWOW64jscript.dll”,居然成功了!