windows - 如何将regcap用于64位DLL文件

标签 windows dll com windows-installer registry

我想将regsvr32 mycomthingie.dll的内容捕获到.reg文件中。我下载了Microsoft Visual Studio Installer Projects,并尝试为此使用regcap.exe。它只是退出而不会显示错误消息,并且不会创建任何reg文件。我在普通和管理员cmd提示符下都尝试过。我怀疑问题是目标dll是64位,但是regcap.exe是32位可执行文件。
我找不到此工具的64位版本,所以我的问题是,如果我拥有的DLL的唯一版本被编译为64位(PE32 +),该怎么办?

最佳答案

UPDATE: How to open a Windows binary as a resource in Visual Studio 2019 (use Visual Studio to extract *.RGS files from a COM binary - see comments below).



尽管没有进行任何测试,但让我将其添加为记录。
WixHeatATLHarvesterExtension :尝试下载 WixHeatATLHarvesterExtension :https://github.com/nirbar/WixHeatATLHarvesterExtension
这将使用新命令扩展WiX的常规 heat.exe 工具:
heat atlcom "c:\vsFlex8n.ocx" -out vsFlex8n_COM.wxs
这似乎适用于64位COM文件。 您会得到的是导出的WiX源文件,而不是reg文件-抱歉。您可以手动构造reg文件吗?您可以根据WiX来源将其转换为reg?还是只是转而使用WiX? Wix quick start link collection
过程:
  • 构建:要实现此目的,您需要下载并构建上面的解决方案。
  • 安装:生成后,安装 ATLHarvester.msi ,这会将组件放置在WiX安装目录中。不过,您需要先下载并安装the WiX toolkit
  • 配置:现在,您也可以将WiX bin文件夹添加到您的环境路径中,但是如果您使用 heat.exe 的完整路径,则不需要这样做(最后一部分未经测试)。您还应该能够使用WIX环境变量: %WIX%\bin\heat.exe (在 set 中键入 cmd.exe 以查看WIX变量路径)。

  • 如果您将dll上载到具有依赖项的某个地方,我可以尝试一下。对我来说,这些64位COM文件也曾是一个严重的悲痛。

    还发现这些项目对我来说无法正常工作:
  • https://github.com/PhilJollans/RegSpy
  • https://github.com/PhilJollans/RegToInno
  • 关于windows - 如何将regcap用于64位DLL文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65251860/

    相关文章:

    windows - 具有最小延迟的串行通信

    c++ - 无法导出 C++ Builder 64 位 DLL 中的函数

    具有 ComVisible(true) 成员的 ComVisible(false) 类

    c# - 在另一台机器上注册 COM dll

    windows - 英雄联盟 : Username for 'https://git.heroku.com' : git

    android - 无法打开 HAX 设备 (Android)

    windows - 如何在 Windows 上执行节点脚本 (#!/usr/bin/env node)?

    c++ - 为什么我的 Game Maker DLL 出现访问冲突?

    c# - 如何只分析一个类库?

    用于访问 COM 对象属性的 C++ 包装函数(宏)