Я в процессе обновления сценария установки NSIS с XP на Win7. По неизвестным причинам установщик не может записать в реестр, если работает под Win7, даже как администратор. Для встроенного манифеста UAC в программе установки требуются права администратора (указав в сценарии RequestExecutionLevel admin ). Также я попытался щелкнуть правой кнопкой мыши установщик и выбрать Запуск от имени администратора . Отключение UAC в ОС также не решает проблему.
Когда я запускаю тот же установщик под XP, ключ реестра записывается так, как и должно быть.
Я спарил свой скрипт установки, чтобы попытаться изолировать проблему:
!define APP_NAME "MyTestApp"
Name "${APP_NAME}"
OutFile "${APP_NAME} Setup.exe"
RequestExecutionLevel admin
Page instfiles
Section -Core
SetDetailsView show
WriteRegStr HKLM "Software\XyzCompany\${APP_NAME}\Installation" "VersionString" "V0.0.0"
SetAutoClose false
SectionEnd
С другой стороны, я могу писать в ограниченные папки (например, C: \ ProgramData) (только администратор имеет доступ на запись по умолчанию здесь). Я что-то упускаю из виду? Запуск NSIS 2.45.