不以管理员身份运行时,App.Config文件读取错误

时间:2017-03-27 15:57:42

标签: c# wpf entity-framework wix

我有点奇怪的问题。我们为我们创建的应用程序创建了一个Wix安装程序文件,其中包含一个包含连接字符串的xxxx.exe.config文件。

当应用程序启动时,它会测试连接字符串以确保它可以连接,如果失败则会提示输入新的连接字符串,重新启动并再次尝试。

当您以管理员身份运行时,所有内容似乎都有效,但当我以普通用户身份运行时(这是必需的),即使我手动清除xxxx.exe.config文件中的连接字符串,应用程序仍在阅读旧连接字符串不再存在。

我认为这是一个文件夹权限,但我取得了所有权并完全控制了整个程序文件(x86)'文件夹,我可以编辑xxxx.exe.config文件,而不需要管理员权限,但它仍然读取旧的连接字符串。

当未通过WIX安装时,所有工作都按计划进行。我知道它正在读取旧的连接字符串,因为我在启动时将其显示在消息框中。

任何人都有任何想法我接下来可以尝试什么?我不确定它是如何阅读一个旧的连接字符串,如果我是诚实的,即使它不在那里(它也在寻找正确的位置)。任何帮助表示赞赏。

编辑 - 它似乎是用该连接字符串查看该目录,但我可以从目录中完全删除该文件,它仍然显示相同的内容,据说是相同的文件位置。

1 个答案:

答案 0 :(得分:2)

您似乎以不常见的方式处理应用程序设置,因为不允许/可能通过{{1}使用默认方式将设置保存到application-config-file(xxxx.exe.config) }。 修复此问题并仅尝试保存settings using the user scope,并且无需更改“Program Files(x86)”下的权限以保存其中的内容。

如果您安装程序包应该处理的文件被用户更改,如果您尝试更新它们会遇到麻烦,因为这些文件不再受Windows安装程序控制 - 所以您必须避免这种情况。