Registry value (Read, write, remove)
Peponi │ 11/13/2024 │ 3m
NSIS
InstallPackageSetup
Registry value (Read, write, remove)
11/13/2024
3m
Peponi
NSIS
InstallPackageSetup
1. Introduction
- NSIS는 레지스트리 읽기, 쓰기, 제거가 가능하다.
- 읽기, 쓰기 명령의 경우 대체로 명령어의 사용 방법이 같다.
- 본문의 내용은 SW 인스톨 또는 언인스톨 상황에서 레지스트리를 조작하는 방법이다.
2. Example
- 아래 내용에 나오는
RootKey
항목은 다음과 같다.HKCR
: HKEY_CLASSES_ROOTHKCU
: HKEY_CURRENT_USERHKLM
: HKEY_LOCAL_MACHINEHKU
: HKEY_USERSHKCC
: HKEY_CURRENT_CONFIG
2.1. Read registry
; 레지스트리 읽기 scheme
; Command var RootKey "SubKey" "Name"
; 레지스트리 읽기 예시
ReadRegDWORD $R0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" "EnableLUA"
- 아래는 사용 가능한
Command
목록이다.ReadRegDWORD
: 32bit DWORDReadRegStr
: string
2.2. Write registry
2.2.1. Write registry without value
; 레지스트리 쓰기 scheme
; Command RootKey "SubKey" "KeyName"
; 레지스트리 쓰기 예시
WriteRegNone HKCU "MySubKey" "Reserved"
- 값 없이 키만 넣는 경우
Command
는WriteRegNone
을 써주면 된다.
2.2.2. Write registry with value
; 레지스트리 쓰기 scheme
; Command RootKey "SubKey" "KeyName" "Value"
; 레지스트리 쓰기 예시
WriteRegDWORD HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" "EnableLUA" "00000000"
- 아래는 사용 가능한
Command
목록이다.WriteRegDWORD
: 32bit DWORDWriteRegBin
: binaryWriteRegStr
: stringWriteRegExpandStr
: REG_EXPAND_SZ
2.3. Remove registry
; 레지스트리 키 제거 scheme
; Command RootKey "SubKey"
; 레지스트리 키 제거 예시
DeleteRegKey HKCU "MySubKey"
SubKey
안에 있는 모든 키를 제거한다.
; 레지스트리 값 제거 scheme
; Command RootKey "SubKey" "KeyName"
; 레지스트리 값 제거 예시
DeleteRegValue HKCU "MySubKey" "Reserved"
KeyName
의 값을 제거한다.