加载配置文件时出错:访问路径c:\ Program Files(x86)\ ...被拒绝

Gar*_*ary 5 c# windows config file denied

我在Windows 7上使用Visual Studio 2010中的安装程序部署了一个应用程序.该程序在Windows 7和XP上部署并运行良好,但是当我在Windows 8系统上部署它时,我收到有关访问配置文件的错误.

程序安装在c:\ Program Files(x86)[公司名称] [App Name] \中,被引用的文件是一个临时文件,其名称看起来是由Windows GetTempFile生成的机器,例如x4q0toqw.tmp.这个文件夹中不存在,然后有一个exe配置文件的引用(myapp.exe.config,确实存在)

如果我在Windows 8系统上构建并运行代码,它安装并运行正常,我没有得到错误,但是如果我在Windows 7上部署Window 8编译的应用程序,我得到有关访问配置文件的相同错误.两台机器都是64位,但生成32位应用程序.

我不打算发布两个二进制文件.谁能告诉我发生了什么事?我正在尝试设置JIT调试,以便在抛出异常时附加到exe,因为本机调试它对我没有帮助,因为我没有得到例外.

谢谢,

加里

这是在两台不同的机器上,但我在两者上都登录了同一个域,并且是管理员.

小智 5

也许您的应用程序在加载期间正在重写您的应用程序配置,这将导致系统质疑访问权限...如果是这样,您可能可以更改应用程序(已安装的应用程序)的属性以获得管理员权限...这将使您的应用程序自动有权以编程方式编辑应用程序配置。

或者...您可以忘记重写应用程序配置并将所有内容放在默认的应用程序配置脚本中。但这会暴露您的应用程序数据库安全性...

  • 请不要在您的帖子中使用签名或标语。阅读 http://stackoverflow.com/faq#signatures (3认同)