我刚刚注意到Chromium在Vista和XP中都安装在AppData中.如果谷歌这样做,如果其他应用程序这样做,那是因为有某种形式的保护?我们应该编写与Google完全相同的安装程序吗?
Windows仍然缺乏每用户安装的约定.
当安装程序询问是为当前用户还是所有用户安装时,它实际上仅指快捷方式放置("开始"菜单;"桌面").实际的应用程序文件仍然在系统范围内%PROGRAMFILES%
.
微软自己的ClickOnce通过创建一个完全非标准的%USERPROFILE%\Local Settings\Apps
(%USERPROFILE%\AppData\Roaming
在Vista/Server 2008上)目录来解决这个问题,目录中包含程序文件和配置数据.
(我不知道为什么微软无法在Vista中添加每用户程序文件目录.例如,在OS X中,你可以创建一个~/Applications
,Finder会给它一个合适的图标.像CrossOver和Adobe这样的应用程序AIR会自动使用它,默认为每个用户的应用程序.因此,没有权限问题.)
您应该做什么:如果用户不是管理员,请安装在用户目录中; 如果他们这样做,给他们两个选择.
没人提到的一个优点是静默自动更新.Chrome有一个更新程序进程,可以一直运行并立即更新您的chrome安装.
我认为他们的用例是非标准的.他们需要一种方法来尽快修复漏洞问题(因为它是一个浏览器).等待管理员批准公司范围内的每一个更新,根本不够好.
据我所知,Chrome安装到Application Data文件夹的唯一原因是非管理员用户可以安装它.
Chrome安装程序目前不允许用户选择要安装应用程序的位置.不要这样做 - 而是让用户在每个用户(像App Data这样的某个地方)和计算机范围(Program Files)安装之间做出选择.