操作
這些操作由組件和控制腳本準備,并由安裝程式執行,
注意:操作是通過執行緒執行的,
在內部,每個操作都有一個DO步驟,包含有關安裝程式的說明,以及一個UNDO步驟,包含有關卸載程式的說明,
操作總結
下表總結了可用的操作及其語法,
| 操作 | 語法 | 使用 |
|---|---|---|
| Copy | "Copy" source target |
將檔案從源拷貝到目標, |
| Move | "Move" source target |
將檔案從源移動到目標, |
| SimpleMoveFile | "SimpleMoveFile" source target |
將檔案從源移動到目標, |
| Delete | "Delete" filename |
洗掉filename指定的檔案, |
| Mkdir | "Mkdir" path |
創建檔案夾路徑path |
| Rmdir | "Rmdir" path |
移除檔案夾路徑path |
| CopyDirectory | "CopyDirectory" sourcePath targetPath |
將目錄從源路徑復制到目標路徑, |
| AppendFile | "AppendFile" filename text |
將文本追加到filename指定的檔案中, 文本被視為ASCII文本, |
| PrependFile | "PrependFile" filename text |
將文本前插到filename指定的檔案中, 文本被視為ASCII文本, |
| Replace | "Replace" file search replace |
打開檔案以查找search字串,然后將其替換為replace字串, |
| LineReplace | "LineReplace" file search replace |
打開檔案以查找以search字串開頭的行,并將其替換為replace字串, 行在搜索之前會修剪(開頭結尾處移除空白), |
| Execute | "Execute" [{exitcodes}] command [parameter1 [parameter... [parameter10]]] |
執行command指定的命令, 最多可以傳遞10個引數, 如果這還不夠,則可以使用JavaScript字串陣列, 可選的,您可以在大括號({})列出以逗號分隔的退出代碼串列,并作為第一個引數進行傳遞,以指定成功執行時的退出代碼, 默認為"{0}", 其他可選的命名引數為:"workingdirectory=<your_working_dir>"; "errormessage=<your_custom_errormessage>" 另外,一個特殊的引數,UNDOEXECUTE,將操作的DO步驟與UNDO步驟分開, 示例:component.addOperation("Execute", "touch", "test.txt", "UNDOEXECUTE", "rm", "test.txt") |
| CreateShortcut | "CreateShortcut" filename linkname [arguments] |
創建從filename指定的檔案到linkname的快捷方式,在Windows上,這將創建一個可以包含引數的.lnk檔案,此外,filename可以是HTTP或FTP URL,在這種情況下會創建URL快捷方式,當前該操作未在其他平臺上實作, |
| CreateDesktopEntry | "CreateDesktopEntry" filename "key=value[ key2=value2[ key3=value3]]]" |
創建一個由freedesktop.org指定的.desktop初始化檔案, 如果filename是絕對的,則桌面條目將存盤在此處,否則,它將存盤在$XDG_DATA_HOME/applications中指定的位置,包括由freedesktop.org定義的默認路徑, 鍵值對將寫入檔案,該檔案使用UTF-8編碼, |
| InstallIcons | "InstallIcons" directory [Vendorprefix] |
將目錄的內容安裝到freedesktop.org指定的位置,也就是說,進入$XDG_DATA_HOME/icons或$HOME/.local/share/icons,檔案將從其初始位置中洗掉,確保在從存檔中提取檔案的操作之后添加此操作,如果提供了Vendorprefix,它將使用該前綴替換圖示檔案名中第一個破折號(-)之前的所有字符, |
| Extract | "Extract" archive targetdirectory |
提取存檔檔案到目標檔案夾 |
| GlobalConfig | "GlobalConfig" company application key valueor"GlobalConfig" scope company application key valueor"GlobalConfig" filename key value |
將鍵值存盤在組態檔中,組態檔可以通過檔案名(使用QSettings::NativeFormat,這可能是Windows注冊表)來指定,也可以通過應用程式和公司名稱來指定,將范圍設定為"SystemScope"以在系統范圍中創建一個條目, 注意:該操作使用QSettings存盤鍵值對, QSettings始終將反斜杠視為特殊字符,并且不提供用于讀取或寫入此類條目的API,在節或鍵名中不要使用斜杠("/"和"");反斜杠字符用于分隔子鍵,在Windows上,QSettings將'\'轉換為'/',從而使它們相同,由于QSettings使用反斜杠字符來分隔子鍵,因此您不能讀取或寫入包含斜杠或反斜杠的Windows注冊表項,如果需要,您應該使用Windows系統原生API, |
| EnvironmentVariable | "EnvironmentVariable" key value [persistent [system]] |
將環境變數鍵key設定為值value,如果persistent設定為true,則變數將被永久設定,當前僅在Windows上支持,如果system設定為true,則永久變數將設定為系統范圍的,而不僅僅是當前用戶,請注意,如果將路徑設定為環境變數,請使用'\'作為分隔符,例如:@Targetdir@\lib\system, |
| RegisterFileType | "RegisterFileType" extension command [description [contentType [icon]]]. |
用extension注冊要通過command打開的檔案型別,可選的,您可以指定描述,內容型別和圖示,當前僅在Windows上支持, |
| ConsumeOutput | "ConsumeOutput" installerKeyName executablePath processArguments |
將運行帶有引數processArguments的路徑executePath上的可執行檔案的輸出保存到installerKeyName指定的安裝程式鍵,可以傳遞其他引數, |
| CreateLink | "CreateLink" linkPath targetPath |
在linkPath指定的位置中創建一個鏈接,該鏈接指向targetPath指定的位置, |
| CreateLocalRepository | "CreateLocalRepository" binaryPath repoPath |
在repoPath指定的目錄中創建本地存盤庫,對于離線安裝程式,將二進制資料存盤在binaryPath指定的目錄中, |
| FakeStopProcessForUpdate | "FakeStopProcessForUpdate" processlist |
在卸載程序中,將正在運行的行程與行程串列processlist中以逗號分隔的條目進行匹配,如果找到匹配項,則會顯示一個訊息框,要求用戶在繼續之前停止這些行程, |
| License | "License" licenses |
將licenses指定的許可證檔案復制到目標檔案夾中名為Licenses的子檔案夾,對于在包描述檔案中宣告 |
| MinimumProgress | "MinimumProgress" | 將進度值增加一, |
| SelfRestart | "SelfRestart" core |
重啟core指定的更新程式或包管理器, |
| Settings | "Settings" path method key value |
設定或洗掉位于路徑path中的設定檔案的鍵值key和value,依賴以下method的值:set, remove, add_array_value, and remove_array_value. |
對于滿足沒有覆寫component::createOperations()方法的組件,會自動添加Extract,License和MinimumProgress操作,另請參見component::autoCreateOperations,
如果發生錯誤,您可以使用devtool手動測驗操作,但是,變數無法決議,因此您需要使用絕對值,
例如,要測驗復制檔案:
devtool --operation DO,Copy,<source>,<target>
原創造福大家,共享改變世界
獻出一片愛心,溫暖作者心靈
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/5179.html
標籤:其他
上一篇:Qt Installer Framework翻譯(7-4)
下一篇:【短道速滑一】OpenCV中cvResize函式使用雙線性插值縮小影像到長寬大小一半時速度飛快(比最近鄰還快)之異象決議和自我實作。
