Blue Flower

禁用浏览器自动更新系列文章:

不同于 Firefox 官方分享了禁用自动更新的配置功能,Google Chrome 及基于其开源版本 Chromium 实现的衍生浏览器【国外各种(Microsoft Edge 等),国产各种…】不仅没有禁用自动更新的配置,而且是强制自动更新如同病毒病毒肆虐一般难以控制,非常不尊重用户。即使知识兔使用变通方法屏蔽了自动更新,它们竟然还会不停的提示软件已经过期。

适用的版本

本文写作时以 Microsoft Edge 88 版本为例,验证到 105 版本可用,不排除新版本将来可能有所变更。

如果方法失效,欢迎反馈,笔者将及时修正和更新,谢谢!

Microsoft Edge for Windows

Microsoft Edge 如何自动更新?

Edge 在 Windows 平台同时发布两个版本,分别是:

企业版(或者称为商业版)即 Windows System Setup,安装在 Program Files 文件夹下,需要管理员权限安装;

用户版即 Windows User Setup,安装在 Users 文件夹下,不需要管理员权限,普通用户就可以安装。

企业版使用以下方法进行自动更新

1
2
3
4
5
6
7
8
9
10
11
12
13
14
服务:
Microsoft Edge 更新服务 (edgeupdate)
Microsoft Edge 更新服务 (edgeupdatem)
Microsoft Edge Elevation Service (MicrosoftEdgeElevationService)

任务计划:
MicrosoftEdgeUpdateBrowserReplacementTask
MicrosoftEdgeUpdateTaskMachineCore
MicrosoftEdgeUpdateTaskMachineUA

主程序安装路径:
C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe
更新程序路径:
C:\Program Files (x86)\Microsoft\EdgeUpdate\MicrosoftEdgeUpdate.exe

巨硬 A3 不讲究,无论 64-bit 还是 32-bit 的 Edge 都安装在 “Program Files (x86”) 目录下面(Chrome 没有这个问题)。

用户版使用以下方法自动更新

1
2
3
4
5
6
7
8
9
10
11
任务计划:
MicrosoftEdgeUpdateTaskUser当前用户的SIDCore
MicrosoftEdgeUpdateTaskUser当前用户的SIDUA
例如:
MicrosoftEdgeUpdateTaskUserS-1-5-21-3860493963-3742860931-3732056798-500Core
MicrosoftEdgeUpdateTaskUserS-1-5-21-3860493963-3742860931-3732056798-500UA

用户版安装路径:
C:\Users\<用户名>\AppData\Local\Microsoft\Edge\Application\msedge.exe
自动更新程序路径:
C:\Users\<用户名>\AppData\Local\Microsoft\EdgeUpdate\MicrosoftEdgeUpdate.exe

根据上述路径,手动禁用或者删除即可禁用自动更新,即分别禁用或删除以下:

  • 更新服务
  • 任务计划
  • 删除更新程序(整个 Update 文件夹)

使用 PowerShell 禁用更新

打开 Windows PowerShell 直接复制以下脚本运行一下更加方便:

或者将脚本保存为 disable-edge-auto-update.ps1 文件,右键点击 “使用 PowerShell 运行” 即可快速完成。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
if ([Environment]::Is64BitOperatingSystem -eq "True") {
#Write-Host "64-bit OS"
$PF=${env:ProgramFiles(x86)}
}
else {
#Write-Host "32-bit OS"
$PF=$env:ProgramFiles
}

