1

这个问题最初发布为“加载配置文件时出错:访问路径 c:\Program Files (x86)\... denied”,但我没有成功找到解决方案。

我的应用程序是在 Windows 7 上编写的,它是使用 Visual Studio 2010 编写的 32 位应用程序。当我尝试在 Windows 8 系统上部署此应用程序时,应用程序在 form_Load 期间失败,并出现关于访问 tmp 文件的错误EXE 的目录。我不是直接创建这个临时文件,但它的名称与 C# GetTempFileName 方法生成的名称一致。错误消息中还引用了 EXE 配置文件 (MyApp.exe.config) 的名称。

我使用 ConfigurationManager 在启动时存储我的所有应用程序设置,所以我猜测它与此有关。如果我在 Windows 8 系统上构建应用程序,它在 Windows 8 系统上运行良好,但如果部署在 Windows 7 系统上,则会产生相同的错误。我还不知道究竟是哪一行代码导致了错误,但调用归结为

System.Configuration.Configuration config =
            ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

config.AppSettings.Settings.Add(settingName, settingValue);

config.Save();

ConfigurationManager.RefreshSection("appSettings");

Windows 7 和 8 系统都是 64 位的,但应用程序是 32 位的。在此先感谢您提供解决此问题的任何建议。

我使用 Settings 类来处理配置数据,而 TEMP 变量就是我所期望的,我的 user\AppSettings\Local\Temp。

4

1 回答 1

2

遇到的问题是在 Windows 8 的评估版上,这就是所有可用的。在许可版本的 Windows 8 Pro 上运行该应用程序可以完美运行。

感谢您的回复。

于 2012-11-16T02:57:17.273 回答