有些程式需要隨系統啟動,或者需要建立某些檔案關聯等問題,這些都是通過在安裝程式中對登錄檔進行操作的結果。inno setup中通過[registry]段實現對登錄檔的操作。
本段說明:
引數列表:
引數說明
root
根鍵,必須是下列中的乙個: hkcr(hkey_classes_root)
hkcu(hkey_current_user)
hklm(hkey_local_machine)
hku(hkey_users)
hkcc(hkey_current_config)
subkey
子鍵名,可以包含常量
valuetype
值型別,必須是下列中的乙個:
none
string
expandsz
multisz
dword
binary
如果指定了none (預設設定),安裝程式將建立乙個沒有鍵值的鍵,在這種情況下,valuename 和valuedata 引數將被忽略。
valuename
要建立的值名,可以包含常量,如果是空白的,將寫入到「預設」值
valuedata
值的資料
permissions
指定登入登錄檔鍵acl (訪問控制列表) 的附加許可權,該引數只在windows 2000 或更 高版本中有效,可用的引數是full、modify和read
flags
是額外選項設定。多個選項可以使用空格隔開。支援下面的選項:
createvalueifdoesntexist
deletekey
deletevalue
dontcreatekey
noerror
preservestringtype
uninsclearvalue
uninsdeletekey
uninsdeletekeyifempty
uninsdeletevalue
下面的例子將會使得安裝程式在作業系統啟動後自動執行。
[setup]
;全域性設定,本段必須
defaultdirname="e:\test"
compression=lzma2/max
showlanguagedialog=yes
[components]
name: main; description:"主程式(必選)";types:full compact custom;flags: fixed
name: data; description:"資料檔案";types:full
name: help;description:"幫助檔案";types:full compact
[files]
[registry]
;本段處理程式在登錄檔中的鍵值
一路next到底,安裝完成後可以檢查登錄檔:
確實新增到登錄檔中去了,通過金山衛士也證實了這一點:
由於使用的標誌位是uninsdeletevalue,所以解除安裝軟體將會自動刪除該值,如果使用uninsdeletekey的話,該鍵下的其他值都會被刪除,這不是乙個很好的方法,除非你確定使用的是自己的專用鍵,否則不推薦使用。
Inno Setup入門(十) 操作登錄檔
有些程式需要隨系統啟動,或者需要建立某些檔案關聯等問題,這些都是通過在安裝程式中對登錄檔進行操作的結果。inno setup中通過 registry 段實現對登錄檔的操作。本段說明 引數列表 引數說明 root 根鍵。必須是下列中的乙個 hkcr hkey classes root hkcu hke...
Inno Setup入門(十) 操作登錄檔
有些程式需要隨系統啟動,或者需要建立某些檔案關聯等問題,這些都是通過在安裝程式中對登錄檔進行操作的結果。inno setup 中通過 registry 段實現對登錄檔的操作。本段說明 引數列表 引數說明 root 根鍵。必須是下列中的乙個 hkcr hkey classes root hkcu hk...
Inno Setup入門(七) 提供安裝語言選項
inno setup安裝目錄下有乙個languages的資料夾,該資料夾提供了可供使用的語言,通過在指令碼中加入 languages 段,可以實現該項功能,實現 如下 setup 全域性設定,本段必須 defaultdirname e test compression lzma2 max showl...