if ($(Test-Path "$PF\Microsoft\Edge\Application\msedge.exe") -eq "True") {
# 结束进程
taskkill /im MicrosoftEdgeUpdate.exe /f
taskkill /im msedge.exe /f
# Microsoft Edge 更新服务 (sysin)
#这里也可以使用 sc.exe stop "service name"
Stop-Service -Name "edgeupdate"
Stop-Service -Name "edgeupdatem"
Stop-Service -Name "MicrosoftEdgeElevationService"
# Windows 10 默认 PS 版本 5.1 没有 Remove-Service 命令
# This cmdlet was added in PS v6. See https://docs.microsoft.com/en-us/powershell/scripting/whats-new/what-s-new-in-powershell-core-60?view=powershell-6#cmdlet-updates.
#Remove-Service -Name "edgeupdate"
#Remove-Service -Name "edgeupdatem"
#Remove-Service -Name "MicrosoftEdgeElevationService"
# sc 在 PowerShell 中是 Set-Content 别名,所以要使用 sc.exe 否则执行后无任何效果
sc.exe delete "edgeupdate"
sc.exe delete "edgeupdatem"
sc.exe delete "MicrosoftEdgeElevationService"
# 任务计划企业版
#schtasks.exe /Delete /TN \MicrosoftEdgeUpdateBrowserReplacementTask /F
#schtasks.exe /Delete /TN \MicrosoftEdgeUpdateTaskMachineCore /F
#schtasks.exe /Delete /TN \MicrosoftEdgeUpdateTaskMachineUA /F
Get-ScheduledTask -taskname MicrosoftEdgeUpdate* | Unregister-ScheduledTask -Confirm: $false
# 移除更新程序
Remove-Item "$PF\Microsoft\EdgeUpdate" -Recurse -Force
Write-Output "Disable Microsoft Edge Enterprise Auto Update Successful!"
}
elseif ($(Test-Path "$env:USERPROFILE\AppData\Local\Microsoft\Edge\Application\msedge.exe") -eq "True") {
# 结束进程
taskkill /im MicrosoftEdgeUpdate.exe /f
taskkill /im msedge.exe /f
# 用户版没有创建服务
# 获取SID方法
function Get-CurrentUserSID {
[CmdletBinding()]
param(
)
Add-Type -AssemblyName System.DirectoryServices.AccountManagement
return ([System.DirectoryServices.AccountManagement.UserPrincipal]::Current).SID.Value
}
# 用户版任务计划
schtasks.exe /Delete /TN \MicrosoftEdgeUpdateTaskUser$(Get-CurrentUserSID)Core /F
schtasks.exe /Delete /TN \MicrosoftEdgeUpdateTaskUser$(Get-CurrentUserSID)UA /F
#Get-ScheduledTask -taskname MicrosoftEdgeUpdate* | Unregister-ScheduledTask -Confirm: $false
# 移除更新程序
Remove-Item "$env:USERPROFILE\AppData\Local\Microsoft\EdgeUpdate" -Recurse -Force
Write-Output "Disable Microsoft Edge Users Setup Auto Update Successful!"
}
else {
Write-Output "No Microsoft Edge Installation Detected!"
}

效果图:

disable-edge-auto-update-win

使用绿色版,不带更新功能。

Edge 用户版即 Windows User Setup 直接双击安装,是带更新程序的,但是使用 7-zip 解压出一个名为 MSEDGE.7z 的压缩包,再次解压的文件夹中找到 msedge.exe 就可以运行,这就是绿色版,不带更新程序。

使用组策略配置禁用 Edge 更新,仅限域客户端,请参看

Microsoft Edge for Linux

Edge Linux 版(deb 和 rpm)首个版本为 95.0.1020.38 发布于 2021 年 10 月 28 日,值得庆幸的是,Linux 版并没有自动更新功能,以后的版本是否有变数还无法确定。

Linux 软件更新通常依赖于系统级别的包管理机制(例如 apt 和 yum),知识兔可以手动来控制是否更新。

Microsoft Edge 稳定版(正式版)在 Linux 中的软件包名称为:microsoft-edge-stable

在 Debian 及衍生系统中禁用 Edge 更新:

1
2
3
sudo apt-mark hold microsoft-edge-stable
# 恢复
#sudo apt-mark unhold microsoft-edge-stable

在 Redhat 及衍生系统中禁用 Edge 更新:

1
2
3
echo 'exclude=microsoft-edge-stable' >> /etc/yum.conf
# 恢复
#编辑 /etc/yum.conf 删除 exclude=microsoft-edge-stable

Microsoft Edge for Mac

⚠️ 警告:网上下载的 Microsoft Edge pkg 安装包需要管理员权限安装(即使通过 brew 安装),慎用!

知识兔需要将下载的 pkg 格式软件包解开,提取其中的 “Microsoft Edge.app”,将其拖拽到 “应用程序” 中,在删除其内置的 EdgeUpdater.app,这样无需管理员权限,也没有强制更新程序。

