对于受限用户,Inno Setup不会安装到Win 7上的“Program Files”

时间:2011-11-06 06:54:19

标签: permissions inno-setup limited-user

根据主题...我用Inno Setup制作了一个Setup.exe 安装到“{pf} {#MyAppName}”。它在Win XP上也是如此,如果我是Win 7也是如此 使用管理员权限登录,但如果我尝试使用Win 7作为受限用户,我会得到 此错误消息:

“安装程序无法创建目录C:\ Program Files \ AppName”。

怎么办?我不希望(或不需要)用户以管理员身份安装。

1 个答案:

答案 0 :(得分:6)

如果要安装到%ProgramFiles%,则需要以管理员身份进行安装。普通用户没有%ProgramFiles%目录的写访问权。

如果不要求安装到%ProgramFiles%,请让用户选择目标目录,或安装到{localappdata}而不是{pf}{localappdata}保证为其所有者可写。它扩展为C:\Users\<user name>\AppData\Local

如果以管理员身份运行,您也可以安装到{pf},如果以受限制用户身份运行,也可以安装到{localappdata};使用IsAdminLoggedOn来决定。

如果必须安装到%ProgramFiles%,您别无选择,只能以管理员身份运行。 为了使其正常工作,请确保您的.iss文件未定义PrivilegesRequired选项,或者设置为admin。然后,当非特权用户运行安装程序时,将出现UAC提示,要求提供具有足够访问权限的凭据(除非禁用UAC,在这种情况下,安装的唯一方法是运行方式)。