【发布时间】:2017-02-15 17:51:39
【问题描述】:
我使用 Inno Setup 来安装文档/文件而不是应用程序,这主要是为 Windows 7 用户准备的。因此,我的DestDir 基于{userdocs},因此所有文件都将安装在该用户的文档库下方的文件夹中。
当我使用相同的安装程序安装 TTF 字体时出现问题。这需要提升权限(admin 或 superuser)。我看到的问题是,如果非管理员用户运行安装,则会通过 UAC 正确提示他们输入管理员/超级用户密码...但此时 DestDir 用于安装更改为管理员文档文件夹而不是用户的文档文件夹。有什么办法可以解决这个问题或防止这种情况发生吗?
例如,非管理员帐户 Fre 的文档路径为:
C:\Users\Fred\My Documents\
如果我不将 TTF 字体作为安装的一部分,安装程序将使用它作为安装的基本路径{userdocs},它可以完美运行。
如果我在安装过程中使用相同的非管理员用户 Fred 包含 TTF 字体,那么在安装完成时 {userdocs} 已变为
C:\Users\AdminUser\My Documents\
...这不是预期的结果...只需要字体安装块的管理员权限,并且需要将文件安装到实际用户的文档区域中。
谢谢。
【问题讨论】:
标签: windows installation inno-setup elevated-privileges