我们考虑这样一个问题:

某一天,用户要卸载你的程序了,在卸载过程中,用户的数据如何处理?是删除?保留,还是其他?

这的确是一个问题。

这里说的用户数据,可能是保存在 HKEY_CURRENT_USER 注册表下的数据,也可能是保存在用户配置文件夹下的数据。

我的建议是:不,请不要删除它们。

原因有几点

第一,弄乱未登录用户的配置文件可能会导致数据损坏,用户可不希望他们自己的数据被损坏。

第二,用户在卸载程序的时候,很有可能希望保存他们的数据,尤其是他们在他们只是想暂时卸载程序的情况下。
例如,用户卸载程序可能是因为程序不工作了,想修复它而已。另外,还有可能是用户只是想安装一个新的版本。

如果你删除了用户数据,例如,游戏中保存的关卡点,他们会有点生气,因为他们无法干掉他们花了数周时间打败的大 BOSS。

如果确实想删除用户数据,请一定先得到用户的同意才这样做,但请一定注意不要把其他未登录用户的数据也删除了。

以上仅是我个人的建议,并不是微软公司的官方建议,因为我知道,如果我不这样说的话,有人看了这篇文章后,就会说 “微软公司建议我们…”。

总结

这个建议在软件设计阶段就需要想好,作为开发者,我们的关注点是程序的功能开发,但是作为最终用户,他可不关心程序的事儿,他关心他的数据是否丢失或损坏。

拓扑梅尔智慧办公平台(TopomelBox)就深刻理解了”用户数据”的重要性,所以当你某一天不愿意再看到它时,卸载的时候,你的个人数据依然会保留。

我是希望这一天永远不会到来。

最后

Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一,里面有很多关于Windows的小知识,对于广大Windows平台开发者来说,确实十分有帮助。
本文来自:《What do I do with per-user data when I uninstall?》

最近我写了个东西

正如你们所知道的,拓扑梅尔智慧办公平台(TopomelBox)是一款绿色软件,主要面向经常使用电脑的朋友。它提供了各种提升办公效率的小功能,同时操作上尽可能地简单方便。
我想:你值得拥有。

打开网易新闻 查看更多图片