在Windows 7/Vista中编写驱动器C:

Ger*_*orm 2 c# uac appsettings windows-7

我正在开发一个应用程序,将其设置保存在安装文件夹中.如果我在驱动器C:上的Program Files中安装应用程序并尝试编写设置文件,我会得到一个例外,就是这样.

我知道用户帐户控制(UAC)migth是不允许我的应用程序修改文件内容的那个.

我需要以下问题的帮助:

  • 以至少应显示UAC警告的方式进行文件编辑,如果我回答是,则文件变为可写
  • 如果没有办法在驱动器C上编辑文件:我需要一种方法来存储数据

一个更通用的问题是:

如何创建一个C#程序,在Windows Vista下安装到C:\ Program Files\MyProgram后可以在安装目录中操作(创建/编辑/删除).ini文件?对于所有用户,此文件应该相同.

Ben*_*n S 9

为什么不将设置存储在特定于用户的位置C:\Users\Username\AppData

这样,不同的用户可以在同一台机器上拥有不同的设置.此外,这是设置等的推荐位置.


akm*_*mad 5

在Ben S的答案的基础上,查看Environment.GetFolderPath方法.

此方法允许您抽象出特定位置,而只是使用已知的SpecialFolder路径(即SpecialFolder.ApplicationData).