2

我正在尝试使用 innoscript 创建一个应用程序。我需要在 HKLM 中创建/编辑注册表信息值。因此我需要管理员权限来安装应用程序。

但是,如果非管理员用户尝试安装应用程序,innoscript 需要管理员用户密码,一旦他们输入管理员用户密码,每当我在安装脚本(比如 HKCU)中查询注册表时,它都会从管理员用户那里检索信息。但我想从当前登录的用户那里获取信息。结果,程序安装在管理员用户位置而不是当前登录用户帐户下。

当应用程序以管理员身份运行或提示管理员用户启动时,有没有办法从 innoscript 获取当前登录用户用户和用户应用程序数据位置。

等待你的更新。

谢谢,

4

2 回答 2

1

安装程序不应该在每台机器安装期间读取或修改任何每用户状态(包括 HKCU)(并且没有办法可靠地这样做)。相反,您应该让应用程序本身在第一次运行时执行此操作(通过尝试读取适当的位置并在未找到时假设默认值)。

请记住,一个应用程序安装一次,然后可以由多个不同的用户运行。这种行为是必不可少的。

于 2012-08-19T03:29:14.967 回答
0

一个简单的解决方法是将您的逻辑移动到可执行文件而不是 Pascal 脚本。然后你可以在 [Run] 部分调用这个可执行文件,

http://www.jrsoftware.org/ishelp/index.php?topic=runsection

请记住将 Run 项标记为 runasoriginaluser。

于 2012-08-18T13:15:33.873 回答