0

我们的产品可以选择连接到 SQL、MySql 和 Oracle。

我想运送连接所需的所有 dll,不管成员想要什么,但这会增加 msi 的大小。(使用 ms 构建)

我可以在 Wix 中有某种组,并且运行时根据它选择要发送的 dll 的参数吗?或者可能有多个 .wxs 文件(每个数据库驱动程序一个)和运行时决定选择哪一个?

4

1 回答 1

2

将不同数据提供者的文件组织成不同的功能。然后使用基于变量的预处理器语句在构建中包含或排除功能。最后将变量传递到 WiX 构建中进行评估。您还应该提供不同 MSI 的唯一 ProductName、ProductCode 和 PackageCode 属性。可能是相同的 UpgradeCode。您可能还需要考虑在安装程序中进行检查,以确保一次只安装一个变体,除非您安装到不同的目录并且您的组件在设计上是完全隔离的。

此外,如果三个数据提供者是您唯一的变体点,那么我想您只有 7 个变体。您可能希望预先构建这 7 个,然后将内容发布到您的分发渠道。

预处理器

于 2012-09-08T21:01:55.833 回答