【发布时间】:2017-06-09 15:03:37
【问题描述】:
有人能告诉我,为什么我的程序在使用 VS Setup Projects 安装后会向/从这两个文件夹写入/读取文件吗? 第一次启动时,当我启动程序并将程序中的某些内容保存到文件时,它会将其写入:
C:\Users\UserName\AppData\Local\VirtualStore\Program Files (x86)\Company Name\Program Name\"
设置“在系统启动时运行”后,我重新启动计算机并启动程序,但这次它从/写入此文件夹:
C:\Users\UserName\AppData\Local\VirtualStore\Windows\SysWOW64
以便它在第二次启动时加载错误的值或不加载任何内容。 看起来这取决于我如何启动程序,通过桌面符号或通过 Systemstart 上的自动运行。
如何防止这种情况发生?如何让程序始终从同一个文件夹读取/写入?我更愿意将文件始终保存在根文件夹中,exe 所在的文件夹为 (C:\Program Files(x86)\CompanyName\ProgramName)。
我认为问题出在 VS 设置项目中,或者是因为它是在 64 位系统上运行的 32 位应用程序。我已经在其他问题中寻找解决方案,但它没有帮助,而是没有阅读任何内容。 希望有人能帮帮我,谢谢!
这就是我写文件的方式:File.WriteAllText(@"mailstate2", "true");
我不给路径...我只是希望它保存在根文件夹中...
【问题讨论】:
-
问题是,您正在尝试以一种被年 反对的方式编写软件。您的程序不应该定期将新文件写入
C:\Program Files (x86)。阅读不同的文件系统位置以及每个位置意味着要存储的内容。
标签: c# windows winforms setup-project