我已经基于具有多个组件的Qt安装程序框架创建了一个安装程序包.我需要在适当的目录中安装每个组件.
是否可以为单个组件指定目标目录?我指的是这样的事情:
var appData = installer.environmentVariable("AppData");
if (appData != "")
component.setValue("TargetDir", appData+ "/MyComponent");
Run Code Online (Sandbox Code Playgroud)
先感谢您.
这个问题已经得到解答,但我想我会添加一个更详细的答案.
该文档指出"对于每个组件,您可以指定一个脚本来准备安装程序要执行的操作."
Qt安装程序框架QtIFW附带了一组示例,其中一个示例称为modifyextract.使用这个,我修改了我的package.xml文件以包含该行
<Script>installscript.qs</Script>
Run Code Online (Sandbox Code Playgroud)
然后我将文件installscript.qs添加到我的包元目录中,其中包含以下内容
function Component()
{
}
Component.prototype.createOperationsForArchive = function(archive)
{
// don't use the default operation
// component.createOperationsForArchive(archive);
// add an extract operation with a modified path
component.addOperation("Extract", archive, "@TargetDir@/SubDirectoryName");
}
Run Code Online (Sandbox Code Playgroud)
然后将包数据文件夹中的文件安装在子文件夹SubDirectoryName中
您需要根据文档进行此操作:
Extract "Extract" archive target directory Extracts archive to target directory.
| 归档时间: |
|
| 查看次数: |
1885 次 |
| 最近记录: |