SLaks/Ref12

Redirection error on Windows 10 with Chrome as default browser

Closed this issue · 5 comments

If others have the same issue: After upgrading my dev machine to windows 10, Ref12 stopped redirecting properly, and instead got stuck on http://referencesource.microsoft.com/mscorlib/a.html (notice the lack of #md5hash in the url) with title Redirecting... and body Don't use this page directly, pass #symbolId to get redirected.

I found out that this is a known bug with Chrome and Windows 10, where an URL started from the shell (or with Process.Start(..) as Ref12 is doing) will lose everything after the hash sign.

See http://stackoverflow.com/a/32205978 which references two Chrome bugs:

To verify if you have this problem:

  • In a new tab in chrome, navigate to http://referencesource.microsoft.com/mscorlib/a.html#8281103e6f23cb5c, and you should end up on the correct page
  • run the command start http://referencesource.microsoft.com/mscorlib/a.html#8281103e6f23cb5c in a command prompt (or Win-R and paste only the url). Chrome should open a new tab with only http://referencesource.microsoft.com/mscorlib/a.html and the above error message.

I'm not exactly sure if there is anything that can be done from the Ref12 side, and I guess we can only wait for the fixes to land in the public version of Chrome (or change your default browser).

After a closer look at one of the issues, it seems that a quick workaround is to remove the DelegateExecute string value under the HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ChromeHTML\shell\open\command registry key (there should only be "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -- "%1" in the default value of the key).

Doing that fixed the issue for me and Ref12 now opens properly in Chrome 45.

I can confirm the above issue and that the workaround is effective. For those hesitant to change their registry, the change is detailed under the OP's link to issue 516349 and seems innocuous.

Chrome 46 has been out for a few days now. Upgrading fixed this issue for me.

I can confirm Chrome 46 fixes this.

Closing this since it looks like most people with Chrome will have already updated to the new version with the fix.