Forum Discussion
wrdoss
Apr 20, 2024Copper Contributor
Microsoft Apps won't connect to internet
Microsoft apps (News, Widgets, Mail, Feedback Hub, Get Help) won't connect to the internet, but Edge connects just fine, and Troubleshooter says there are no internet problems found. The problem sta...
Mike Meinz
Jun 14, 2025Copper Contributor
I created this PowerShell script to check for and resolve the most common causes of apps like Microsoft Store, Widgets and Feedback Hub not being able to connect to the Internet. I run this script every time I restart my PC. Several times a month, it corrects a setting. I have not been able to determine what changes one of the Internet-related settings but my script resolves it automatically every time it occurs.
DISCLAIMER: This works on my Windows 11 Pro 24H2 OS Build 26100.4061 PC. It may not work on yours.
$CRLF=[char]13 + [char]10
$msg=""
$rerun=""
# Ensure "Automatically detect settings" is checked
$key = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections"
$data = (Get-ItemProperty -Path $key -Name DefaultConnectionSettings).DefaultConnectionSettings
if ($data[8] -ne 9) {
$v1=([Convert]::ToString($data[8], 16)).PadLeft(2,'0')
$data[8] = 0x09 # Enable "Automatically detect settings"
Set-ItemProperty -Path $key -Name DefaultConnectionSettings -Value $data
$m="$key DefaultConnectionSettings[8] is 0x$v1 - incorrect. Should be 0x09. Corrected!"
write-host "ERROR:$m"
$msg="$msg$m$CRLF$CRLF"
}
# Ensure Windows HTTP Automatic Proxy Service Start is set to Manual
$key = "HKLM:\SYSTEM\CurrentControlSet\Services\WinHttpAutoProxySvc"
$val=Get-ItemPropertyValue -Path $key -Name Start
# Start: 0=Driver (Boot), 1=Driver(System), 2=Auto Load, 3=Manual Start (Load on Demand), 4=Disabled, 5=Delayed Start
If ($val -ne 3) {
Set-ItemProperty -Path $key -Name Start -Value 3
$m="$key Start is $val - incorrect. Should be 3 (Manual Start). Corrected!"
write-host "ERROR: $m"
$msg="$msg$m$CRLF$CRLF"
}
# Ensure TLS 1.2, TLS 1.3 and SSL 3.0 are enabled
# Protocol Hex Value
# SSL 2.0 0x08 (8)
# SSL 3.0 0x20 (32)
# TLS 1.0 0x80 (128)
# TLS 1.1 0x200 (512)
# TLS 1.2 0x800 (2048)
# TLS 1.3 0x2000 (8192)
$key = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
$val=Get-ItemPropertyValue -Path $key -Name SecureProtocols
$mask = 8192 -bor 32 -bor 2048 # SSL 3.0 and TLS 1.3 and TLS 1.2
$rslt=$mask -band $val
if ($rslt -ne $mask) {
$val=$val -bor $mask
#Following statement may require Administrator Mode to work.
#If not in Administrator mode, an Exception is not thrown.
Set-ItemProperty -Path $key -Name SecureProtocols -Value $val
# Retrieve the value to verify the change
$actualValue = (Get-ItemProperty -Path $key -Name SecureProtocols).SecureProtocols
if ($actualValue -ne $val) {
$rerun="$CRLF$CRLFRe-run in Administrator mode to change SecureProtocols value in System Registry."
} else {
$v1=([Convert]::ToString($rslt, 16)).PadLeft(5,"0")
$v2=([Convert]::ToString($mask, 16)).PadLeft(5,"0")
$m="$key SecureProtocols is 0x$v1 - incorrect. It should be 0x$v2. Either SSL 3.0, TLS 1.2 or TLS 1.3 not enabled. Corrected!"
write-host "ERROR: $m"
$msg="$msg$m$CRLF$CRLF"
}
}
#Ensure Root Certificate Auto Update is enabled
$key = "HKLM:\software\Policies\Microsoft\SystemCertificates\AuthRoot"
$val=Get-ItemPropertyValue -Path $key -Name DisableRootAutoUpdate
if ($val -ne 0) {
Set-ItemProperty -Path $path -Name DisableRootAutoUpdate -Value 0
$m="$key DisableRootAutoUpdate is $val - incorrect. It should be 0. Corrected!"
write-host "ERROR: $m"
$msg="$msg$m$CRLF%CRLF"
}
if ($msg.length -gt 0) {
Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.MessageBox]::Show("$msg$rerun", "Settings affecting Store, Feedback Hub and/or Widgets", "OK", "Error")
}