Inno Setup入門(十) 操作登錄檔

2021-08-10 05:10:16 字數 1636 閱讀 2194

有些程式需要隨系統啟動,或者需要建立某些檔案關聯等問題,這些都是通過在安裝程式中對登錄檔進行操作的結果。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...