我的程序即使打开文件也需要管理员权限这是正常的吗?

时间:2011-09-24 10:33:06

标签: .net windows windows-7 rights

当我将我的.NET程序安装到C:\ Program Files并运行它时,它不会要求管理员权限(Win7),但它不能打开应用程序目录中的任何文件,除非我给予管理员权限手动。如果它不在C上,它运作良好。

我知道我可以将自定义清单文件添加到我的应用程序中以询问用户管理员权限,但它总是会问它,即使它不是必需的。

我在SO上读到,软件在安装后不应该向Program Files写任何内容,但它甚至无法读取文件(例如,语言文件)。我也有一个数据库文件,由程序读取和写入,所以我应该在哪里放置这个文件?

所以我想知道在没有管理员权限的情况下是否有权访问读取文件是否正常。如果有必要,我怎样才能让程序询问管理员权限?

编辑我以系统管理员身份登录。

1 个答案:

答案 0 :(得分:2)

普通用户在Progrem Files文件夹中没有写权限。但是,您应该能够读取(内容)文件。你如何打开阅读文件?

正确的方法是使用指定的文件夹。使用类似

的WinForms
string dataFolder = Environment.GetFolderPath(
      Environment.SpecialFolder.ApplicationData);