我们有几个需要维护配置和数据文件的 Windows 8 应用商店 C++ 应用程序。
文件写入Windows::Storage::ApplicationData::Current->LocalFolder
. 例子:
C:\Users\<username>\AppData\Local\Packages\<packagename>\LocalState\SubFolder1\SubFolder2\data.txt
在 Windows 8.1 中,我们收到了一些来自用户的报告,称在应用调用之间不记得状态。仔细检查后,未创建文件(确实创建了子文件夹,但其中没有文件)
笔记:
子文件夹是使用创建的
CreateDirectory()
,文件是使用创建的fopen()
使用绝对路径创建/打开文件
这在 Windows 8.0 下始终有效,此后代码未更改。事实上,我们的一份用户报告指出,该应用程序在 Windows 8.0 下可以正常保存文件,但在用户升级到 Windows 8.1 后停止保存。
我们无法使用 Windows 8.1 在本地复制该问题。我们不确定这种故障有多普遍,但我们估计大多数用户都没有受到影响。受影响的用户似乎没有任何特殊的硬件/软件配置。
如果用户受到影响,则文件始终不会保存,即使在重试或卸载并重新安装应用程序之后也是如此(即,这不是间歇性故障的情况)
很难获得错误信息,因为 (i) 问题的罕见性 (ii) 显示此问题的日志根据定义未保存,以及 (iii) 应用程序不需要互联网连接,因此没有其他选择沟通渠道。
谁能想到在 Windows 8.1 下这可能会失败的任何原因?