2010-04-23 182 views
4

当用户在他/她的计算机上拥有受限制的权限并运行我的Inno Setup安装程序时,Windows将弹出管理员登录提示。为其他用户安装Inno Setup

问题是,当管理员键入他/她的用户名和密码并登录时,Inno安装程序认为他或她是登录用户,并为该用户安装我的应用程序,而不是原来的用户。 (我正在安装{userappdata}目录中的文件)

有没有办法克服这个限制并为原始限制用户安装?

回答

2

指定PrivilegesRequired = none并构建您的脚本以使用或不使用管理员权限。在这里看到更多的细节:
http://www.kinook.com/blog/?p=53

+0

这是一个不行。微软本身建议将你的应用程序放置在PF中,并且绝对不在appdata中。不要谈论注册COM Dll和类似的东西。 这个问题必须有一个简单的解决方法,我怀疑作者没有考虑到它...... – Steve 2010-04-26 17:13:13

+0

如果用户没有管理员权限,这是唯一的方法。 – 2010-04-26 18:48:54

+0

由于这是我亲自安装的应用程序,管理员权限始终存在于系统管理员的授权范围内。问题是该程序是在他/她登录后为系统管理员安装的。必须有另一种方法来做到这一点... – Steve 2010-04-27 08:41:31

4

你可以考虑的一件事是安装所有东西到PF首先。然后当应用程序第一次执行时,将PF中的某些内容复制到{userappdata}。

由于用户可以执行该应用程序,因此我们确信可以将PF所需的文件成功复制到{userappdata}。

+1

这是一个好方法。我可能更喜欢{commonfdata}超过{pf}模板,但这可能只是一个品味问题。 从原则上避免从安装程序向用户指定区域写入任何内容可以让您免受许多麻烦。 – 2010-06-14 09:00:14