繁体   English   中英

当使用CreateObject从VBScript引用COM上的C ++ DLL时,如何处理DLL版本?

[英]How can you handle DLL versions when referencing C++ DLL's over COM from VBScript with CreateObject?

我们正在使用强制使用VBS的软件,但是我们的分析库是用C ++编写的,因此,我创建了一个C ++ DLL,用于抽象化分析库并通过COM接口传递它们,以便可以在VBS中访问这些功能。使用CreateObject

我有一个安装程序,该程序在ProgramFiles中创建一个目录来存储相关的DLL文件,然后使用RegAsm.exe注册该目录以供COM使用。

它当前可以正常运行,这很好,但是会导致以下问题: 如果两个VBS脚本需要DLL的两个不同版本,如何在VBS中指定要访问的版本?

CreateObject似乎没有指定您想要的DLL版本的方法,因此我不太确定从这里开始...处理此问题的正确方法是什么?

从当前开始,如果有人要使用旧的VBS脚本,他们别无选择,只能运行相应的旧版本的安装程序以将其DLL降级为正确的版本。

我只是决定更新ProgID以包含每个主要版本/发行版的当前版本。

我不确定这是否被认为是好的做法,但这似乎是在VBScript中指定DLL版本的唯一方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM