» Работа с реестром в NSIS

K.A.V.
www.oszone.net
22.02.2010
Авторы: kotkovets, mshak
Последнее обновление: 18.12.2010

Реестр - это база данных для хранения сведений о конфигурации компьютера. Реестр содержит сведения, к которым Windows постоянно обращается во время работы, а именно:
-профили всех пользователей;
-данные об установленных программах и типах документов, создаваемых каждой программой;
-значения свойств для папок и значков программ;
-конфигурация оборудования, установленного в операционной системе;
-данные об используемых портах.

Описание разделов реестра:

HKEY_CURRENT_USER
Данный раздел содержит настройки текущего активного пользователя, вошедшего в систему.
Здесь хранятся папки пользователя, цвета экрана и параметры панели управления.
Эти сведения сопоставлены с профилем пользователя.
Хотя это раздел выглядит как один из основных в редакторе реестра, он является всего лишь ссылкой на один из профилей HKEY_USERS\.

HKEY_USERS
Данный раздел содержит все активные загруженные профили пользователей компьютера.
Раздел HKEY_CURRENT_USER является подразделом раздела HKEY_USERS.

HKEY_LOCAL_MACHINE
Раздел содержит параметры конфигурации, относящиеся к данному компьютеру (для всех пользователей).

HKEY_CLASSES_ROOT
Является подразделом HKEY_LOCAL_MACHINE\Software\Classes. В основном, содержит информацию о зарегистрированных типах файлов и объектах COM и ActiveX.
Начиная с Windows 2000, эти сведения хранятся как в HKEY_LOCAL_MACHINE, так и в HKEY_CURRENT_USER. Раздел HKEY_LOCAL_MACHINE\Software\Classes -
содержит параметры по умолчанию,которые относятся ко всем пользователям локального компьютера.

HKEY_CURRENT_CONFIG
Данный раздел содержит сведения о профиле оборудования, используемом локальным компьютером при запуске системы.
Является ссылкой на HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current

Типы данных, используемые в реестре

- REG_SZ — текстовая строка.
- REG_BINARY — двоичные данные.
- REG_DWORD — целое число.
- REG_MULTI_SZ — многострочный текст (массив строк).
- REG_EXPAND_SZ — расширенная строка.


В NSIS работа с реестром осуществляется посредством следующих функций:

WriteRegStr: записывает строковое значение параметра
WriteRegExpandStr: записывает расширенное строковое значение
WriteRegDWORD: записывает значение типа DWORD
WriteRegBin: записывает бинарное значение
ReadRegStr: читает строковое значение параметра
ReadRegDWORD: читает значение типа DWORD
DeleteRegKey: удаляет раздел реестра
DeleteRegValue: удаляет параметр из раздела реестра
EnumRegKey: перебор разделов реестра
EnumRegValue: перебор параметров раздела реестра
InstallDirRegKey: читает путь установки из реестра
ReadEnvStr: читает системные переменные
SetRegView: использование реестра от разрядности ОС

Примечание.

Во всех перечисленных функциях для работы с ключом (по умолчанию) (default) необходимо указывать пустую строку (две двойных кавычки "")