很少查询了解com+注册

本文关键字:com+ 注册 了解 查询 | 更新日期: 2023-09-27 17:53:17

我必须在一些遗留的asp.net web表单项目中工作,该项目使用com dll进行一些方法调用。

由于我从未使用过com . dll,因此问题很少,但没有得到足够清楚的答案。如果你能回答这些问题,这将对理解他们的工作方式有很大帮助。

    当我们将一些dll注册为com dll(post它显示在组件服务中)时,那么将有一个dll的副本并由windows保存在某个地方,或者该组件总是指向注册的dll的相同路径。

  1. 如果我删除dll后注册,注册的com组件仍然工作吗?

  2. 关于依赖的dll,所以假设我注册了一些依赖于xyz.dll的abc.dll (not . com dll),当我从路径注册abc.dll时,在同一路径中也有xyz.dll,所以注册后当我的客户端应用程序需要abc.dll作为com组件调用它时,那么abc.dll将在我的应用程序的bin中查找xyz.dll,或者它会从abc.dll首次注册的地方看吗?

  3. 如果我做任何代码更改abc.dll(com dll),即使不改变它的版本#,我知道我仍然需要重新注册abc.dll,是正确的吗?

  4. 我如何找出所有依赖一个com组件与他们的版本信息?

  5. 谢谢。

    很少查询了解com+注册

    1. 当您注册一个组件或将其添加到目录中的应用程序时,它的位置将在注册表中设置。没有创建副本。
    2. 在尝试初始化类时会遇到ERROR_MOD_NOT_FOUND错误。
    3. Windows将首先在应用程序目录中查找依赖的DLL,然后再尝试其他位置。注册的COM组件的目录在后续的搜索顺序中不起作用。
    4. 除非你彻底改变组件的布局,比如改变UUID,或者添加新的接口或类,否则不需要重新注册DLL。
    5. 你可以试试Dependency Walker。