NSIS:无法在Windows 7上写入注册表(HKLM \ Software \ ...)

时间:2011-12-15 04:27:53

标签: windows-7 nsis

我正在将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)(这里只有admin具有写访问权限)。我错过了一些非常明显的东西吗?运行NSIS 2.45。

1 个答案:

答案 0 :(得分:3)

使用SetRegView写入x64上的“真实”HKLM\Software键。

使用Process Monitor调查其他注册表编写问题......