如何禁用 Google Chrome 静默更新?

如何禁用 Google Chrome 静默更新?

我按照在线找到的说明进行操作,但 Chrome 仍在自动更新。

我已下载并安装了 ADM 模板,因此我可以使用本地策略禁用更新。我已将其设置为仅手动更新。我还在 HKLM/SOFTWARE/Policies/Google/Update 的注册表中添加了项

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update]
"UpdateDefault"=dword:00000000
"AutoUpdateCheckPeriodMinutes"=dword:00000000
"DisableAutoUpdateChecksCheckboxValue"=dword:00000000
"Update{8A69D345-D564-463C-AFF1-A69D9E530F96}"=dword:00000000
"Install{8A69D345-D564-463C-AFF1-A69D9E530F96}"=dword:00000000

Google 更新服务均已被禁用。(gupdate 和 gupdatem)

答案1

Google 更新服务均已被禁用。(gupdate 和 gupdatem)

这是可能有罪,因为它似乎导致策略设置被忽略(来源)。 那么你不应该禁用服务(将两者都设置为手动的反而)。

其次,关于建议的注册表设置有几点意见:

  • UpdateDefault可以设置为,3以防止更新全部Google 软件(来源)
  • AutoUpdateCheckPeriodMinutes当机器被解释时,不是在域中(来源)
  • Update{8A69D345-D564-463C-AFF1-A69D9E530F96}是 Chrome 特有的 覆盖UpdateDefault。设置为3或删除(如果UpdateDefault存在)并设置为3(即继承默认值)
  • Install{8A69D345-D564-463C-AFF1-A69D9E530F96}是 Chrome 特有的 覆盖。如果指定了 并设置为 ,InstallDefault则设置为0或删除(即继承默认值)InstallDefault0
  • Chrome 二进制文件策略也需要存在,并且“两者需要匹配才能使自动更新策略正常工作”(来源)

基于上述内容,创建了一个脚本(还更新服务和计划任务):

@echo off

rem | References:
rem | https://support.google.com/chrome/a/answer/6350036#Registry_Settings
rem | http://stackoverflow.com/a/28356336/1111895
rem | http://superuser.com/questions/645845/how-do-i-disable-google-chrome-silent-updates

echo Stopping and setting Google Update services to manual . . .
rem | don't disable the services as it seems to cause the policy settings to be ignored
rem | https://bugs.chromium.org/p/chromium/issues/detail?id=512627#c158
for %%i in ("gupdate" "gupdatem") do (
  "%windir%\system32\net.exe" stop %%~i>nul 2>&1
  "%windir%\system32\sc.exe" config %%~i start= demand>nul
  if errorlevel 1 pause
)

echo Stopping and disabling Google Update tasks . . .
rem | avoid overhead and help preventing the services configuration from being reset
for %%i in ("GoogleUpdateTaskMachineCore" "GoogleUpdateTaskMachineUA") do (
  "%windir%\system32\schtasks.exe" /end /TN "\%%~i">nul 2>&1
  "%windir%\system32\schtasks.exe" /change /disable /TN "\%%~i">nul
  if errorlevel 1 pause
)

echo Updating Google Update policy . . .
set TARGET_KEY=HKLM\SOFTWARE\Policies\Google\Update
for %%i in ("Update" "Install") do (
  rem | GUIDs mean "Google Chrome" and "Google Chrome binaries", which must be consistent
  rem | https://support.google.com/chrome/a/answer/3204698#auto-updates
  rem | Tip: to affect other Google Update packages, add "Default" to the list
  for %%j in ("{8A69D345-D564-463C-AFF1-A69D9E530F96}" "{4DC8B4CA-1BDA-483E-B5FA-D3C12E15B62D}") do (
    "%windir%\system32\reg.exe" add "%TARGET_KEY%" /v "%%~i%%~j" /t REG_DWORD /d 0 /f>nul
    if errorlevel 1 pause  
  )
)
rem | for machines *not* in a domain, this is limited to 77 hours (even when set to 0!)
rem | https://www.chromium.org/administrators/turning-off-auto-updates
"%windir%\system32\reg.exe" add "%TARGET_KEY%" /v "AutoUpdateCheckPeriodMinutes" /t REG_DWORD /d 0 /f>nul
if errorlevel 1 pause
rem | disable the auto-updater
rem | http://googlesystem.blogspot.pt/2009/05/customize-or-disable-google-update.html
"%windir%\system32\reg.exe" add "%TARGET_KEY%" /v "DisableAutoUpdateChecksCheckboxValue" /t REG_DWORD /d 1 /f>nul
if errorlevel 1 pause

