我已經創建了一個基於Qt安裝程序框架和多個組件的安裝程序包。 我需要將每個組件安裝在相應的目錄中。Qt安裝程序框架組件安裝位置
是否可以指定單個組件的目標目錄?我指的是這樣的:
var appData = installer.environmentVariable("AppData");
if (appData != "")
component.setValue("TargetDir", appData+ "/MyComponent");
在此先感謝您。
我已經創建了一個基於Qt安裝程序框架和多個組件的安裝程序包。 我需要將每個組件安裝在相應的目錄中。Qt安裝程序框架組件安裝位置
是否可以指定單個組件的目標目錄?我指的是這樣的:
var appData = installer.environmentVariable("AppData");
if (appData != "")
component.setValue("TargetDir", appData+ "/MyComponent");
在此先感謝您。
你需要這個基於文檔:
Extract "Extract" archive target directory Extracts archive to target directory.
這個問題已經回答了,但我想我會添加更詳細的解答。
documentation指出「對於每個組件,您可以指定一個腳本來準備安裝程序要執行的操作。」
Qt安裝程序框架QtIFW附帶一組示例,其中一個示例稱爲modifyextract。利用這一點,我修改了package.xml中文件,包括
<Script>installscript.qs</Script>
然後我添加的文件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, "@[email protected]/SubDirectoryName");
}
的包數據文件夾中的文件然後安裝在子文件夾SubDirectoryName
我解決了我的問題,通過添加「提取」操作 – Rustem