Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Flix

Пользователь


Сообщения: 93
Благодарности: 53

Профиль | Отправить PM | Цитировать


Цитата 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 не имеет. Ну и, конечно, не забываем по права Администратора.
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:43, 24-01-2017 | #2092