【问题标题】:What are the advantages of installing programs in AppData like Google Chrome?在 Google Chrome 等 AppData 中安装程序有什么好处?
【发布时间】:2010-09-08 00:56:07
【问题描述】:

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

【问题讨论】:

    标签: windows google-chrome windows-installer


    【解决方案1】:

    没有人提到的一个优点是静默自动更新。 Chrome 有一个始终运行并立即更新您的 chrome 安装的更新程序。

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        大家都知道,Google 为全球系统安装和管理创建了一个 MSI 安装程序。它位于此处:

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

        【讨论】:

          【解决方案4】:

          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 及更高版本上,解决方案很简单。

          【讨论】:

            【解决方案5】:

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

            事实上,至少可以说,创建允许两种安装方式的 Windows 安装程序包是相当困难的。随着 UAC 的出现,我想说这是不可能的:每个用户安装必须不需要提升,每个机器安装必须。但是 MSI 包是否需要提升是通过摘要信息流中的位来控制的——没有办法让用户输入对此产生影响。

            每个用户或每台机器是更好的选择,这极大地影响了应用程序。但是,对于小型软件包,我倾向于按用户安装。除了通过不需要 UAC 提示符或 runas 使用户更加友好之外,它们还向用户表明该设置不会对计算机造成太大伤害(假设他是非管理员)。

            【讨论】:

              【解决方案6】:

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

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

              【讨论】:

                【解决方案7】:

                Windows 仍然缺乏按用户安装的约定。

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

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

                你可能应该做什么:如果用户不是管理员,安装在用户目录中;如果他们这样做,给他们两个选择。

                【讨论】:

                • 有趣的是,您应该提到 Adob​​e AIR,因为它的应用程序安装程序系统在 Windows 上已损坏,但在 OSX 和 Linux 上却没有。在 Windows 上,AIR 安装程序被锁定为“为所有用户安装”,实际上需要管理员权限才能安装和升级 AIR 应用程序。
                • 从 Windows 7 开始,Windows 有一个每个用户的 Program Files 目录。在 KNOWNFOLDERID 上搜索“FOLDERID_UserProgramFiles”。默认路径为%LOCALAPPDATA%\Programs
                【解决方案8】:

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

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

                【讨论】:

                • 我同意——给用户一个选择。因此,我们公司不允许使用 Chrome。
                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2011-09-13
                • 1970-01-01
                • 2014-06-28
                • 1970-01-01
                • 1970-01-01
                • 2015-11-24
                • 2023-04-07
                相关资源
                最近更新 更多