为什么我的DLL注册不了

firmbird 2003-04-23 05:39:41
我用ATL写了一个DLL,在多数机器上都可以注册,但是有几台机器就是注册不了,不知道是怎么回事,可能是什么原因引起的?请高手指点
...全文
268 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ilgold 2003-04-24
  • 打赏
  • 举报
回复
楼上地说得很对,很多情况都是这样的,不过有的时候即使注册上了

也不能用,原因是:

1.依赖的dll必须存在,系统路径或者当前路径
2.COM和依赖的dll之间,dll和dll之间的接口不能有错(这往往版本问题造成的)
donor 2003-04-24
  • 打赏
  • 举报
回复
还有一个原因,是ATL的bug,如果你用Release编译组件,然后在中文目录下注册就会出现这个问题
firmbird 2003-04-24
  • 打赏
  • 举报
回复
返回的错误号是:0x80040154 没有注册类型
brave_heart 2003-04-23
  • 打赏
  • 举报
回复
一般regsvr32注册DLL控件失败的原因是由于该控件所依赖的其他DLL不存在。
你可以在那几台不能注册的机器上,用VC自带的Depends工具检查一下该控件,如果有某个DLL不存在,Depends会用红色标记该缺失的DLL
free_card 2003-04-23
  • 打赏
  • 举报
回复
focus
经常使用电脑可能也遇到过了! 突然‘咚’的一声 提示 内存不能为read 这个问题我以前也遇到过不知道怎么解决 现在终于有办法了!呵呵! 我们就看看是什么原因引起的吧,另外附送一个小工具修复见下面附件 总结下大概以下9个原因 1、驱动不稳定,与系统不兼容,这最容易出现内存不能为 Read 或者文件保护(主要原因) 2、系统安装了一个或者多个流氓软件,这出现 IE 或者系统崩溃的机会也比较大,也有可能出现文件保护 3、系统加载的程序或者系统正在运行的程序之前有冲突,尤其是部分杀毒软件监控程序 4、系统本身存在漏洞,导致容易受到网络攻击。 5、病毒问题也是主要导致内存不能为 Read、文件保护、Explorer.exe 错误…… 6、如果在玩游戏时候出现内存不能为 Read,则很大可能是显卡驱动不适合(这里的不适合有不适合该游戏、不适合电脑的显卡)也有可能是 系统版本不够新或者不符合该游戏、显卡驱动 7、部分软件本身自身不足的问题 8、电脑硬件过热,也是导致内存不能为 Read 的原因之一。 9、电脑内存与主板兼容性不好也是导致内存不能为 Read 的致命原因! 以上大概就是目前可以引起系统提示 内存不能为read的原因了 另外软件是针对只是针对部分原因引起的内存不为read所做修复,不是100%有效,大家可以试试看 说下原理: 就是批处理使用 regsvr32命令 将动态链接库文件重新注册 (system32下的所有 .dll 和 .ocx 文件;) 注意:由于修复工具会重新注册 system32下的所有 .dll 和 .ocx 文件 此操作对杀毒软件来说属于敏感操作,所以建议使用修复工具的时候,请禁用杀毒软件,以免部分杀毒误报!jie
DirectX修复工具(DirectX repair)是一款完全由本人自主开发的系统级工具软件,简便易用。本程序为绿色版,无需安装,可直接运行。资源中的技术文档包含程序的部分源代码,以供编程爱好者交流。 本程序适用于多个操作系统,如Windows XP(需先安装.NET 2.0,详情请参阅“致Windows XP用户.txt”文件)、Windows Vista以及Windows 7,同时兼容32位操作系统和64位操作系统。本程序会根据系统的不同,自动调整任务模式,无需用户进行设置。 本程序的主要功能是检测当前系统的DirectX状态,如果发现异常则进行修复。本程序中包含了最新版的DirectX redist(Jun2010),并且全部文件都有Microsoft的数字签名,安全放心。 本程序为了应对一般电脑用户的使用,采用了傻瓜式一键设计,只要点击主界面上的“检测并修复”按钮,程序就会自动完成校验、检测、修复的全部功能,无需用户的介入,大大降低了使用难度。 本程序采用了多线程编程技术,可充分利用系统的资源,减少时间的等待。同时,针对部分低性能电脑,也做了一定程度的优化。 本程序有自动记录日志功能,可以记录每一次检测修复结果,方便在出现问题时,及时分析和查找原因,以便找到解决办法。 程序的“选项”对话框中包含了2项高级功能。点击其中的“注册系统中所有dll文件”按钮可以自动注册系统文件夹下的所有dll文件。该项功能不仅能修复DirectX的问题,还可以修复系统中很多其他由于dll注册而产生的问题,颇为实用。点击第二个按钮可以为dll文件的右键菜单添加“注册”和“卸载”项,方便对单独的dll文件进行注册。请注意,并不是所有的dll文件都可以通过这种方式注册。 程序附带了用户反馈程序,可以在用户允许的前提下发送检测修复结果。用户也可以在出现问题时通过反馈程序和软件作者进行交流,共同查找问题。反馈是完全匿名和自愿的。 本程序基于Microsoft .NET Framework 2.0开发,对于Windows 2000、Windows XP、Windows 2003的用户需要首先安装.NET Framework 2.0或更高版本才可运行本程序。有关下载和安装的详细信息请参阅“致Windows XP用户.txt”文件。对于Windows Vista、Windows 7用户,可以直接运行本程序。

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