我刚刚注意到,在Vista和XP中,Chromium都安装在AppData中。 如果谷歌这样做,如果其他应用程序这样做,比那是因为有某种forms的保护? 我们应该编写与Google完全相同的安装程序吗?
Windows仍然缺乏每用户安装的惯例。
%PROGRAMFILES%
。 %USERPROFILE%\Local Settings\Apps
(Vista / server 2008上的%USERPROFILE%\AppData\Roaming
)目录,同时包含程序文件和配置数据。 (我不知道为什么微软无法在Vista中添加一个用户程序文件目录,例如,在OS X中,你可以创建一个~/Applications
,Finder会给它一个合适的图标。 CrossOver和Adobe AIR自动使用它,默认为每个用户的应用程序,因此没有权限问题。)
你可能应该做的:如果用户不是管理员,安装在用户目录; 如果他们这样做,给他们两个选项。
没有人提到的一个优点是无声自动更新。 Chrome有一个随时运行的更新程序,可立即更新您的Chrome安装。
我认为他们的用例是非标准的。 他们需要一种方法来尽快解决漏洞问题(因为它是一个浏览器)。 等待管理员批准公司范围内的每一个更新,都不够好。
据我所知,Chrome安装到Application Data文件夹的唯一原因是非管理员用户可以安装它。
Chrome安装程序目前不允许用户选择应用程序的安装位置。 不要这样做 – 而是让用户在每个用户(应用程序数据的某处)和计算机范围(Program Files)安装之间进行选择。
Windows 7和Windows Installer 5.0现在提供了真正的每用户安装功能。
http://msdn.microsoft.com/en-us/library/dd408068%28VS.85%29.aspx
你可以在Vista和XP中使用〜/ AppData / Local或者类似Chrome的方法。 微软自己使用这个ClickOnce安装程序。
所以至少在Windows 7上,解决方案很简单。
坦率地说,我还没有看到真正允许每个用户和每个机器安装的第一个安装程序。 许多安装程序在它们的GUI中提供了这个选项,但是这个设置只影响快捷方式等的位置 – 二进制文件总是保存到%ProgramFiles%。
实际上,要创建允许这两种安装的Windows安装程序包是相当困难的。 随着UAC的出现,我想说这是不可能的:每个用户安装不得要求提升,每台机器安装必须。 但是,MSI软件包是否需要提升才能通过汇总信息流中的某个位进行控制 – 用户输入无法对此产生影响。
无论是每用户还是每台机器都是更好的选择,极大地影响了应用。 然而,对于小包装,我更倾向于每个用户的安装。 除了通过不需要UAC提示或runas而稍微更方便用户之外,他们还向用户表明设置不会对计算机造成太大伤害(假设他是非管理员)。
Chrome安装程序确实应该允许全局安装(使用高程)以及每个用户。 我不想为每个用户维护一个安装; 我希望能够集中管理升级等等。 Chrome不允许这样做。
也就是说,安装每个用户的选项是相当不错的,因为这意味着没有权限问题。
大家都知道,Google已经创建了一个MSI安装程序,用于全局系统的安装和管理。 它位于这里:
我没有看到Win7上的%PROGRAMFILES%中的任何内容。 看起来像Chrome必须安装在机器上的每个用户。
也许这样做的真正原因是伪装了几次Chrome设备! 从而使其成为世界上第一个浏览器!