我想在Qt Installer框架中有一个具有一些“变体”的组件。这意味着具有相同ID(例如com.company.mycomponent)和相同版本(例如1.0.0)的组件在在线存储库中有多个软件包。现在,我要在安装程序中以独占方式在它们之间切换,这意味着一次只能安装一个变体。
如果在维护工具中,我想选择另一个,则取消选择当前安装的文件;如果开始更新,则将首先卸载当前的文件,并安装新选择的文件。
为此,我想完成以下方案:
例如,如果功能确实需要重新加工,则第5点和第6点应该可以循环执行。
Installer Framework的当前行为:如果有多个具有相同id版本组合的组件可用,则gui中仅显示一个条目。没有定义哪个。
我试图通过变体的另一个版本来解决此问题,但是随后用户必须在选择变体时手动取消选择已安装的组件,并且不能保证始终安装一个变体。组件的forcedInstallation设置使它成为不可选择的。 但是拥有其他组件ID或版本对我来说是不可行的。
通过调查,我没有找到一种自动完成此操作的简便方法,例如package.xml文件中为true。
所以我的问题是: