都是ATL.DLL惹的祸

lhaoyue 2001-01-11 01:54:00
用VC的ATL做COM组件,确实很爽(个人观点)。可有一个问题不知大家注意到了没:你做的COM组件在有的机子上注册不上,做了个COM嵌在网页中,用浏览器在有的机子上就是下载安装不上。问题就在ATL.DLL上,它本身也是个COM,如用户的机子上没有已注册的ATL.DLL,那方才说的问题就出现了。WIN 2000,WIN ME操作系统上已有此dll,可9X,NT 上确省可没有,装了VC,NETMEETING 3之类的会有,但不能指望用户机子上装了这些东东吧?特别是用于网页的ocx,你要提醒用户先在自己的机子上找找有没有ATL.DLL,如没有,则如何如何...?!那就做个INF文件,加上你的OCX与ATL.DLL打成一个CAB。哪网景浏览器呢?我在网景公司的网上得知‘Esker ActiveX Plug-in’可使网景浏览器支持ACTIVEX 控件,如今最新是4.1板,我们一直在用着,还算行吧。可它不支持CAB!
气人:(。以前我用BCB做控件,没遇过ATL.DLL问题。因为有一次做的ASP组件在在9X,NT下均没问题,正好客户的SERVER用的是2000,结果在2000上没注册上。用VC做了一个是可以的,再加上其他一些原因吧,现在就用VC了,可没想到又遇上ATL.DLL问题,唉,怎么办?小弟技术,经验都差,不知为什么用BCB做的就不需要ATL.DLL,它的下面用的也是ATL呀!ATL.DLL有静态联编版本?我不知道,谁知道?先谢谢了。
或则在网页上也将加上版本号,CLSID的ATL.DLL嵌进去,用户有就算了,无则下。是个办法,不过,谁有微软签过名的ATL.DLL?我可不能用自己的证书给它(ATL.DLL)签名,微软找我麻烦咋办?看来也不行。

怎么办?
1.找个支持CAB的网景浏览器插件?我没找到,谁有?
2.静态联编ATL.DLL?谁有此库?
3.有微软签名的控件来解决?谁有?

我现在的方法是,让用户先下载个程序执行,将ATL.DLL拷在%system%下,然后regsvr32 ATL.DLL,可也太...不好了吧?

如何解决?谢谢各位了先!!!
...全文
349 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lhaoyue 2001-01-11
  • 打赏
  • 举报
回复
thanks
seman 2001-01-11
  • 打赏
  • 举报
回复
上面写错了,应该是注册成功后不能 CreateInstance
seman 2001-01-11
  • 打赏
  • 举报
回复
我选择过Release MinDependency 连注册都不成功。
Edward 2001-01-11
  • 打赏
  • 举报
回复
选择 Release MinDependency 就可以不用 ATL.DLL 和 MSVCRT.DLL 了!

3,245

社区成员

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

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