Преобразование REG-файла в код скрипта инсталлятора NSIS

Понадобилось тут добавить ключи из REG-файла в код своего инсталлятора на NSIS. Оказывается, все придумано до нас. Имеется утилита Reg2Nsis, которая этим и занимается.

Использование

reg2nsis REG-файл [ПАРАМЕТРЫ]
или
reg2nsis ключ_реестра [ПАРАМЕТРЫ]

Т.е. утилита может преобразовать в код NSIS, как содержимое REG-файла, так и данные непосредственно из реестра.

Параметры:
-r — обработать ключ реестра со всеми подключами, начиная с указанного. Срабатывает только если в качестве источника указан путь в реестре.
-o <файл> — код будет сохранен в указанный файл
Если вместо -o <файл> указать ключ -O, то код будет сохранен в файл с именем, аналогичным указанному REG-файлу, но с расширением .nsh

Без дополнительных параметров, код NSIS будет выведен на консоль (stdout)

Программа смотрит в настройки системы и автоматически преобразует стандартные системные пути в стандартные переменные NSIS. Например, встретившийся путь C:\Windows\ будет преобразован в $WINDIR\.

Это можно отключить, добавив в командной строке ключ -s.

При анализе REG-файла, программа распознает как добавление ключа/значения, что понятно, так и команду на его удаление.
Т.е. запись в REG-файле:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\oem-drv64]

будет преобразована в:

WriteRegStr HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\services\oem-drv64" "" ""
А запись:

[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\oem-drv64]

преобразуется в следующий код:

DeleteRegKey HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\services\oem-drv64"

Скачать

С официальной NSIS-wiki
Копия на mega.nz

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *