ASP 0177:800401f3 错误解决
操作系统:Windows2000,IIS5
出现症状:使用ASPJPEG时执行Server.CreateObject("Persits.Jpeg")
ASP错误提示:
Server 对象 错误 'ASP 0177 : 800401f3'
Server.CreateObject 失败
无效的 ProgID。 若要获取关于此消息的更多的信息,请访问 Microsoft 联机支持站点: 。
问题分析:
提示Server.CreateObject 失败 ,一定是组件问题,应该从组件上着手
解决过程:
重新启动IIS,未成功;
重新安装ASPJPEG,未成功;
在ASPJPEG.DLL目录执行Regsvr32 aspjpeg.dll,提示注册成功,运行依然失败;
换ASPJPEG另外一个版本安装,运行失败;
尝试在组件服务中注册此组件,运行失败;
考虑是否是其他问题,想到了组件权限,给aspjpeg.dll加上Everyone完全控制,重启IIS,运行继续失败;
将IIS的匿名用户IUSR_****更改成administrators组的用户,输入用户密码,重启IIS,执行成功。
本次问题解决了一半,ASPJPEG已经可以使用,但这样解决不能彻底解决问题,还会造成安全问题。本地测试可以使用此方法,不能在服务器等安全性需要较高的地方使用,继续寻找解决办法
该方法的缺点:赋予了IIS的匿名用户是管理员组成员后,IIS的访问用户就是以管理员身份登陆,在服务器环境下,客户端用户就可以很容易的控制服务器甚至破坏服务器。
新的解决办法:
点击“开始”-“运行”,输入“regedt32”,点击确定运行该注册表编辑器;
依次点击“HKEY_CLASSES_ROOT”、“Persits.Jpeg”,点击编辑器窗口工具栏上“安全”-“权限”,添加“IUSR_XXXX”用户,选择“读取”权限,点击确定;
依次点击“HKEY_CLASSES_ROOT”、“Persits.Jpeg.1”,点击编辑器窗口工具栏上“安全”-“权限”,添加“IUSR_XXXX”用户,选择“读取”权限,点击确定;
点击关闭按钮推出注册表编辑器;
重启IIS;
此时访问asp探针,ASPJPEG项已经显示支持,问题圆满解决。