ramensoftware / windhawk-mods

The official collection of Windhawk mods
222 stars 43 forks source link

Taskbar mods not loading (`ERROR_INTERNET_CANNOT_CONNECT`) #701

Closed nazzy121 closed 1 month ago

nazzy121 commented 1 month ago

Any workaround for this? Tried copying symbols from another PC (where mods load successfully with identical Windows build (22631.3593), but still the mods won't load.

image

image

DebugViewConsole 1.8.0.102.txt

m417z commented 1 month ago

The error in the log is ERROR_INTERNET_CANNOT_CONNECT. Do you have a firewall or an antivirus? Try to exclude explorer.exe, then disable and re-enable the mod.

Basically the problem is that explorer.exe isn't able to download symbols from the internet, so there's something with your computer setup.

Alternatively, as a workaround, you can try using Windhawk Symbol Helper. Run it and set "Target executable" (see paths below), then click "Get symbols". After you did that for all the paths in the list, disable and re-enable the mods. If it will work, note that you'll need to do it after every Windows update.

The paths to set in "Target executable":

C:\Windows\explorer.exe
C:\Windows\System32\Taskbar.dll
C:\Windows\SystemApps\MicrosoftWindows.Client.Core_cw5n1h2txyewy\Taskbar.View.dll
nazzy121 commented 1 month ago

I have two computers, let's call them PC1 and PC2. Both are exact same windows version, and are behind the same Netgear router. I confirmed internet works on both of them. No antivirus except for built-in Windows Defender on Windows 11. Only windows firewall.

Everything works on PC1. But taskbar mods won't load on PC2. I excluded explorer.exe in Windows Defender. Disabled windows firewall. Mods still don't load.

Question, I copied symbols from PC1 to PC2 expecting to fix the problem, but it didn't. Should it have?

Just now I noticed there are 2 entries of "unloaded" for each mod. Earlier it was only 1 entry each mod. Edit: after reboot it's back to 1 unloaded entry per mod. image

nazzy121 commented 1 month ago

I tried Windhawk Symbol Helper but it doesn't seem to work either. I assume you meant to set "Target executable" to each of those paths 1 by 1. When i click "Get Symbols" for each target path, it returns this: Error: symbol_enum.cpp(305)\windhawk-symbol-helper.exe!00007FF6DB97D3FE: (caller: 00007FF6DB974074) Exception(14) tid(a2c) 806D0005

image

image

image

Tried copy/pasting Microsoft symbol server address to a web browser: https://msdl.microsoft.com/download/symbols returns this error page:

image

m417z commented 1 month ago

I assume you meant to set "Target executable" to each of those paths 1 by 1.

Yes.

I tried Windhawk Symbol Helper but it doesn't seem to work either.

Can you check the Log checkbox and post the full log content for one of them?

Tried copy/pasting Microsoft symbol server address to a web browser: https://msdl.microsoft.com/download/symbols returns this error page:

That's fine. Try a link to a symbol file, for example: https://msdl.microsoft.com/download/symbols/explorer.pdb/0B226550FBD4A4AD0D11C794496F41811/explorer.pdb

nazzy121 commented 1 month ago

I put the log next to a ping test (yahoo.com) to prove internet is working :) image

Clicking symbol file results in successful download: image

m417z commented 1 month ago

I'm using Microsoft's SymSrv library. Not sure why it can't connect to the internet on your computer. Maybe something related to proxy settings, although it claims it supports integrated support for a proxy server.

As another workaround you can do the following:

Alternatively, just run the following command in cmd:

curl --create-dirs -L --output C:\ProgramData\Windhawk\Engine\Symbols\explorer.pdb\0B226550FBD4A4AD0D11C794496F41811\explorer.pdb https://msdl.microsoft.com/download/symbols/explorer.pdb/0B226550FBD4A4AD0D11C794496F41811/explorer.pdb

Do these steps for all three modules (explorer.exe, Taskbar.dll, Taskbar.View.dll).

m417z commented 1 month ago

If you have a way to reproduce the problem, please let me know and I'll think of a solution.

