winutil icon indicating copy to clipboard operation
winutil copied to clipboard

ShellFeedsTaskbarViewMode cannot be set with Explorer.Exe running

Open Jvella94 opened this issue 1 year ago • 4 comments

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:

  1. Run tool -> Tweaks Tab -> Check Disable Telemetry under Essential Tweaks -> Click Run Tweaks
  2. 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

Jvella94 avatar Sep 13 '24 23:09 Jvella94

I've got the same error

kydex avatar Sep 14 '24 15:09 kydex

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.

furquim87 avatar Sep 30 '24 03:09 furquim87

This issue was marked as stale due to inactivity.

github-actions[bot] avatar Dec 30 '24 00:12 github-actions[bot]

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

0nelight avatar Feb 07 '25 17:02 0nelight

This issue was marked as stale due to inactivity.

github-actions[bot] avatar Jun 16 '25 00:06 github-actions[bot]