카테고리 없음
InstallScript Registry Read,Write Example
Soul-Learner
2013. 4. 20. 12:11
레지스트리 키 및 값을 등록하는 함수 작성
function CreateRegInstallDir()
STRING szKey; // 레지스트리 키 경로
STRING szAppKey; // App 레지스트리 키 경로
STRING szApp; // App 이름
STRING szInstallDir; // InstallDir 값 이름
begin
REGDB_OPTIONS = REGDB_OPTIONS | REGDB_OPTION_WOW64_64KEY;
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
szKey = "Software\\COMPANY\\AA\\BB";
szAppKey = "Software\\COMPANY\\AA\\BB\\Demo";
szApp = "Demo";
szInstallDir = "InstallDir";
if (0 < RegDBKeyExist (szAppKey)) then
RegDBCreateKeyEx(szKey, szApp);
endif;
RegDBSetKeyValueEx(szAppKey, szInstallDir, REGDB_STRING, TARGETDIR, -1);
REGDB_OPTIONS = REGDB_OPTIONS & ~REGDB_OPTION_WOW64_64KEY;
end;
RegDBKeyExist() 함수를 이용하여 레지스트리 키가 있는지 검사한다. 없으면 RegDBCreateKeyEx() 함수를 이용하여 키를 생성한다. 값을 등록할때는 RegDBSetKeyValueEx() 함수를 이용한다. 마지막 파라미터로 기록할 값의 길이를 지정해 줘야 하는데 -1을 넘겨주면 알아서 계산해 준다. -1 파라미터를 사용할 수 있는 레지스트리 값 타입이 따로 있으니 조심.
각 함수는 도움말을 참조 하면 자세히 알 수 있다.
레지스트리 삭제
szKey = "Software\\App\\Data";
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
if (1 == RegDBKeyExist (szKey)) then
RegDBDeleteKey (szKey);
endif;