我刚刚注意到在 Vista 和 XP 中,Chromium 都安装在 AppData 中。如果谷歌这样做并且其他应用程序这样做,那是因为存在某种形式的保护吗?我们是否应该编写与 Google 功能相同的安装程序?

有帮助吗?

解决方案

Windows 仍然缺乏针对每用户安装的约定。

  • 当安装程序询问是否为当前用户或所有用户安装时,它实际上仅指快捷方式的放置(“开始”菜单;桌面)。实际的应用程序文件仍然在系统范围内 %PROGRAMFILES%.
  • 微软自己的 ClickOnce 通过创建一个完全非标准的解决方案来解决这个问题 %USERPROFILE%\Local Settings\Apps (%USERPROFILE%\AppData\Roaming 在 Vista / Server 2008 上)目录,其中包含程序文件和配置数据。

(我不明白为什么 Microsoft 不能在 Vista 中添加每用户的 Program Files 目录。例如,在 OS X 中,您可以创建一个 ~/Applications, ,Finder 会给它一个合适的图标。CrossOver 和 Adob​​e AIR 等应用程序会自动使用该功能,默认为每用户应用程序。因此,不存在权限问题。)

你可能会做什么 应该 做:如果用户不是admin,则安装在用户目录下;如果他们这样做,请给他们两种选择。

其他提示

无人提及的一项优点是静默自动更新。Chrome 有一个始终运行的更新程序进程,可以立即更新您的 Chrome 安装。

我认为他们的用例是非标准的。他们需要一种尽快修复漏洞问题的方法(因为它是浏览器)。等待管理员批准全公司范围内的每一个更新是不够的。

据我所知,Chrome 安装到 Application Data 文件夹的唯一原因是为了让非管理员用户可以安装它。

Chrome 安装程序目前不允许用户选择应用程序的安装位置。不要这样做 - 相反,让用户在每个用户(如应用程序数据)和计算机范围(程序文件)安装之间进行选择。

Windows 7 和 Windows Installer 5.0 现在提供真正的每用户安装功能。

http://msdn.microsoft.com/en-us/library/dd408068%28VS.85%29.aspx

在 Vista 和 XP 中,您可以使用 ~/AppData/Local 或类似 Chrome 的类似工具来修改它。Microsoft 自己将其用于 ClickOnce 安装程序。

因此,至少在 Windows 7 及更高版本上,解决方案很简单。

坦率地说,我还没有看到第一个真正允许每用户和每台机器安装的安装程序。许多安装程序在其 GUI 中提供此选项,但该设置仅影响快捷方式等的位置。go - 二进制文件始终位于 %ProgramFiles%。

事实上,至少可以说,创建允许两种安装的 Windows Installer 软件包相当困难。随着UAC的出现,我想说这是不可能的:每用户安装不得要求抬高,每台机器安装则必须。但是 MSI 包是否需要提升是通过摘要信息流中的位来控制的 - 用户输入无法对此产生影响。

按用户还是按机器是更好的选择很大程度上取决于应用程序。然而,对于小软件包,我倾向于按用户安装。除了不需要 UAC 提示符或运行路径而对用户更加友好之外,它们还向用户发出信号,表明该设置不会对计算机造成太大损害(假设他是非管理员)。

除了每个用户之外,Chrome 安装程序确实应该允许全局安装(带有提升)。我不想为每个用户维护安装;我希望能够集中管理升级等。Chrome 不允许这样做。

也就是说,按用户安装的选项非常好,因为这意味着没有权限问题。

众所周知,Google 创建了一个 MSI 安装程序,用于全局系统安装和管理。它位于这里:

https://www.google.com/intl/en/chrome/business/browser/

我在 Win7 上的 %PROGRAMFILES% 中没有看到任何内容。看起来必须为计算机上的每个用户安装 Chrome。

也许这样做的真正原因是伪造 Chrome 安装数量的几倍!从而使其成为世界上第一个浏览器!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top