ShellFeedsTaskbarViewMode cannot be set with Explorer.Exe running
Describe the bug
When running the "Disable Telemetry" Tweak, I get the below error:
Set HKCU:\Software\Microsoft\Windows\CurrentVersion\Feeds\ShellFeedsTaskbarViewMode to 2
WARNING: Unable to set ShellFeedsTaskbarViewMode due to unhandled exception
WARNING: at Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode, String str)
at Microsoft.Win32.RegistryKey.SetValue(String name, Object value, RegistryValueKind valueKind)
at Microsoft.PowerShell.Commands.RegistryProvider.SetRegistryValue(IRegistryWrapper key, String propertyName, Object value, RegistryValueKind kind, String path, Boolean writeResult)
at Microsoft.PowerShell.Commands.RegistryProvider.SetProperty(String path, PSObject propertyValue)
I confirmed this by manually trying to do myself in regedit and not being allowed.
Searching led me to a Reddit Post with the solution below:
# Turn off News and Interests
Write-Host "Turning off News and Interests..."
TASKKILL /IM explorer.exe /F
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Feeds" -Name "ShellFeedsTaskbarViewMode" -Type DWord -Value 2
Start-Process explorer.exe
A follow up comment also recommended to disable/create two other registry entries:
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Feeds" -Name "IsFeedsAvailable" -Type DWord -Value 0
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Feeds" -Name "EnableFeeds" -Type DWord -Value 0
To Reproduce
Steps to reproduce the behavior:
- Run tool -> Tweaks Tab -> Check Disable Telemetry under Essential Tweaks -> Click Run Tweaks
- Console will show Error Message Listed as above
Expected behavior
Registry tweaks are set correctly (a warning should come up for this option as restarting explorer.exe will remove peoples open folders etc)
Screenshots
N/A
Additional context
OS Name Microsoft Windows 11 Pro Version 10.0.22631 Build 22631
I've got the same error
Same error here. I tried to use the solutions recommended by the OP, but it also didn't work.
EDIT: Managed to fix it by disabling UCPD and reapplying the tweaks. Thanks to #2802 (comment) and #2769 (comment) for pointing me in that direction.
This issue was marked as stale due to inactivity.
I found another workaround based on a powershell script on tenforums (which links to mydigitallife for deeper exploration) which is working for me ð. No need for closing explorer.exe.
Try this PowerShell script as Admin:
# https://forums.mydigitallife.net/threads/taskbarda-widgets-registry-change-is-now-blocked.88547/#post-1849006
# jeff789741
$MethodDefinition = @'
[DllImport("Shlwapi.dll", CharSet = CharSet.Unicode, ExactSpelling = true, SetLastError = false)]
public static extern int HashData(
byte[] pbData,
int cbData,
byte[] piet,
int outputLen);
'@
$Shlwapi = Add-Type -MemberDefinition $MethodDefinition -Name 'Shlwapi' -Namespace 'Win32' -PassThru
# (2 is for off)
$option = 2
$machineIdReg = Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\SQMClient\' -Name 'MachineId' -ErrorAction SilentlyContinue
$machineId = '{C283D224-5CAD-4502-95F0-2569E4C85074}' # Fallback Value
if ($machineIdReg) {
$machineId = $machineIdReg.MachineId
}
$combined = $machineId + '_' + $option.ToString()
$reverse = $combined[($combined.Length - 1)..0] -join ''
$bytesIn = [system.Text.Encoding]::Unicode.GetBytes($reverse)
$bytesOut = [byte[]]::new(4)
$Shlwapi::HashData($bytesIn, 0x53, $bytesOut, $bytesOut.Count)
$dwordData = [System.BitConverter]::ToUInt32($bytesOut,0)
Copy-Item (Get-Command reg).Source .\reg1.exe
Start-Process -NoNewWindow -Wait -FilePath .\reg1.exe -ArgumentList 'ADD','HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Feeds\','/v','ShellFeedsTaskbarViewMode','/t','REG_DWORD','/d',$option,'/f'
Start-Process -NoNewWindow -Wait -FilePath .\reg1.exe -ArgumentList 'ADD','HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Feeds\','/v','EnShellFeedsTaskbarViewMode','/t','REG_DWORD','/d',$dwordData,'/f'
Remove-Item .\reg1.exe -ErrorAction SilentlyContinue
This issue was marked as stale due to inactivity.