1

我有一个使用 ATL COM 创建的 Excel 插件。通常这个插件是使用自我注册安装的,但我想摆脱它。我创建了一个手动将所有内容添加到注册表的安装程序。到目前为止,自从 Excel 看到插件以来,一切似乎都已加载,但在启动时尝试加载它时总是出现错误。甚至 LoadBehavior 从 3 变为 2。现在我正在使用RegistryKeyRegistryValue节点添加值,但是当我查看另一个类似主题的 SO 帖子时,我只是没有理解 Rob 提到的 .rgs 脚本没有没有任何代理 clsid 或接口,所以我不确定我需要在那里放置什么。是否有任何在线教程可以帮助我进一步了解 WiX 中的手动注册?

编辑

所以我假设代理信息来自.idl 文件而不是.rgs。如果这是真的,我认为我填写了所需的正确信息。但是,Excel 仍然说在运行时加载插件时出错。任何其他信息将不胜感激。

例子:

<File Id="AddinDll" Name="addin.dll" Source=".\addin.dll" KeyPath="yes" >
    <TypeLib Id="TYPELIB-ID-HERE" MinorVersion="0" MajorVersion="1" Language="0" Description="addin" HelpDirectory="INSTALLLOCATION" >
        <Class Id="GUID-HERE" Context="InprocServer32" ThreadingModel="apartment" Version="1.0" Programmable="yes" Description="Example" >
            <ProgId Id="Addin.Example.1" Description="Example" >
                 <ProgId Id="Addin.Example" Description="Example" />
            </ProgId>
        </Class>

        <Class Id="PROXY-STUB-CLSID-HERE" Context="InprocServer32" ThreadingModel="both" >
            <Interface Id="INTERFACEID-HERE" Name="IExample" />
        </Class>
    </TypeLib>
</File>
4

0 回答 0