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