如果这是一个重复的问题,请指导我现有的解决方案。我无法找到匹配的查询。
我们目前使用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是为增量安装项目创建而设计的,但是知道是否有一种自动转换现有安装项目的方式会很好。
答案 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中提取数据?这真的不起作用......