【发布时间】:2012-01-29 04:48:12
【问题描述】:
我正在更新我们的 Windows 7 安装程序(基于 Inno Setup)。我想到的是,如果用户没有以管理员权限运行安装程序,则以后无法直接从安装程序启动应用程序。所以我想强制他以管理员权限运行安装程序。那么该怎么做呢?我应该停止安装过程并告诉他以正确的权限运行它吗? 如果是这样 - 如何识别他是否使用管理员权限?
寻找最佳做法。请指教...
【问题讨论】:
-
为什么您的应用程序需要管理权限才能启动?最佳做法是不要这样做......
-
与@Cody Gray 相同的问题...您的应用只能以管理员身份启动吗?
-
谢谢。看来我需要管理员权限,因为:1)我将输出重定向到 %temp% 目录 2)我将输出发送到日志文件(位于安装应用程序的目录内)
-
您绝对不需要管理权限来写入临时目录。 “重定向输出”是什么意思?什么输出?你如何重定向它?是的,您将需要管理员权限才能写入应用程序目录中的文件,但您一开始不应该这样做。更改日志记录代码以写入更合适的位置,例如documented here。
-
@Cody 谢谢。我将 stdout 和 stderr 重定向到 %temp% 目录,因为我想防止 OutOfMemory 异常。我正在使用 VB.NET,所以我通过“psi.arguments =” .... > stdout ..... 2>stderr 进行重定向关于日志文件,我将其保存在安装目录下,因为它很方便供用户(和我)在必要时阅读。在不要求管理员权限的情况下保存日志文件的最佳位置是什么?是 %localappdata% 吗?
标签: windows windows-7 inno-setup uac