2011-11-06 61 views
2

每对象......我做了Inno Setup的一个Setup.exe这应该 安装到“{PF} {#MyAppName} ”。它在Win XP上也是如此,如果我是 使用管理员权限登录,但是如果我尝试在Win 7上作为受限用户,则会收到 此错误消息:Inno Setup的不会在Win 7安装到“程序文件”有限的用户

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

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

+0

请注明您[问的问题在其他地方(http://news.jrsoftware.org/read/article.php?id=93882&group=jrsoftware.innosetup#93882),以避免重复工作应答。 – Deanna

回答

6

如果你要安装到%ProgramFiles%,你确实需要安装作为管理员。普通用户无权访问%ProgramFiles%目录。

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

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

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

+0

谢谢,我的应用程序不需要管理员权限,所以我只需将它默认为C:\ AppName。 – User2571

+3

@ User2571 - 请注意,默认情况下C:\也是非管理员用户不可写入的。 – atzz

相关问题