我已经工作了很长一段时间,将我工作的所有安装从 Wise for Windows Installer 转移到 WiX。从明显的步骤开始(考虑到要传输的安装数量及其大小)并使用 Dark.exe(WiX 工具包)对它们进行反编译。我一直在创建一个通用程序来将输出从黑暗中清理到一个适当的项目中,然后我们可以将其编译到 MSI 中。一段时间以来一直困扰我的@$$ 的问题是合并模块。我们在各种安装中最多有 20 个 Microsoft MSM,并且 dark 无法识别这些,因此会列出所有内容。我已经准备好了所有东西,所以我可以删除这个垃圾代码并用正确的 Merge 标签替换它。因此问题。合并模块对它们的放置位置没有任何押韵或理由,我找不到寻找主文件夹的逻辑。唯一真正的共同点是目录、组件、文件和注册表标记都有一个以 GUID 结尾的 Id。任何想法将不胜感激。我已经有了框架来搜索我们的合并模块列表并检索文件、组件和目录的列表。我只是不知道要寻找什么,因此它不仅仅专门针对一两个模块,而是理论上所有 MICROSOFT 模块(我知道其他公司可能使用其他格式,但这是一个无声的问题)。再次感谢!我已经有了框架来搜索我们的合并模块列表并检索文件、组件和目录的列表。我只是不知道要寻找什么,因此它不仅仅专门针对一两个模块,而是理论上所有 MICROSOFT 模块(我知道其他公司可能使用其他格式,但这是一个无声的问题)。再次感谢!我已经有了框架来搜索我们的合并模块列表并检索文件、组件和目录的列表。我只是不知道要寻找什么,因此它不仅仅专门针对一两个模块,而是理论上所有 MICROSOFT 模块(我知道其他公司可能使用其他格式,但这是一个无声的问题)。再次感谢!
问问题
427 次
1 回答
1
看起来您一直在对现有 MSI 进行反向工程并以自动化或半自动化方式清理结果。
从头开始创建 wix 源文件不是更高效、更不容易出错吗?您也许可以利用heat.exe 工具来减少所需的工作量。
于 2010-01-15T14:31:20.780 回答