【问题标题】:WiX Heat tool cannot harvest info from executablesWiX Heat 工具无法从可执行文件中获取信息
【发布时间】:2016-11-30 15:03:38
【问题描述】:

谁能确认 heat 只适用于 DLL、OCX 或其他一些文件,而不适用于可执行文件?

问题是,我在我的 COM 组件 DLL 或 OCX(通过 regasm、regsvr32 注册)上运行热量,它会收集与文件相关的注册表中的所有数据。但是,我的 DCOM 服务器在注册表中有大量与自身相关的信息(使用 /regserver 自行注册),并且收集工具仅提取有关文件本身的最少信息,但没有从注册表中提取与文件相关的任何信息,什么都没有。就像生成的 wxs 文件可能是这样的:

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Fragment>
        <DirectoryRef Id="INSTALLFOLDER">
            <Component Id="ohserver.exe" Guid="{E8D87743-45B6-459E-A72F-22D9A0D5CE16}">
                <File Id="ohserver.exe" KeyPath="yes" Source="SourceDir\ohserver.exe" />
            </Component>
        </DirectoryRef>
    </Fragment>
</Wix>

正如您从注册表、CLSID、ProgID、RegistryValues 等中看不到任何内容。

【问题讨论】:

    标签: wix dcom heat


    【解决方案1】:

    没错。 Heat 不支持从 .exe 服务器收集自注册数据。

    【讨论】:

    • 那我应该如何处理使用WiX安装DCOM服务器?
    • WiX 没有内置解决方案。我工作的公司 FireGiant 有一个支持 .exe 的工具:firegiant.com/products/wix-expansion-pack。如果是你的.exe,你总是可以从源代码中获取注册数据并手动编写。
    • 感谢 Bob 的快速回复。是的,可执行文件是我们的,但是由于我们想要自动生成 MSI 包,因此只需手动从 exe 的源代码中提取必要的信息并不是最好的主意,所以我可能会尝试使用您的 WiX 扩展包来查看它是如何工作的。但是,我注意到您还有热浪工具,是扩展包的一部分还是单独购买的单独工具?
    • HeatWave Harvesting 是 WiX 扩展包的一部分。
    • WiX 扩展包是否也负责 DCOM 设置?假设在安装 DCOM 服务器可执行文件后,它是否能够设置其 DCOM 配置设置,例如应用程序将运行的位置,或者定义将用于运行应用程序的用户帐户的身份设置(交互式、启动或特定用户)。
    猜你喜欢
    • 1970-01-01
    • 2020-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    • 2014-08-16
    • 2015-02-14
    相关资源
    最近更新 更多