我们有一个大问题。 我们想要创建一个WIX安装程序,如果我运行安装程序的机器是:
1)Windows 7或更高版本我必须显示一个界面,我可以在其中收集用户选择我必须使用的数据库(MS Access,MS LocalDB,MS SQL Server)。
2)Window 7之前的版本我不必显示数据库选择的界面,因为我想使用MS Access强制我的应用程序。
在此步骤之后,如果用户选择了MS LocalDB选项,则必须安装SQL Server Express LocalDB Runtime。运行时安装程序有2个文件,一个用于x86,另一个用于x64。因此,如果用户想要使用LocalDb并安装检查机器类型(x86或x64)的正确软件包,我必须安装运行时。
所以我们创建了一个带链的包。该链包含:
1)我们的应用程序WIX安装程序
2)x86的SQL LocalDB运行时
3)x64的SQL LocalDB运行时
我们尝试了两种方式:
1)将选择放入WIX安装程序中的接口:我们可以显示和隐藏数据库选择的接口但我们无法将所选数据库的值传递给bundle以决定是否以及运行时安装
2)将单选按钮放入捆绑软件包的选项页面,但如果我的操作系统在Windows 7之前,我们无法隐藏选项按钮。我们尝试了thmutil扩展(http://wixtoolset.org/documentation/manual/v3/xsd/thmutil/)但是不可能插入一个禁令来禁用按钮。
所以我们的问题是:
根据用户选择安装不同软件包的正确方法是什么?
有没有办法允许WIX安装程序和捆绑包之间的双向通信?
谢谢!