Without additional information, all I can provide is a workaround, so I'm closing this issue. If you need more help or have more questions, feel free to follow up.

nazzy121 commented 1 month ago

How do you get this number: "0B226550FBD4A4AD0D11C794496F41811" ? Is it the same number for Taskbar.dll and Taskbar.View.dll?

m417z commented 1 month ago

From the logs. It's different for each module.

image

nazzy121 commented 1 month ago

Unfortunately I get a 0kb file downloaded :(

image

m417z commented 1 month ago

It's because redirections aren't followed. My bad, sorry. Add -L after curl --create-dirs and try again, like this:

curl --create-dirs -L --output C:\ProgramData\Windhawk\Engine\Symbols\explorer.pdb\0B226550FBD4A4AD0D11C794496F41811\explorer.pdb https://msdl.microsoft.com/download/symbols/explorer.pdb/0B226550FBD4A4AD0D11C794496F41811/explorer.pdb
nazzy121 commented 1 month ago

image

Success :) So do I have to run these commands after every windows update? And do the long numbers also change?

By the way, Windhawk Symbol Helper is now suddenly working.... so maybe the command lines somehow fixed the connection?

image

m417z commented 1 month ago

So do I have to run these commands after every windows update? And do the long numbers also change?

Yes and yes.

Windhawk Symbol Helper is now suddenly working.... so maybe the command lines somehow fixed the connection?

It's working because it uses the local files you just downloaded.

nazzy121 commented 1 month ago

I wonder if it's a DNS issue. So I deleted the .pdb files to test a different DNS server, but the mods still load (even after reboot).

Is there a way to revert back to when the mods could not load?

Edit: ah, symbol helper doesn't work again (after deleting .pdb files), switched to google dns (8.8.8.8) still can't connect. Guess I am out of ideas. Thanks for your help so far. At least now I have a manual way to get symbol files. :)

m417z commented 1 month ago

Maybe try running the curl command with verbose logs: curl -v ...

And try running some standard project that uses WinInet, like this one (I suspect it won't work): https://www.codeproject.com/Articles/25185/WinINet-Test-Application

And see if there's anything anywhere in the logs that provides a hint for the reason of the failure.

m417z commented 1 month ago

Here, I compiled the WinInetTest tool: WinInetTest.zip

nazzy121 commented 1 month ago

image

curl-v.txt

m417z commented 1 month ago

Error 12029 is ERROR_INTERNET_CANNOT_CONNECT, quite generic unfortunately. What if you uncheck "Use SSL"?

nazzy121 commented 1 month ago

What if you uncheck "Use SSL"?

No difference unfortunately.

image

nazzy121 commented 1 month ago

This is so weird. I can connect to everything else. Websites, game servers, cloud apps like Dropbox, corporate VPN, etc.

m417z commented 1 month ago

Do you have a proxy server configured? You can check with:

reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | find /i "proxy"
nazzy121 commented 1 month ago

No, it's pretty much a bare W11 install with some apps including VMware Workstation and a vpn client.

image

m417z commented 1 month ago

Then I'm afraid I'm out of ideas. You can Google for "HttpSendRequest ERROR_INTERNET_CANNOT_CONNECT" and look for more solutions. At least we verified that it's not Windhawk alone. If you find anything, let me know.

nazzy121 commented 1 month ago

Think I found it :) I remembered Internet Options had proxy configurations so I went there to double check that no proxy was set up (there wasn't any). Then I looked at "LAN Settings" -> Automatically detect settings was NOT checkmarked. I compared this to my working PC which was checkmarked. So I just click the checkbox on problem PC, then WinInitTest worked. I don't know why it was unchecked, I don't remember ever touching that setting. Anyway, I'm fairly sure this was causing the issue. Thanks for pointing me in that direction to find this.

image

m417z commented 1 month ago

Great, thanks for the update! And you saved yourself from running Windhawk Symbol Helper and curl once a month :)

nazzy121 commented 1 month ago

Great, thanks for the update! And you saved yourself from running Windhawk Symbol Helper and curl once a month :)

Haha definitely. Though I was already grateful to have a manual fix, it's still better to automate. Thanks again!