背景:
我正在为具有三个配置/SKU(基本、标准、企业等)和两个平台(x86、x64)的应用程序进行设置。不同的配置使用不同的升级代码。
这为您提供了六种不同配置的矩阵。我们目前为每个配置都有单独的 wxs 脚本,但是当手动将文件添加到设置中时,几乎不可能记住在所有配置中都正确执行等等。大多数文件都是共享的(按名称,而不是内容)所以那里是所有六个安装包中的一个文件SomeNamespace.SomeLibrary.dll
,但所有六个都可能不同(按平台,有时也按配置)。
所以我的第一个问题是:如何避免保留几个大但几乎相同的设置脚本?
第二个问题:组件 ID:
如果我设法通过自定义收割机或模板创建的片段重用大量 wxs 脚本,我该怎么处理组件 ID?考虑到产品之间没有共享组件并且我只使用 MajorUpgrade,我是否可以为我的组件使用生成的 (*) GUID?生成组件 ID 的另一个选项是使用热量,或手动制作确定性哈希,例如 SHA1(相对安装路径 + 配置 + 平台)`。
大型多配置多平台 WiX 项目的某个地方有很好的例子吗?