WiX Heat.exe生成wxs文件导致错误ICE57

时间:2013-12-31 12:53:39

标签: wix exe direct3d heat

我正在使用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的每用户和每台机器数据

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

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

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