在现代操作系统中,文件夹 C:\program files (x86) 受操作系统写保护。如果不使用管理帐户,您将无法在此处创建子文件夹(在这种情况下,除非您禁用 UAC,否则您将被要求确认此操作)。所以正确的做法是在另一个地方创建你的数据文件夹。最好的选择是使用以下方法提取的CommonApplicationData文件夹:
Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)
或 SpecialFolder.ApplicationData 枚举,如果您的数据应该由应用程序的当前用户区分,或者 SpecialFolder.MyDocuments 如果这些文件由您的用户生成并且需要由其他程序自由打开(或需要包含在备份)
在您获得操作系统提供的用于存储应用程序数据的特殊文件夹后,请记住为您的应用程序创建一个子文件夹,并根据您的要求创建其他子文件夹
// In Win7 this usually resolves to C:\ProgramData, but do not use this folder
string appCommon = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
// This resolves to C:\programdata\your_app_name\files
string appData = Path.Combine(appCommon, "your_app_name", "files");
// This will create all directories in the specified path one by one....
if(!Directory.Exists(appData)) Directory.CreateDirectory(appData);