Exe无法在安装文件夹中的XML文件中写入

时间:2015-03-23 21:59:24

标签: c# xml wpf exe

首先,我必须确切地说我是Web开发人员。但面对一个问题,我不得不在WPF中创建一个exe,因为它可以通过存储在XML file中的小数据发出声音。 安装后出现问题。我遵循了规则,但我的WPF无法写入XML文件。我看到这是许可,因为当我把所有的文件夹安装放在让我们说D驱动器。我在XML文件中写入没有任何问题。 那么如何在安装到任何客户端计算机后写入XML文件?我是否要添加一些说明?

2 个答案:

答案 0 :(得分:4)

自Windows 7起,默认用户没有管理权限。因此,不允许应用程序在程序目录(c:\ Programs \ myApp)中写入,因为它们是以默认的用户权限执行的。 应用程序数据应存储在用户目录中(例如c:\ user \ fred \ AppData \ Local)。

您可以使用Environment.SpecialFolder-Enumeration

轻松获取目录
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

答案 1 :(得分:1)

您无法在Windows 7+上保存到Program Files。相反,您可以在AppData区域中创建一个文件夹。我用它来获取应用程序目录

public static string GetAppDataDir(string company, string appName)
{
   string appDataDir = Environment.ExpandEnvironmentVariables( "%APPDATA%" );
   string appDir = Path.Combine( appDataDir, company );
   appDir = Path.Combine( appDir, appName );

   if (!Directory.Exists(appDir))
      Directory.Create(appDir);
   return appDir;
}