我正在尝试使用 WiX 安装程序在 COM 上注册一个库,但它似乎忽略了我。
到目前为止我尝试过的是:
使用heat.exe收集与 .dll 对应的所有信息。
创建了一个片段,其中包含我从 heat.exe 获得的所有信息。 我将所有收集到的信息复制到一个组件中,以使事情变得更容易。
我使用 a 调用组件
ComponentRef
,该组件指向包含要注册的 dll 相关信息的组件。我使用自定义操作将其注册到 COM:
<CustomAction Id="RegisterComLibrary" Directory="ComPublishDllFolder" ExeCommand="regsvr32.exe /s [ComPublishDllFolder]MyLibrary.dll />
插入:
CustomAction
_InstallExecuteSequence
<InstallExecuteSequence> <Custom Action="RegisterComLibrary" After="InstallFinalize">NOT Installed</Custom> </InstallExecuteSequence>
但是,当我尝试使用oleview在 COM 中查找 .dll或尝试将其与 Visual Studio 一起使用时,我看不到它。
我做错了什么?
注意:我在尝试手动注册时收到以下消息:
The module "MyComObject.dll" was loaded but the call to DllRegisterServer failed.
Ensure that "MyComObject.dll" is a valid DLL or OCX and try again.