Innoscript - 获取当前用户个人资料信息

时间:2012-08-18 12:01:44

标签: inno-setup pascalscript

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

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

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

等待您的更新。

谢谢,

2 个答案:

答案 0 :(得分:1)

安装程序不应在每台机器安装期间读取或修改任何每用户状态(包括HKCU)(并且无法可靠地执行此操作)。您应该首先使应用程序本身执行此操作(尝试读取相应的位置并假设未找到默认值)。

请记住,应用程序安装一次,但可以由几个不同的用户运行。这种行为至关重要。

答案 1 :(得分:0)

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

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

请记住将Run项目标记为runasoriginaluser。