Цитата Kopejkin:
Подскажите, пожалуйста, где грабли? »
|
Команда
SetRegView имеет влияние только на внутренние команды компилятора NSIS, а именно на команды вида
ReadReg... и
WriteReg.... В вашем сценарии для работы с данными реестра используется внешний инструмент - плагин, которому абсолютно по барабану команда SetRegView. Он (плагин) про неё просто ничего не знает, тем более он использует стандартный инструмент Windows по работе с реестром -
regedit.exe. Аналогичная картина и с использованием вами инструмента regedit.exe напрямую. По умолчанию весь импорт ключей реестра из внешних файлов выполняется в WOW6432Node.
Вам нужно или переделать сценарий так, чтобы получить необходимые строки для импорта в реестр и потом задействовать стандартные команды NSIS
ReadReg... и
WriteReg.... Или воспользоваться консольной программой для доступа к реестру
reg.exe с параметрами
/reg:32 или
/reg:64, которые определяют область видимости реестра. Все параметры
reg.exe описаны
здесь или можно выяснить в командной строке (reg /?). В вашем случае команда сценария будет примерно такой:
ExecWait '$SYSDIR\reg.exe import "$EXEDIR\tree.reg" /reg:64'
Не уверен, но параметра 'silent' или подавления запроса на импорт данных в реестр программа reg.exe не имеет. Ну и, конечно, не забываем по права Администратора.