【轉載】Inno Setup入門(十)——操作註冊表

有些程序需要隨系統啓動,或者需要建立某些文件關聯等問題,這些都是通過在安裝程序中對註冊表進行操作的結果。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 或更高版本中有效,可用的參數是fullmodifyread

Flags

是額外選項設置。多個選項可以使用空格隔開。支持下面的選項:

createvalueifdoesntexist

deletekey

deletevalue

dontcreatekey

noerror

preservestringtype

uninsclearvalue

uninsdeletekey

uninsdeletekeyifempty

uninsdeletevalue

下面的例子將會使得安裝程序在操作系統啓動後自動運行。

[setup]

;全局設置,本段必須

AppName=Test

AppVerName=TEST

DefaultDirName="E:\TEST"

AppVersion=1.0

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]

Source: "F:\desktop\test\ipmsg.exe"; DestDir: "{app}";Components:main

Source: "F:\desktop\test\bin.dat"; DestDir: "{app}";Components:data

Source: "F:\desktop\test\help.chm"; DestDir: "{app}" ;Components:help

Source: "F:\desktop\test\readme.txt"; DestDir: "{app}";components:help;Flags:isreadme

[registry]

;本段處理程序在註冊表中的鍵值

Root:HKLM;Subkey:SOFTWARE\Microsoft\Windows\CurrentVersion\Run;ValueType: string; ValueName:TEST;ValueData:{app}\ipmsg.exe;Flags: uninsdeletevalue

一路Next到底,安裝完成後可以檢查註冊表:

Inno Setup入門(十)——操作註冊表 - Castor - 趁年輕,多折騰~~

 確實添加到註冊表中去了,通過金山衛士也證實了這一點:

Inno Setup入門(十)——操作註冊表 - Castor - 趁年輕,多折騰~~

    由於使用的標誌位是uninsdeletevalue,所以卸載軟件將會自動刪除該值,如果使用uninsdeletekey的話,該鍵下的其他值都會被刪除,這不是一個很好的方法,除非你確定使用的是自己的專用鍵,否則不推薦使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章