Inno setup 强制inno设置在HKCU中存储数据,所需权限=较低

Inno setup 强制inno设置在HKCU中存储数据,所需权限=较低,inno-setup,Inno Setup,当Inno安装程序配置为PrivilegesRequired=admin时,它将卸载注册表项存储在HKEY_LOCAL_计算机中 如何强制将卸载注册表项存储在HKEY_CURRENT_USER中?正如标题所述,您需要使用PrivilegesRequired=lower。除此之外,“本地用户”可能不是您所期望的 如果安装程序需要管理员权限才能删除旧的安装程序,您可以使用ShellExec,确保您调用的应用程序是管理员清单,或者传递“runas”动词。+1,问得好;但只有一个问题,您确定运行安装程序

当Inno安装程序配置为PrivilegesRequired=admin时,它将卸载注册表项存储在HKEY_LOCAL_计算机中


如何强制将卸载注册表项存储在HKEY_CURRENT_USER中?

正如标题所述,您需要使用
PrivilegesRequired=lower
。除此之外,“本地用户”可能不是您所期望的


如果安装程序需要管理员权限才能删除旧的安装程序,您可以使用
ShellExec
,确保您调用的应用程序是管理员清单,或者传递“runas”动词。

+1,问得好;但只有一个问题,您确定运行安装程序的每个用户都需要管理员权限吗?不要忘记,所有这些用户都必须知道管理员凭据才能安装/卸载您的应用程序,并且他们可能共享相同的文件夹或会话。您试图实现什么?您可以使用
CreateUninstallRegKey=no
在HKCU的注册表部分手动创建卸载项。我正在从NSIS安装程序迁移到Inno安装程序。对于第一个版本,我需要管理权限来删除旧安装并管理一些东西。目前,我已经用ShellExec解决了运行所有遗留支持命令的问题。