我的应用程序在连接或断开服务器时会创建一个日志文件。这很有效,赢得XP。
当我在Vista和Win 7中以管理员身份运行它时没有问题。但是如果我在Vista或Win7中以标准用户身份运行它,则无法创建日志文件,我知道这是针对UAC的。 / p>
但我怎样才能绕过这种情况,以便我的应用程序以管理员身份运行。我是否需要在安装应用程序时添加任何注册表项,以便它始终以管理员身份运行。
答案 0 :(得分:4)
如果你真的想,你可以add a manifest导致你的应用程序在启动时需要UAC提升,但通常不是你应该做的。
更有可能的是,你正在写一条你不应该走的路。用户模式应用程序应该只写入当前用户文件夹或C:\Users\Public
文件夹,而日志之类的内容应该放在C:\Users\Current User Name\Application Data\Your Program Name\
中。要获取ApplicationData路径,请使用Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
。或者,如果您希望所有用户共享该文件,请使用Environment.SpecialFolder.CommonApplicationData
。