找回密码
 注册
搜索
热搜: 超星 读书 找书
查看: 806|回复: 1

[【解决】] 一个关于COM的问题

[复制链接]
发表于 2007-7-24 17:18:18 | 显示全部楼层 |阅读模式
大家好,前段时间我在编写COM组件时碰到一个问题,想了好久未能解决,衷心希望能得到大家的帮助。
问题概述:如何解决COM组件的DLL“Hell”问题。
问题详细描述:假设我先前发布了一个1.0版本的软件,里面包含了一个1.0版本的COM组件(当然可能是多个)。后来,软件升级到2.0版本,由于先前的考虑不周,必须对组件接口进行修改。因此,该2.0版本的软件发布后必然会引起DLL“Hell”问题。因为当1.0版本的软件在加载这个组件时,由于组件CLSID未变,导致找到的组件变成了新版本,当程序在调用这个新版本组件的接口函数时,问题出现了。
我的解决思想:由于组件的CLSID不能变(这是要求),因此,我想能否让组件创建时可以不通过读取注册表而直接获取组件的路径呢?我不知道是否可以利用那个manifest文件,另外我也听说过一些关于COM组件的私有发布方面的话题,但我并不太清楚这个私有发布是个什么意思?也不知道其能否解决我的问题。
衷心希望能得到大家的帮助
回复

使用道具 举报

 楼主| 发表于 2007-7-25 09:01:06 | 显示全部楼层
没有人碰到过因软件升级而出现的DLL"Hell"问题吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|网上读书园地

GMT+8, 2024-11-18 15:41 , Processed in 0.160718 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表