我将 C# 与 .net 3.5 一起使用
我将程序数据保存在以下文件中:C:\Program Data\MyProgramName\fileName.xml
安装并运行我的应用程序一次后,我将其卸载(在卸载过程中,我从“程序数据”中删除所有文件),然后重新安装应用程序并运行它。
奇怪的是,我的应用程序启动时就好像程序数据中的文件存在一样 - 这意味着,即使数据文件被删除,我的应用程序中也有旧数据。
运行时:
File.Exists("C:\Program Data\MyProgramName\fileName.xml")
即使我确定该文件不存在,我也得到了“真实”。
当我以管理员身份运行应用程序然后文件不存在时,事情变得奇怪了。
经过研究,我发现在没有管理员权限的情况下运行我的应用程序而不是获取:“C:\Program Data\MyProgramName\fileName.xml”我得到“C:\Users\userName\AppData\Local\VirtualStore\ProgramData \MyProgramName\fileName.xml"
确实有一个文件存在于以前的安装中(我显然没有删除它,因为我不知道它存在)。
所以显然在程序数据下有一些文件的虚拟路径。
编辑 :
我发现删除虚拟商店中的旧文件后,我的应用程序突然能够找到正确的文件。(我没有对 Program Data 下的文件进行任何更改。
我的问题是:
- 为什么会这样。
- 我怎样才能防止它发生
提前致谢