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