Windows 如何对64位DLL文件使用regcap

Windows 如何对64位DLL文件使用regcap,windows,dll,com,windows-installer,registry,Windows,Dll,Com,Windows Installer,Registry,我想将regsvr32 mycomthingie.dll的功能捕获到一个.reg文件中。我下载了,并尝试为此使用regcap.exe。它只是在没有错误消息的情况下退出,并且没有创建任何注册表文件。我尝试了正常和管理命令提示。我怀疑问题在于目标dll是64位的,而regcap.exe是32位的可执行文件 我找不到这个工具的64位版本,所以我的问题是,如果我唯一拥有的DLL版本被编译为64位(PE32+),我该怎么办 更新:(使用Visual Studio从COM二进制文件中提取*.RGS文件-请参

我想将
regsvr32 mycomthingie.dll
的功能捕获到一个.reg文件中。我下载了,并尝试为此使用regcap.exe。它只是在没有错误消息的情况下退出,并且没有创建任何注册表文件。我尝试了正常和管理命令提示。我怀疑问题在于目标dll是64位的,而regcap.exe是32位的可执行文件

我找不到这个工具的64位版本,所以我的问题是,如果我唯一拥有的DLL版本被编译为64位(PE32+),我该怎么办

更新:(使用Visual Studio从COM二进制文件中提取*.RGS文件-请参阅下面的注释)


尽管测试很少,但我还是要记录在案

WixHeatATLHarvesterExtension:尝试下载
WixHeatATLHarvesterExtension

这将使用新命令扩展WiX的正常
heat.exe
工具:

heat atlcom "c:\vsFlex8n.ocx" -out vsFlex8n_COM.wxs
这似乎适用于64位COM文件您得到的是导出的WiX源文件,而不是reg文件-抱歉。但是,您可以手动构造reg文件吗?根据WiX源,您可以转换为reg?或者,如果你还没有使用WiX,就直接切换到WiX

程序:

  • 构建:要实现此目的,您需要下载并构建上面的解决方案
  • 安装:构建后,您将安装ATLHarvester.msi,这将在WiX安装目录中放置组件。不过,您需要先下载并安装
  • 配置:现在您还可以将WiX bin文件夹添加到环境路径中,但如果您使用的是
    heat.exe的完整路径(最后一部分未测试),则不需要这样做。您还应该能够使用WIX环境变量:
    %WIX%\bin\heat.exe
    (在
    cmd.exe中键入
    以查看WIX变量路径)
  • 如果你把dll上传到有依赖关系的地方,我可以试试。这些64位COM文件以前对我来说也是一件非常痛苦的事情


    还发现这些项目完全不适合我:


    。稍后可能会查看更多,但请在此处查看:(这是针对WiX的,但代码可能会帮助您-或者您可以将条目转换为*.reg-或者可能找到32位版本的dll-如果存在的话-并查看GUID是否匹配?只是在我的脑海中-没有仔细推理。可以帮到您吗?他们将能够提取数据?您好,我在下面添加了一个建议。请有一个看(除非你找到了另一个解决方案)。我没有时间尝试您的解决方案,但它看起来确实很有希望。是的,我最初的目标是在64位COM DLL中使用
    heat
    。我最终使用快照注册表,并使用
    regsvr32
    比较快照,导出一个reg文件,然后在reg文件中使用heat。听起来不错。我想我们还应该提到您如果您有权访问64位COM组件的源代码,请定位。作为其他找到此组件的人的一个选项。现在,我考虑一下:您应该能够通过在Visual Studio中打开二进制文件作为资源来访问*.RGS内容。只需将文本复制并转储到记事本或等效文件中。如果没有其他内容,则作为一种控件形式,并双击检查。。