echo Done!
rem | ~3s delay (backwards-compatible with Windows XP)
"%windir%\system32\ping.exe" -n 4 127.0.0.1>nul 2>&1

将文本区域内容保存到Windows 命令脚本文件(例如GoogleChrome-DisableUpdates[RunAsAdministrator].cmd)并以管理员身份运行。

提示:(在上面的脚本注释中部分说明)影响其他 Google 更新包,步骤更新 Google 更新政策添加默认添加到列表中,例如:

for %%j in ("{8A69D345-D564-463C-AFF1-A69D9E530F96}" "{4DC8B4CA-1BDA-483E-B5FA-D3C12E15B62D}" "Default") do (

这将导致更新策略不仅适用于 Google Chrome,而且适用于 Google 更新支持的所有产品,前提是其他产品特定键(Update{GUID}Install{GUID})是不是覆盖这些设置(来源)

答案2

我不完全同意回答经过赫尔德·马加良斯。让我回顾一下要点。

  1. 更新控件已于 2009 年 5 月 14 日星期四发布(博客文章),从那以后情况发生了一些变化。
  2. 配置 Google 更新的最简单方法概述如下页面。它涉及下载和设置特定的组策略模板
  3. 这些策略旨在用于 Active Directory 域环境中。具体来说,Chromium 项目页面明确指出:

警告:为防止滥用此策略,如果设备未加入 Active Directory 域,并且此策略已设置为 0 或大于 77 小时的值,则此设置将不被遵守,并在 2014 年 8 月之后被 77 小时取代。如果您受到此影响,并且仍然想禁用 Chrome 更新(不推荐),您可以使用此处所述的“更新策略覆盖”来实现。

此警告指的是特定建议:

将 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update\AutoUpdateCheckPeriodMinutes 的值设置为 REG_DWORD 值“0”。

警告末尾链接的页面再次是我在第 2 点报告的页面。

  1. 组策略也可以在本地使用(这并不容易,因为默认情况下不会将相应的管理单元添加到 Win 上的 mmc - 无论如何,我不会在这里详细介绍这一点)。但是,如果计算机未加入 Active Directory 域,很快就会发现它们不受尊重。这不会弄乱服务或计划任务,因此罪魁祸首是不是使用 Google 更新服务。事实上,Chromium 项目页面(参见第 3 点的链接)上的信息似乎不是最新的,如果设备不在域中,则更新策略覆盖也不会被遵守。该问题在错误报告,尽管没有公开声明,但我的最后一个断言似乎得到了帖子的证实三十八6270127。此外,我激活了 Google 更新日志文件(请参阅第 3 点链接中概述的步骤,位于故障排除 -> 步骤 1:创建日志文件),发现有很多行以这样的注释结尾[Ignoring group policy][machine is not part of a domain]
  2. 除了 Google 更新的组策略外,还有 Chrome 的策略(看这里),但这些也没有任何帮助。你可以尝试使用 Windows 注册表管理 Chrome 策略或者使用 Chrome 浏览器的主偏好设置,但再次失败(至少在我的非详尽测试中失败了)。

总而言之,为了让 Google 更新接受机器的任何配置必须加入 Active Directory 域。好吧,据 Google 更新所知...

窍门来了。Google Update 基于 Omaha 项目,其源代码可从在 GitHub 上. 注册表项和值定义在这个文件;对于我们的目的来说,相关值位于第 323 行(请阅读上面的注释)。

出于以下几个原因,我暂时不想明确写出此时该怎么做(不要让恶意软件轻易得手,也不要让 Google 的员工连最后一个自定义选项都删掉)。如果有人无法找到注册表项,请看这里

调整注册表后,无论计算机是否加入域,本地组策略都会应用。而且,更新策略覆盖足以禁用 Chrome 更新,这一点在 处清晰可见chrome://chrome(尚未检查“仅手动”设置,因为它未出现在 处chrome://chrome,因此我必须等待下一个可用更新)。似乎无需调整 Chrome 特定的策略,也无需调整 Chrome 二进制文件策略。

最后说明:删除文件夹C:\Program Files (x86)\Google\Update不会禁用更新,它休息整个 Google 更新机制。此外,还需要禁用 Chrome 组件的更新,否则迟早会恢复 Google 更新(请参阅这个问题这个文件,特别是第 17-18 行的注释)。

答案3

删除下一个文件夹:c:\program files(x86)\google\update\

相关内容