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

Exe can't write in a XML file in the installation folder

首先我必须明确我是Web 开发人员。但是面对一个问题,我不得不在 WPF 中创建一个 exe,因为它听起来很简单,而且存储在 XML file 中的小数据。 安装后问题就来了。我遵守了规则,但我的 WPF 无法写入 XML 文件。我看到这是权限,因为当我将所有文件夹安装放在 D 驱动器中时。我在 XML 文件中写入没有任何问题。 那么在任何客户端机器上安装后如何在 XML 文件中写入?我需要添加一些说明吗?

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

您可以使用 Environment.SpecialFolder-Enumeration:

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

您无法在 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;
}