使用heat.exe将批量文件添加到新的WiX项目:HEAT5150

时间:2009-10-27 00:27:29

标签: wix wix3 heat

如果这是一个重复的问题,请指导我现有的解决方案。我无法找到匹配的查询。

我们目前使用InstallShield。我正在尝试将407个文件转换为WiX3安装包。我尝试使用heat.exe进行一些自动化,但我几乎每个文件都收到以下警告:

  

C:GT; heat dir“c:\ projectDir \ projectA”-gg -ke -template:Product -out“c:\ install \ projectA \ heatOutput”

     

heat.exe:警告HEAT5150:无法从预期为SelfReg DLL的文件中获取数据:c:\ projectDir \ projectA \ plugin1.dll。如果此文件不支持SelfReg,您可以忽略此警告。否则,此错误详细信息可能有助于诊断故障:无法加载文件:c:\ projectDir \ projectA \ plugin1.dll,错误:126。

问:为每个文件报告此警告是否正常?

如果当前有“如何创建/转换为您的第一个包含许多文件的WiX安装项目”教程,请指出。关键要求是“有很多文件”。

PS。我知道WiX是为增量安装项目创建而设计的,但是知道是否有一种自动转换现有安装项目的方式会很好。

2 个答案:

答案 0 :(得分:1)

  

如果有当前的“如何   创建/转换为您的第一个WiX   安装包含许多文件的项目“   教程,请指出我。该   关键要求是“有很多文件”

您可以使用installshield生成的msi文件,然后使用wix附带的dark.exe工具对其进行反编译。正如您在this diagram中看到的,dark.exe从msi文件生成wxs文件。

你可以像这样使用它:

dark installer.msi decompiled.wxs

有关详细信息,请参阅dark /?

编辑:我不使用Votive,但AFAIK它应该能够处理黑暗生成的wxs文件。 Votive是否显示错误?

edit2 :wixproj文件仅适用于visual studio和msbuild集成。核心工具不知道或使用这种格式。只需创建一个空白的wixproj并从visual studio添加wxs文件。

edit3 :您不应将wxs文件的大小与msi文件大小进行比较。与installshield项目文件一样,wxs不包含要安装的文件。它只引用它们。您的installshield项目文件也不是70MB大。如果要从MSI中提取二进制文件,则应将dark.exe与-x <path>开关一起使用。

答案 1 :(得分:0)

您是否尝试从x64 DLL中提取数据?这真的不起作用......