3

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

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

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

所以我想知道在没有管理员权限的情况下无法读取文件是否正常。我怎样才能让程序仅在必要时才请求管理员权限?

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

4

1 回答 1

2

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

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

string dataFolder = Environment.GetFolderPath(
      Environment.SpecialFolder.ApplicationData);
于 2011-09-24T10:37:32.597 回答