mirror of
https://github.com/Raphire/Win11Debloat.git
synced 2026-04-03 14:06:27 +00:00
This also includes: * Update README for DisableSearchHighlights and DisableFindMyDevice * Extracted more logic from main script into separate scripts * Add event handler for tab changes to regenerate overview
57 lines
2.9 KiB
PowerShell
57 lines
2.9 KiB
PowerShell
# Forcefully removes Microsoft Edge using its uninstaller
|
|
# Credit: Based on work from loadstring1 & ave9858
|
|
function ForceRemoveEdge {
|
|
Write-Host "> Forcefully uninstalling Microsoft Edge..."
|
|
|
|
$regView = [Microsoft.Win32.RegistryView]::Registry32
|
|
$hklm = [Microsoft.Win32.RegistryKey]::OpenBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, $regView)
|
|
$hklm.CreateSubKey('SOFTWARE\Microsoft\EdgeUpdateDev').SetValue('AllowUninstall', '')
|
|
|
|
# Create stub (This somehow allows uninstalling Edge)
|
|
$edgeStub = "$env:SystemRoot\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe"
|
|
New-Item $edgeStub -ItemType Directory | Out-Null
|
|
New-Item "$edgeStub\MicrosoftEdge.exe" | Out-Null
|
|
|
|
# Remove edge
|
|
$uninstallRegKey = $hklm.OpenSubKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Microsoft Edge')
|
|
if ($null -ne $uninstallRegKey) {
|
|
Write-Host "Running uninstaller..."
|
|
$uninstallString = $uninstallRegKey.GetValue('UninstallString') + ' --force-uninstall'
|
|
Invoke-NonBlocking -ScriptBlock {
|
|
param($cmd)
|
|
Start-Process cmd.exe "/c $cmd" -WindowStyle Hidden -Wait
|
|
} -ArgumentList $uninstallString
|
|
|
|
Write-Host "Removing leftover files..."
|
|
|
|
$edgePaths = @(
|
|
"$env:ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Edge.lnk",
|
|
"$env:APPDATA\Microsoft\Internet Explorer\Quick Launch\Microsoft Edge.lnk",
|
|
"$env:APPDATA\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Microsoft Edge.lnk",
|
|
"$env:APPDATA\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Tombstones\Microsoft Edge.lnk",
|
|
"$env:PUBLIC\Desktop\Microsoft Edge.lnk",
|
|
"$env:USERPROFILE\Desktop\Microsoft Edge.lnk",
|
|
"$edgeStub"
|
|
)
|
|
|
|
foreach ($path in $edgePaths) {
|
|
if (Test-Path -Path $path) {
|
|
Remove-Item -Path $path -Force -Recurse -ErrorAction SilentlyContinue
|
|
Write-Host " Removed $path" -ForegroundColor DarkGray
|
|
}
|
|
}
|
|
|
|
Write-Host "Cleaning up registry..."
|
|
|
|
# Remove MS Edge from autostart
|
|
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" /v "MicrosoftEdgeAutoLaunch_A9F6DCE4ABADF4F51CF45CD7129E3C6C" /f *>$null
|
|
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" /v "Microsoft Edge Update" /f *>$null
|
|
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run" /v "MicrosoftEdgeAutoLaunch_A9F6DCE4ABADF4F51CF45CD7129E3C6C" /f *>$null
|
|
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run" /v "Microsoft Edge Update" /f *>$null
|
|
|
|
Write-Host "Microsoft Edge was uninstalled"
|
|
}
|
|
else {
|
|
Write-Host "Unable to forcefully uninstall Microsoft Edge, uninstaller could not be found" -ForegroundColor Red
|
|
}
|
|
} |