可以使用知识兔 DMG 格式的 Microsoft Edge,不带更新程序,不存在自动更新。当然并不会那么频繁的更新版本,目前按照 0 和 5 版本跟进。

下载 Microsoft Edge for Mac No udpate (sysin)

如果无法正常运行,打开 “终端” 执行:xattr -cr /Applications/Microsoft\ Edge.app 即可。

下面知识兔来看看 Microsoft Edge 是如何自动更新的,以及如何屏蔽。

在 macOS 中 Microsoft Edge 使用 Microsoft AutoUpdate.app(简称 MAU)和(或者)EdgeUpdater.app 进行自动更新。

一般从网上下载安装的 pkg 格式的 Microsoft Edge,使用 Microsoft AutoUpdate.app(简称 MAU)进行自动更新,只需要取消加载项、移除其执行权限(或者删除)即可。

注意:MAU 是 Microsoft 公用更新程序,安装了 Microsoft 其他应用如 Office,会重新启用该程序,需要再次如下操作。

打开 “终端”,执行如下命令:

1
2
3
4
5
6
7
8
# 禁止 MAU 自动运行:
sudo launchctl remove /Library/LaunchAgents/com.microsoft.update.agent.plist
sudo launchctl unload -w /Library/LaunchDaemons/com.microsoft.autoupdate.helper.plist
sudo chmod -R 644 /Library/Application\ Support/Microsoft/MAU2.0/Microsoft\ AutoUpdate.app
# 或者同时除文件,更加彻底:
sudo rm -rf /Library/Application\ Support/Microsoft/MAU2.0/Microsoft\ AutoUpdate.app
sudo rm -rf /Library/LaunchAgents/com.microsoft.update.agent.plist
sudo rm -rf /Library/LaunchDaemons/com.microsoft.autoupdate.helper.plist

如果没有 MAU,Microsoft Edge 将调用内置的 EdgeUpdater 进行自动更新,比如通过 brew install microsoft-edge 安装的版本。另外在删除了 MAU 后也可能直接调用 EdgeUpdater,所以必须同时删除该程序。

打开 “终端” 执行如下命令:

1
2
3
# 删除内置的 EdgeUpdater.app
EDGEVERSION=$(defaults read /Applications/Microsoft\ Edge.app/Contents/Info.plist CFBundleShortVersionString)
sudo rm -rf /Applications/Microsoft\ Edge.app/Contents/Frameworks/Microsoft\ Edge\ Framework.framework/Versions/"$EDGEVERSION"/Helpers/EdgeUpdater.app

Microsoft Edge 运行后同时在以下目录创建 EdgeUpdater 更新程序,一并删除:

1
2
3
4
5
6
7
8
9
10
# 删除用户目录下的 EdgeUpdater
sudo rm -rf ~/Library/Microsoft/EdgeUpdater
sudo rm -rf ~/Library/Application\ Support/Microsoft/EdgeUpdater
# 删除 plist
rm -f ~/Library/LaunchAgents/com.microsoft.EdgeUpdater.*.plist
# 可以设置 EdgeUpdater 只读,防止再次生成(可选)
#sudo mkdir ~/Library/Application\ Support/Microsoft/EdgeUpdater
#sudo chflags schg ~/Library/Application\ Support/Microsoft/EdgeUpdater
#sudo mkdir ~/Library/Microsoft/EdgeUpdater
#sudo chflags schg ~/Library/Microsoft/EdgeUpdater

补充说明:

1
2
3
4
5
# 更新任务在 Edge 运行后创建
~/Library/LaunchAgents/com.microsoft.EdgeUpdater.update.plist
~/Library/LaunchAgents/com.microsoft.EdgeUpdater.update-internal..plist
~/Library/LaunchAgents/com.microsoft.EdgeUpdater.wake..plist
# 为 4 位版本号

若要恢复自动更新,重新安装官方原版即可。

下载 Edge

Edge 100 存档

Edge 105 存档

下载 Microsoft Edge for Mac No udpate (sysin)

Microsoft Edge 策略配置

Microsoft Edge 下载 (sysin)

下载仅供下载体验和测试学习,不得商用和正当使用。

下载体验

请输入密码查看内容!

如何获取密码?

 

点击下载