BenoitRen Posted November 8, 2006 Posted November 8, 2006 There's one side-effect to having an IE-free installation: programs don't open your default browser anymore. At least, not all of them.To open desktop shortcuts, SHLWAPI.DLL is needed. I copied that from a cabinet file. The default web browser is specified in HKEY_CLASSES_ROOT, under the HTTP entry. SeaMonkey has set it correctly. I've done some research, and I find references to the ShellExecute API, which looks at the HTTP entry for web addresses. It's in shell32.dll. Okay.The two programs that won't open my default web browser are AIM 4.8 and aMSN.When clicking a link in AIM, it says that it can't find the application for tthe "http" protocol. I've run Dependancy Walker on it. It also uses an IE file called mswebapi.dll. I copied that over, but I still have the same issue.Of course, you can specify the application in that dialog box. But that doesn't help at all. Clicking a link doesn't do anything after I do that.aMSN plain doesn't do anything, and its configuration options for applications are weird. It works with a variable that holds the URL, placed after an application name. That didn't work. I placed the full path before the application. That didn't work either.Does anyone have a clue as to what might be wrong, or what strange methods some programs use to open a link in your default web browser?
eidenk Posted November 8, 2006 Posted November 8, 2006 Try to use Regmon to see what it does not find.
BenoitRen Posted November 8, 2006 Author Posted November 8, 2006 Good suggestion! Okay, did that, and it looks like it didn't find a string called "URL Protocol" under the http key in HKEY_CLASSES_ROOT, and then closed it.I added that key, and then it presents me with this:2.45521045 Aim:FFF34515 OpenKey HKCR\http SUCCESS hKey: 0xC1191630 2.45526409 Aim:FFF34515 QueryValueEx HKCR\http\URL Protocol SUCCESS "" 2.45530319 Aim:FFF34515 OpenKey HKCR\http\shell\open\ddeexec\Application NOTFOUND 2.45541286 Aim:FFF34515 OpenKey HKCR\http\shell\open\command SUCCESS hKey: 0xC11CF16C 2.45546484 Aim:FFF34515 EnumValue HKCR\http\shell\open\command SUCCESS : "C:\PROGRA~1\MOZILLA\SEAMON~1.EXE -url "%1"" 2.45667362 Aim:FFF34515 CloseKey HKCR\http SUCCESS 2.45670724 Aim:FFF34515 CloseKey HKCR\http\shell\open\command SUCCESS 2.45685291 Aim:FFF34515 OpenKey HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks NOTFOUND 2.45953274 Aim:FFF34515 OpenKey HKLM\Software\Microsoft\Windows\CurrentVersion SUCCESS hKey: 0xC11CF16C 2.45958400 Aim:FFF34515 QueryValueEx HKLM\Software\Microsoft\Windows\CurrentVersion\SubVersionNumber SUCCESS 20 43 0 2.45961452 Aim:FFF34515 CloseKey HKLM\Software\Microsoft\Windows\CurrentVersion SUCCESSI tried to fill in the ddeexec keys it asked for, but with no success. I searched the Internet for documentation on it, without much luck. I found one file from the browser wars that presented a registry registration file to make IE the default browser, but in the end it didn't help.Does anyone know the required structure? What I find the most interesting is this ShellExecuteHooks thing, I'll be looking for info on that. It might be the key.
BenoitRen Posted November 8, 2006 Author Posted November 8, 2006 I found the required structure in HKEY_CLASSES_ROOT. Somehow SeaMonkey added the values there under strings that had the name of what the path should have been. So, the ddeexec stuff is covered. AIM is still looking for ShellExecuteHooks, though. I found out that usually shell32.dll is listed there along with a CLSID, but I need to have specific info.Output is now:2.60768318 Aim:FFF34515 OpenKey HKCR\http SUCCESS hKey: 0xC11D8240 2.60773754 Aim:FFF34515 QueryValueEx HKCR\http\URL Protocol SUCCESS "" 2.60780811 Aim:FFF34515 OpenKey HKCR\http\shell\open\ddeexec\Application SUCCESS hKey: 0xC11EE194 2.60785437 Aim:FFF34515 EnumValue HKCR\http\shell\open\ddeexec\Application SUCCESS : "SeaMonkey" 2.60791612 Aim:FFF34515 OpenKey HKCR\http\shell\open\command SUCCESS hKey: 0xC11EE53C 2.60794878 Aim:FFF34515 EnumValue HKCR\http\shell\open\command MOREDATA 2.60897517 Aim:FFF34515 CloseKey HKCR\http SUCCESS 2.60900474 Aim:FFF34515 CloseKey HKCR\http\shell\open\command SUCCESS 2.60903358 Aim:FFF34515 CloseKey HKCR\http\shell\open\ddeexec\Application SUCCESS 2.60921764 Aim:FFF34515 OpenKey HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks SUCCESS hKey: 0xC11EE194 2.60925293 Aim:FFF34515 EnumValue HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks NOMORE 2.60928488 Aim:FFF34515 CloseKey HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks SUCCESS 2.61210728 Aim:FFF34515 OpenKey HKLM\Software\Microsoft\Windows\CurrentVersion SUCCESS hKey: 0xC11EE194 2.61215854 Aim:FFF34515 QueryValueEx HKLM\Software\Microsoft\Windows\CurrentVersion\SubVersionNumber SUCCESS 20 43 0 2.61218882 Aim:FFF34515 CloseKey HKLM\Software\Microsoft\Windows\CurrentVersion SUCCESS
BenoitRen Posted November 9, 2006 Author Posted November 9, 2006 I DID IT!I read Nathan Lineback's couple of lines about this again, and saw that I needed URL.DLL. Then I learned through this page that URL.DLL is what should be listed in ShellExecuteHooks, and has to be registered as well: http://www.club.cc.cmu.edu/pub/gnu/windows...todo/browse-urlThe problem then was finding out how to create a CLSID for URL.DLL, and any other values needed. But I didn't find information anywhere. I only found a reference to the fact that Netscape installs the ShellExecuteHooks value in the wrong places, that was already mentioned on the page I linked.So, I installed Netscape 3, copied the ShellExecuteHooks reference to the proper one under HKEY_LOCAL_MACHINE, and then it worked!Now to clean all the mess Netscape 3 left in the registry after uninstallation...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now