我刚注意到Chromium在Vista和XP中都安装在AppData中。如果谷歌这样做,如果其他应用程序这样做,那是因为有某种形式的保护?我们应该编写与Google完全相同的安装程序吗?
答案 0 :(得分:21)
Windows仍然没有针对每用户安装的约定。
%PROGRAMFILES%
。%USERPROFILE%\Local Settings\Apps
(Vista / Server 2008上的%USERPROFILE%\AppData\Roaming
)目录来解决这个问题,其中包含程序文件和配置数据。(我不知道为什么微软无法在Vista中添加每用户Program Files目录。例如,在OS X中,你可以创建一个~/Applications
,Finder会给它一个适当的图标.CrossOver和Adobe AIR等应用程序会自动使用它,默认为每用户应用程序。因此,没有权限问题。)
您可能应该做什么:如果用户不是管理员,请安装在用户目录中;如果他们这样做,给他们两个选择。
答案 1 :(得分:6)
没人提到的一个优点是静默自动更新。 Chrome有一个更新程序,可以一直运行并立即更新您的Chrome安装。
我认为他们的用例是非标准的。他们需要一种方法来尽快修复漏洞问题(因为它是一个浏览器)。等待管理员批准公司范围内的每一个更新都不够好。
答案 2 :(得分:5)
据我所知,Chrome安装到Application Data文件夹的唯一原因是非管理员用户可以安装它。
Chrome安装程序目前不允许用户选择要安装应用程序的位置。不要这样做 - 而是让用户在每个用户(像App Data这样的某个地方)和计算机范围(Program Files)安装之间做出选择。
答案 3 :(得分:4)
Windows 7和Windows Installer 5.0现在提供真正的每用户安装功能。
http://msdn.microsoft.com/en-us/library/dd408068%28VS.85%29.aspx
你可以使用〜/ AppData / Local或像Chrome这样的等效软件在Vista和XP中捏造它。 Microsoft自己将其用于ClickOnce安装程序。
因此,至少在Windows 7及更高版本上解决方案很简单。
答案 4 :(得分:2)
坦率地说,我还没有看到第一个真正允许每用户和每台机器安装的安装程序。许多安装程序在其GUI中提供此选项,但该设置仅影响快捷方式等的位置 - 二进制文件始终为%ProgramFiles%。
事实上,至少可以说,创建允许这两种安装的Windows Installer软件包非常困难。随着UAC的出现,我认为它是不可能的:每个用户安装必须不需要提升,每台机器必须安装。但是,MSI包是否需要提升是通过摘要信息流中的一点来控制的 - 没有办法让用户输入对此产生影响。
无论是每个用户还是每台机器都是更好的选择,大大降低了应用程序的负担。但是,对于小型软件包,我更倾向于按用户安装。除了不需要UAC提示或runas更加用户友好之外,它们还告知用户该设置不会对计算机造成太大伤害(假设他是非管理员)。
答案 5 :(得分:1)
除了每位用户外,Chrome安装程序确实应该允许全局安装(带高程)。我不想为每个用户维护安装;我希望能够集中管理升级等。 Chrome不允许这样做。
也就是说,安装每个用户的选项非常好,因为它意味着没有权限问题。
答案 6 :(得分:0)
就像人们所知,Google已经为全球系统安装和管理创建了一个MSI安装程序。它位于:
答案 7 :(得分:0)
我在Win7上的%PROGRAMFILES%中看不到任何内容。看起来必须为计算机上的每个用户安装Chrome。
这样做的真正原因可能是将Chrome安装数量减少了几倍!从而使它成为世界上第一个浏览器!