管仲窥豹故事:Dll组件问题紧急求救,解决了有重谢!

来源:百度文库 编辑:中科新闻网 时间:2024/04/28 06:35:31
我在我的ASP网站,一直依赖一个我自己用VB6编写的组件hnsn.dll,里面有一个类模块HTMLEncode,里面包括了网站的核心内容。
最近,我把我的办公电脑重装系统后,发现这个组件用不了啦。在用regsvr32 c:\windows\hnsn.dll命令注册完这个组件后,打开网站,IIS提示:
Server 对象 错误 'ASP 0177 : 800401f3'
Server.CreateObject 失败
/Default.asp,行 3
800401f3
值得一提的是,重装系统后,我网站中所有的ASP文件和hnsn.dll都没有任何修改,而且把hnsn.dll和网站所有源程序拷贝到其它四台机器上,注册后,都使用正常,所以基本上可以排除ASP文件和hnsn.dll损坏的可能。另外,一般情况DLL文件被注册并调用一次后,应处于锁定状态,而我的机器上,并没有被锁定,依然可以改名或删除。
regsvr32 c:\windows\hnsn.dll注册后,提示成功,注册表中有如下键值:

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{5F2777F7-0633-4C58-9E63-07AD3F220129}]
@="hnsn.HTMLEncode"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{5F2777F7-0633-4C58-9E63-07AD3F220129}\Implemented Categories]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{5F2777F7-0633-4C58-9E63-07AD3F220129}\Implemented Categories\{40FC6ED5-2438-11CF-A3DB-080036F12502}]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{5F2777F7-0633-4C58-9E63-07AD3F220129}\InprocServer32]
@="c:\\windows\\hnsn.dll"
"ThreadingModel"="Apartment"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{5F2777F7-0633-4C58-9E63-07AD3F220129}\ProgID]
@="hnsn.HTMLEncode"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{5F2777F7-0633-4C58-9E63-07AD3F220129}\Programmable]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{5F2777F7-0633-4C58-9E63-07AD3F220129}\TypeLib]
@="{03414D0D-FC77-412A-B25C-C1816EF7DD36}"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{5F2777F7-0633-4C58-9E63-07AD3F220129}\VERSION]
@="1.0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\hnsn.HTMLEncode]
@="hnsn.HTMLEncode"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\hnsn.HTMLEncode\Clsid]
@="{5F2777F7-0633-4C58-9E63-07AD3F220129}"

regsvr32 /u c:\windows\hnsn.dll反注册后,以上键值消失

在一台正常工作的服务器上,相应的键值为:
[HKEY_CLASSES_ROOT\CLSID\{11CCC44D-CE1B-4339-B037-FE984FBD3AD0}]
@="hnsn.HTMLEncode"
[HKEY_CLASSES_ROOT\CLSID\{11CCC44D-CE1B-4339-B037-FE984FBD3AD0}\Implemented Categories]
[HKEY_CLASSES_ROOT\CLSID\{11CCC44D-CE1B-4339-B037-FE984FBD3AD0}\Implemented Categories\{40FC6ED5-2438-11CF-A3DB-080036F12502}]
[HKEY_CLASSES_ROOT\CLSID\{11CCC44D-CE1B-4339-B037-FE984FBD3AD0}\InprocServer32]
@="D:\\hnsn_sql\\hnsn.dll"
"ThreadingModel"="Apartment"
[HKEY_CLASSES_ROOT\CLSID\{11CCC44D-CE1B-4339-B037-FE984FBD3AD0}\ProgID]
@="hnsn.HTMLEncode"
[HKEY_CLASSES_ROOT\CLSID\{11CCC44D-CE1B-4339-B037-FE984FBD3AD0}\Programmable]
[HKEY_CLASSES_ROOT\CLSID\{11CCC44D-CE1B-4339-B037-FE984FBD3AD0}\TypeLib]
@="{22CE045A-3C60-4F54-955C-B7AD91C58D9D}"
[HKEY_CLASSES_ROOT\CLSID\{11CCC44D-CE1B-4339-B037-FE984FBD3AD0}\VERSION]
@="48.0"
[HKEY_CLASSES_ROOT\hnsn.HTMLEncode]
@="hnsn.HTMLEncode"
[HKEY_CLASSES_ROOT\hnsn.HTMLEncode\Clsid]
@="{11CCC44D-CE1B-4339-B037-FE984FBD3AD0}"
我试过把IIS卸了,然后再"先注册这个组件,再安装IIS",还是不行,另外,我的系统已经打了SP1,而一直都是自动更新的,

是系统的原因吧,建议更新系统补丁!另外再将IIS重装一次

先注册这个组件,再安装IIS

看来你的系统应该打补丁了