【问题标题】:WiX Heat.exe generates wxs file causing error ICE57WiX Heat.exe 生成 wxs 文件导致错误 ICE57
【发布时间】:2013-12-31 12:53:38
【问题描述】:

我正在使用 WiX Heat.exe 来收集文件目录并创建一个 .wxs 文件。

其中一个文件依赖于Microsoft.DirectX.Direct3D.dll。 而 Heat 在“Root”注册表下注册了所有其余的依赖项,例如:

<RegistryValue Root="HKCR" Key="..." Name="..." Value="..." Type="string" Action="write" />

Direct3D 正在“用户”注册表下注册。

<RegistryValue Root="HKCU" Key="Software\Microsoft\Direct3D\MostRecentApplication" Name="Name" Value="heat.exe" Type="string" Action="write" />

导致以下错误的原因:

ICE57:组件“x”同时具有 使用每台机器 KeyPath 的每用户和每台机器数据

我该如何解决这个问题?

【问题讨论】:

    标签: wix exe direct3d heat


    【解决方案1】:

    Heat 重新映射注册表,在它正在收集的所有文件上运行 self reg,然后收集所有写入的注册表项。可能您的组件之一是在自我注册期间编写此密钥。您可以 1) 禁止注册表收集 (-sreg) 2) 修改正在写入此密钥的任何组件以不这样做 3) 编写 xsl 以删除收集的密钥。

    此外,您应该考虑捆绑 direct-x 设置,而不是重新分发各个 DLL。

    【讨论】:

    • 谢谢,我最终用 XSL 删除了收获的密钥
    猜你喜欢
    • 2016-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多