Inno Setup:如何以管理员身份运行安装程序时获取当前用户目录?

时间:2011-06-15 13:36:27

标签: install uac inno-setup

我需要将一个ini文件写入Windows 7中的当前用户目录(C:\ Users \ CurUser)。 CurUser不是管理员。我的安装程序需要admin权限。所以我的设置如下:

[Setup]
PrivilegesRequired=admin

当我运行安装程序时,它会提示管理员登录。从那时起,所有用户常量,userappdata等都是C:\ Users \ AdminUser ...所以我需要一种方法来在以AdminUser运行安装时找到CurUser。

感谢代码示例。感谢。

3 个答案:

答案 0 :(得分:3)

您应该将设置拆分为两部分。第一个非管理员部分将ini文件写入当前用户目录,并调用需要管理员权限的第二个设置部分。

答案 1 :(得分:2)

应用程序需要的所有用户特定文件/设置应该由应用程序编写,如果发现它们不存在。 如果需要来自设置,您可以将其写入全局位置,作为应用程序复制或使用的“默认”。

这也意味着您的应用程序将适用于系统上的所有用户,而不仅仅是运行设置的用户。

答案 2 :(得分:0)

就我而言,我刚切换到{commonappdata}而不是{appdata},因为我的数据对所有用户都相同。