【发布时间】:2013-06-02 18:38:31
【问题描述】:
我的应用程序有一些数据(配置文件、工作文件等),应该放在硬盘上。因此,我对此有一些疑问:
- 存放它的最佳位置是哪里?用户文档中的特殊文件夹,如“...用户文档\MyAppFolder”或 AppData 或 还有什么?
- 卸载期间是否删除这些文件?如果是,那么如果用户要安装新版本的程序,文件将丢失,是吗?
- 在安装期间或首次启动应用程序期间创建此文件夹?
【问题讨论】:
标签: wix installation appdata
我的应用程序有一些数据(配置文件、工作文件等),应该放在硬盘上。因此,我对此有一些疑问:
- 存放它的最佳位置是哪里?用户文档中的特殊文件夹,如“...用户文档\MyAppFolder”或 AppData 或 还有什么?
- 卸载期间是否删除这些文件?如果是,那么如果用户要安装新版本的程序,文件将丢失,是吗?
- 在安装期间或首次启动应用程序期间创建此文件夹?
【问题讨论】:
标签: wix installation appdata
这里需要考虑三件事:
有时很难确定数据的性质。为简单起见,将数据分为两类:设置和文档。它们通常存储在不同的地方,如The New Old Thing blog中所述
我的文档和应用程序之间最重要的区别 数据是我的文档是用户存储文件的地方,而 应用程序数据是程序存储文件的地方。
如果应用程序是在每台机器上安装的,则“应用程序安装程序”与用户数据无关。 (如果不是,那么哪些用户的数据?)用户数据应该由应用在用户使用应用时创建(设置)或由用户通过应用创建(文档)。现在,当用户第一次启动应用程序时,它可以为用户提供一种管理每个用户数据的方法,以便用户可以在卸载应用程序或决定不再使用它之后进行清理。
该方法可能是应用程序使用 UninstallString 创建的用户 ARP 条目,该条目运行它复制到用户的 AppData 文件夹的内容。或者,它可能是执行相同操作的用户快捷方式。或者,如果您想要用户不触发的东西,用户Run 注册表项来启动一个实用程序来检测应用程序是否已被卸载(这可能是一个挑战)。
如果应用程序是按用户安装的,那么“应用程序安装”可以删除应用程序、设置和文档,但应该只删除应用程序。
文档是用户的,但取决于应用程序,如果用户无意再次运行应用程序,则文档可能一文不值。您应该离开他们或询问。
至于设置,正如您所指出的,如果用户将来运行任何版本的应用程序,它们都会很有用。应用程序应该能够升级或忽略较新或较旧版本的设置。
查看其他新旧事物post 以获取有关应用数据的更多视图。
所以,回答你的问题:
只有一起设计应用程序和安装程序才能产生最佳的用户体验。
【讨论】: