强制 Inno Setup 使用 PrivilegesRequired=admin 将数据存储在非管理员 HKCU 中
Force Inno Setup to store data in non-admin HKCU with PrivilegesRequired=admin
我有一个 VBA 插件组件,它作为应用程序的一部分安装,只能写入注册表的 HKCU 区域(GetSetting
和 SaveSetting
函数是在 VBA).
中进行沙盒处理
但是,安装程序还需要将文件放在 Windows 系统文件夹中,因此需要管理员权限。
当安装程序在非管理员帐户下运行时,要求用户提供管理员凭据,然后预期的 HKCU 路径不再有效,导致安装失败。
如何在单个 Inno Setup 脚本中写入文件系统的管理保护区并写入 Windows 注册表的非管理区域?
您可以在 [Run]
section or ExecAsOriginalUser
support function 中使用 runasoriginaluser
标志。
但是您必须开发一个单独的应用程序或 (PowerShell) 脚本来将所需的密钥添加到 HKCU
。实际上,您可以使用另一个非常简单的 InnoSetup 安装程序来完成此操作。
我有一个 VBA 插件组件,它作为应用程序的一部分安装,只能写入注册表的 HKCU 区域(GetSetting
和 SaveSetting
函数是在 VBA).
但是,安装程序还需要将文件放在 Windows 系统文件夹中,因此需要管理员权限。
当安装程序在非管理员帐户下运行时,要求用户提供管理员凭据,然后预期的 HKCU 路径不再有效,导致安装失败。
如何在单个 Inno Setup 脚本中写入文件系统的管理保护区并写入 Windows 注册表的非管理区域?
您可以在 [Run]
section or ExecAsOriginalUser
support function 中使用 runasoriginaluser
标志。
但是您必须开发一个单独的应用程序或 (PowerShell) 脚本来将所需的密钥添加到 HKCU
。实际上,您可以使用另一个非常简单的 InnoSetup 安装程序来完成此操作。