我正在使用C#开发桌面应用程序并使用Inno setup编译器创建设置.
让我解释一下应用功能,
我使用Inno Setup创建了应用程序安装程序所有用户(即应用程序可以安装在admin/non admin PC中).
//all user
PrivilegesRequired=lowest
Run Code Online (Sandbox Code Playgroud)安装应用程序时,我想在中创建注册表项HKLM.为此,我在Inno Setup脚本中添加了注册表项,如下所示
[Registry]
Root: HKLM; Subkey: "SOFTWARE\Wow6432Node\TestKey"; Permissions: users-modify; \
Flags: uninsdeletekey createvalueifdoesntexist; ValueType: string; \
ValueName: "SOAPAddress"; ValueData: "ABC"
Run Code Online (Sandbox Code Playgroud)安装应用程序注册表项时未创建其抛出异常
---------------------------
Error
---------------------------
Error creating registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\TestKey
RegCreateKeyEx failed; code 5.
Access is denied.
Click Retry to try again, Ignore to proceed anyway, or Abort to cancel installation.
Run Code Online (Sandbox Code Playgroud)请帮帮我,如何HKLM使用Inno Setup编译器创建注册表项.
我已经在VS2010中检查了它的创建注册表项,但是安装程序无法运行非管理员PC.
提前致谢!
您需要具有管理员权限才能写入HKLM.所以你不能使用PrivilegesRequired=lowest.
并且创建用户可写入的密钥HKLM是一种不好的做法.
"应用程序可以在Admin /非管理员PC中安装"并不是很清楚你的意思,但也许你实际上是在寻找:
只在需要时才能使Inno Setup安装程序请求权限提升.
| 归档时间: |
|
| 查看次数: |
3378 次 |
| 最近记录: |