我有一个VBA附加组件,它是作为只能写入注册表HKCU区域的应用程序的一部分安装的(GetSetting
和SaveSetting
函数在VBA中已沙箱化。
但是,安装程序还需要将文件放置在Windows系统文件夹中,因此它需要管理员权限。
[当安装程序以非管理员帐户运行时,要求用户提供管理员凭据,然后预期的HKCU路径不再有效,从而导致安装失败。
如何在单个Inno Setup脚本中写入文件系统的管理员保护区域并写入Windows注册表的非管理员区域?
您可以使用runasoriginaluser
或[Run]
section中的[Run]
标志。
但是您必须开发一个单独的应用程序或(PowerShell)脚本,以将所需的键添加到ExecAsOriginalUser
support function。实际上,您可以使用另一个非常简单的InnoSetup安装程序来执行此操作。