【问题标题】:Inno Setup won't install to "Program Files" on Win 7 for limited userInno Setup 不会为受限用户安装到 Win 7 上的“程序文件”
【发布时间】:2011-11-06 06:54:18
【问题描述】:

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

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

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

【问题讨论】:

标签: permissions inno-setup limited-user


【解决方案1】:

如果你想安装到%ProgramFiles%,你需要以管理员身份安装。普通用户对%ProgramFiles% 目录没有写入权限。

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

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

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

【讨论】:

  • 谢谢,我的应用不需要管理员权限,所以我将其默认为 C:\AppName。
  • @User2571 - 请注意,默认情况下,非管理员用户也无法写入 C:\。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-06-16
  • 1970-01-01
  • 1970-01-01
  • 2011-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多