我需要将合并模块的内容安装到主设置中设置的特殊(子)文件夹中。目前,我们所有的设置都包含一个具有特殊名称的目录(例如“PROGDIR”),并且我们使用 InstallShield 的直接编辑器,因此为合并模块中的目录提供相同的名称。在合并过程中,合并模块中的目录被覆盖/丢弃(称之为魔法,称之为黑客,它很丑......)。
此解决方案非常脆弱,因为每当您在 InstallShield 中触摸合并模块并摆弄组件或使用“文件和文件夹”选项卡时,IS 会将合并模块 guid 附加到目录标识符并且它都停止工作(PROGDIR -> PROGDIR. 1234ABC...)
我现在想将我们的合并模块逐步移动到 WiX。主要设置还不能遵循,也不需要更改。
我可以阻止 WiX 自动将 guid 添加到目录标识符以使用与以前相同的 hack 吗?或者是否有更好、更清洁的解决方案而无需更改主要设置?
我已经研究了 Substitution 元素,但无法理解它是如何工作的。如果这能以某种方式有所帮助,我会很感激一个例子......