我正在研究一個ActiveX,其中相同的代碼庫應該用於兩個不同的ActiveX,也就是說,我有從多個DLL構建的單個解決方案。 當我構建用於爲ActiveX A創建CAB的解決方案時,我將DLL類ID更改爲特定的ID,並且當我爲創建第二個ActiveX的CAB而創建該ID時,我將類ID更改爲其他。ActiveX註冊
我需要兩個ActiveXs才能在同一臺機器上運行。 基本上,它工作正常,除了在某些情況下,我運行不同版本的ActiveX(ActiveX A是從比ActiveX B舊代碼版本)有不想要的行爲。 它看起來像ActiveX從ActiveX B(這是從不同的代碼版本)加載一些DLL。
對不起,長的描述,但最後的重要信息,因爲這兩個ActiveXs來自相同的代碼,我有相同的類名暴露給調用ActiveX的JavaScript。 在註冊表存在除了以下所有的鍵總分離(的NetworkInterface在暴露的類):
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MyActiveX.NetworkInterface\CLSID]
@="{31ED2205-F6AE-4133-AD30-60CA2783ADA6}"
當安裝的ActiveX我看到的正確的類ID這個條目,但在安裝第二個ActiveX密鑰時被第二個ActiveX覆蓋。
是否有可能實現我想要實現的目標? 有沒有辦法讓同一個班級註冊不同的班級ID?
謝謝。