我花了过去两个小时在谷歌上搜索,但没有任何结果,所以……</p>
我正在开发一个使用 XML 文件来保存数据的应用程序。这些文件应该与程序可执行文件存在于同一目录中。我用:
string filePath = System.IO.Path.GetDirectoryName(Application.ExecutablePath) + "\\xml\\filename.xml";
有用。
我已经在 Inno Setup 中创建了安装文件。这也很有效,可以将我的 XML 文件准确地复制到我想要它们去的地方。
我直接从安装文件夹、开始菜单图标、桌面快捷方式打开我的应用程序,它工作正常。
我对程序进行了一些更改,然后将其关闭并重新启动。一切都很好:所有保存的更改都从 XML 中读回。
但随后我打开指定的 XML 文件并没有任何变化!
我不会打扰,因为至少它正在工作,但是:
- 当我卸载应用程序然后再次将其安装到同一目录时,对先前安装的文件所做的更改仍然存在!
- 我很想知道发生了什么。
仅当程序安装到Program Files时才会发生这种情况。如果我将它安装到My Documents,更改会显示在 XML 文件中,并且在重新安装后,默认设置会按预期恢复。
我的问题是:
- 这些 XML 文件存储在哪里,如果指定的路径指向Program Files并且它们不存在,我该如何加载它?
- 显然,我该如何解决它?
编辑 最后在 C:\Users[USERNAME]\AppData\Local\VirtualStore\Program Files[APPNAME] 中找到了这些文件