我正在考虑将现有的基于C ++的安装程序移植到Qt Installer Framework。在现有的安装程序中有几件事我不想在此时更改或重新实现,例如解析许可证密钥。相反,我想重用一些现有代码并从中构建一个小型(无GUI)实用程序,然后根据需要调用QtIFW安装程序。
似乎可以使用installer.execute
来调用外部程序 - 但是有没有办法解决系统尚未安装的程序,而是安装程序的一部分?也许我可以存储程序作为资源调用并在运行时将其解压缩到临时目录?
答案 0 :(得分:2)
事实证明,这可以通过将实用程序作为资源调用来实现。然后,可以通过使用Copy
调用installer.performOperation
函数来“提取”资源(请参阅list of operations),如下所示:
installer.performOperation("Copy", ["://myutility.exe", "/tmp"]);
这假设binarycreator
使用引用XML文件的-r
参数调用,如:
<RCC>
<qresource prefix="/">
<file>myutility.exe</file>
</qresource>
</RCC>