我们正在使用强制使用VBS的软件,但是我们的分析库是用C ++编写的,因此,我创建了一个C ++ DLL,用于抽象化分析库并通过COM接口传递它们,以便我可以访问它们CreateObject
在VBS中发挥作用。
我有一个安装程序,该程序在ProgramFiles中创建一个目录来存储相关的DLL文件,然后它使用RegAsm.exe注册该目录以供COM使用。
它目前可以正常运行,这很好,但是会引发以下问题:如果两个VBS脚本需要DLL的两个不同版本,我如何指定要在VBS中访问哪个版本?
CreateObject似乎没有指定所需DLL版本的方法,因此我不太确定从这里开始...处理此问题的正确方法是什么?
从目前开始,如果有人要使用旧的VBS脚本,他们别无选择,只能运行相应的旧版本的安装程序以将其DLL降级到正确的版本。
答案 0 :(得分:1)
我刚刚决定更新ProgID,以包含每个主要版本/发行版的当前版本。
我不确定这是否被认为是好的做法,但这似乎是在VBScript中指定DLL版本的唯一方法。