Причина этого вопроса:Различие между поведением SetShellVarContext и многопользовательского определения (s) в NSIS
http://nsis.sourceforge.net/Reference/SetShellVarContext
и
http://forums.winamp.com/showpost.php?p=2326213&postcount=5
Я отчасти озадачены здесь ... что на самом деле является самым современным способом обработки этой функции установки/удаления Windows, так что установщик/деинсталлятор автоматически записывает, например, реестр в нужное место (если Admin, а затем HKLM, если spe пользователь, затем в HKCU)?
Что меня беспокоит вот что встроенная команда является предварительно NSIS 2,0 введена функция ... но
MultiUser.nsh
является довольно обновлена и от Joosts комментарий Я начинаю думать, что это (используя SHELL_CONTEXT) может быть лучшим решением. Может ли это быть правильным предположением здесь?
Моя цель состоит в том, чтобы сделать текущий установщик более гибким для будущих изменений и потребностей развития, включая многопользовательские возможности (если, например, сертификация Windows требует такой поддержки). Возможность автоматически зависеть от HKLM/HKCU, но не статически только на HKLM неплохо думает, правильно?
Возможно, я просто смешиваю обработку файлов в текущем контексте пользователя и обработке реестра в текущем контексте пользователя?
Любые рекомендации здесь будут высоко оценены.
Хорошо, получилось. Но тогда - если я в .onInit задал значение SetShellVarContext для «all»; реализовать SHCTX (из комментария Joosts Я предполагаю, что мне нужно использовать этот MULTIUSER_ * и/AllUsers для деинсталлятора (как переключатель командной строки, правда?), но когда возникает необходимость в контексте установки для каждого пользователя, я просто устанавливаю это значение в "current «и все должно работать автоматически, без каких-либо дополнительных изменений (кроме/CurrentUser для деинсталлятора)? –
SetShellVarContext current по умолчанию (я не знаю, изменил ли его многопользовательский режим) – Anders
Ох ... это питти ... Только актуально попытка остается в эти темные времена, ai '? :) –