NSIS:通过InstallDirRegKey读取installdir的问题

时间:2010-08-13 07:17:43

标签: nsis

我有一个nsi脚本,其开头如下:

Name "myprog"
OutFile "myprog.exe"
InstallDir $PROGRAMFILES32\xx
InstallDirRegKey HKLM "Software\yy\xx" "InstallDir"
RequestExecutionLevel admin
AutoCloseWindow true
BrandingText /TRIMCENTER "me"
LoadLanguageFile "${NSISDIR}\Contrib\Language files\German.nlf"
Caption "Updateprogramm"

它在我的开发机器上工作正常,但不适用于生产(例如,用户只具有注册表路径的只读权限)。它是一个Win 2003服务器操作系统。即使存在注册表项,程序也会尝试安装在$ PROGRAMFILES32 \ xx。

1 个答案:

答案 0 :(得分:0)

InstallDirRegKey只需要读访问权限。

对我来说令人不安的是,你在谈论只读,但你的脚本中有“RequestExecutionLevel admin”。这告诉我你需要管理员权限,当你有“RequestExecutionLevel admin”时,你还需要使用UserInfo :: GetAccountType(当UAC关闭时处理< NT6系统和Vista +)