这是我多年来一直纠结的问题。我有几个应用程序使用 Inno Setup 安装程序。默认情况下,它们会为所有用户安装,但程序设置(在 INI 文件中)存储在用户的本地应用程序数据文件夹中。
该应用程序还关联有数据文件夹,这些文件夹默认为从用户的“我的文档”文件夹(即当前用户的本地文件夹)创建的文件夹树。
然后,有应用程序数据文件默认位于本地应用程序数据文件夹中。
最后,还有一些临时文件,默认位于 %TEMP% 文件夹中。
我假设安装程序始终具有管理员权限。
我的问题是:我应该合理地提供哪些安装选项?我认为我们有以下 8 种组合(假设应用程序数据和临时文件始终是本地的,因此我们不需要这些的安装选项):
- 为所有用户安装,所有用户共享设置,所有用户共享数据文件。
- 为所有用户安装,所有用户共享设置,每个用户都有单独的数据文件。
- 为所有用户安装,每个用户都有单独的设置,所有用户共享数据文件。
- 为所有用户安装,每个用户都有单独的设置,每个用户都有单独的数据文件。
- 仅为当前用户安装,该用户与其他用户共享设置,该用户与其他用户共享数据文件。
- 仅为当前用户安装,该用户与其他用户共享设置,该用户拥有自己的数据文件。
- 仅为当前用户安装,该用户具有单独的设置,该用户与其他用户共享数据文件。
- 仅为当前用户安装,该用户有单独的设置,该用户有自己的数据文件。
我们可以在安装过程中添加三页额外的内容来涵盖所有 8 种组合:
- 在“为所有用户安装”和“仅为我安装”之间进行选择
- 在“将我的设置与其他用户分开”和“与其他用户共享我的设置”之间进行选择
- 在“将我的数据与其他用户分开保存”和“与其他用户共享我的数据”之间进行选择
但这可能有点麻烦。我认为也许我们应该将其压缩为通常需要的场景,并只提供一个额外的安装页面,并允许选择一个。问题在于决定这些场景是什么。我怀疑其中一些场景没有多大意义。一些客户抱怨没有所有用户都通用的设置。
我倾向于以下观点:
- 应用程序将始终“为使用这台计算机的每个人”安装
- 唯一的附加安装选项是选择所有用户通用的设置/数据(“通用”)和每个用户单独的设置/数据(“本地”)
对于“通用”,应用程序 INI 文件将放置在所有用户应用程序数据中;对于“本地”,则放置在本地设置应用程序数据中。
对于“common”,用户数据文件的安装默认值将是 commondocs 文件夹,对于“local”,将是 My Documents 文件夹(这仅仅设置应用程序首次运行时用户“打开数据文件”对话框最初所在的文件夹)。
无论安装选项如何,应用程序的临时文件将始终位于本地设置临时中。
我将非常感激您的评论。
答案1
- 分享设置不是一个特别好的选择。用户通常有自己的偏好。所以我建议始终将它们保存在每个用户的位置。
- 尤其是当配置存储在 INI 文件中时。
- “仅为我安装”应该保留,和如果可能的话,即使用户没有管理员权限,它也应该可以工作。示例:Firefox,安装到
%LocalAppData%
。- 当然,除非程序本身需要管理员才能工作。
- 哦,还有不是在“所有用户”桌面上放置快捷方式。我们有“开始”菜单。