Closed Bug 263845 Opened 18 years ago Closed 18 years ago

Firefox (branch) unregisters Internet Explorer as default browser but shouldn't

Categories

(Firefox :: General, defect)

x86
Windows XP
defect
Not set
major

Tracking

()

VERIFIED FIXED
Firefox1.0

People

(Reporter: ronny.perinke, Assigned: bugs)

Details

(Keywords: fixed-aviary1.0)

Attachments

(1 file)

User-Agent:       Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.3) Gecko/2004108 Firefox/0.10

Firefox (branch builds since 20041008
) seems to unregister Internet Explorer as default browser (and does not 
register himself as the new one) although Firefox should not bee the default 
browser.
So after closeing Firefox and starting IE again, IE says it is not the default 
browser anymore (but only if the option to perform this check is active, if not 
it won't tell you that).

This is really annoying because links from chat windows of my IM (trillian) 
won't open correctly anymore - IE opens but shows a blank side with no url in 
the adress bar (just like the blank startpage but without the 'about:blank' as 
url in the adress bar).

Reproducible: Always
Steps to Reproduce:
1.) Start IE and make shure it is set as default browser (check out the option 
in internetsettings -> programs that IE will check on startup if it's the 
default browser or not). If not, than make it the default browser again. 

2.) Close IE and start Firefox (branch build 20041008) and make shure, that the 
option for making FF the default browser is not set. 

3.) Close Firefox and open IE again. You will notice that IE is not the default 
browser anymore although Firefox was not allowed to do so. 

Actual Results:  
- links (from instant messengers or URL files) only opens an empty IE window
- when opening IE and don't making it the default browser again (because the 
option to check if IE is the default browser is not set) you can not open 
internet settings from extras menu in IE 



for any further details see http://forums.mozillazine.org/viewtopic.php?t=142560
->NEW
->MAJ

(few volunteers to try it out)
Severity: normal → major
Status: UNCONFIRMED → NEW
Ever confirmed: true
I can confirm that I see this exact behaviour as well.  Using build:
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.3) Gecko/20041008
Firefox/0.10 (MOOX M3)

I think this should be nominated as a blocker as it can negatively affects the
user's experience with the browser by causing problems.
If this bug is indeed happening (I don't use nightlies, so I can't confirm), it
should definitely be a blocker. Releasing 1.0 with this bug would be as bad as
releasing 0.9 with the bug that caused FireFox to incorrectly register itself as
the default browser. That bug caused almost everyone I was trying to convert to
FireFox to have second thoughts.

I have to have IE set as my default browser at work because we use some IE
specific apps, I couldn't possibly use a copy of FireFox that caused IE to
become unregistered as the default browser. I'm sure there are many other users
in the same position.
Confirming. I am seeing this on Win2k. 

Reposting problem details from the forum (per Henbe):
---
I'm also seeing this bug.
And from the little digging i'we done it's because firefox has started to delete
the following registry keys on exit:

HKCR\HTTP\shell\open\ddeexec\Application
HKCR\HTTP\shell\open\ddeexec\Topic
HKCR\HTTP\shell\open\ddeexec
HKCR\HTTPS\shell\open\ddeexec\Application
HKCR\HTTPS\shell\open\ddeexec\Topic
HKCR\HTTPS\shell\open\ddeexec
HKCR\FTP\shell\open\ddeexec\Application
HKCR\FTP\shell\open\ddeexec\ifExec
HKCR\FTP\shell\open\ddeexec\Topic
HKCR\FTP\shell\open\ddeexec
HKCR\GOPHER\shell\open\ddeexec\Application
HKCR\GOPHER\shell\open\ddeexec\Topic
HKCR\GOPHER\shell\open\ddeexec
---

The workaround/fix that works for me is after exiting FireFox manually launch
IE, then Tools->Internet Options->Programs. Then press "Reset Web Settings"
button. I usually untick the "Also reset my home page" and press Yes.

Ok. i messed around with commits during the day when regression came in. 

It looks like a regression introduced by the commit for #262953

Looking at the attached patch and seeing code like:
-------------------------------------------
-NS_IMETHODIMP
+nsresult
 nsWindowsShellService::UnregisterDDESupport()
 {
   DeleteRegKey(HKEY_CLASSES_ROOT, "HTTP\\shell\\open\\ddeexec");
   DeleteRegKey(HKEY_CLASSES_ROOT, "HTTPS\\shell\\open\\ddeexec");
   DeleteRegKey(HKEY_CLASSES_ROOT, "FTP\\shell\\open\\ddeexec");
   DeleteRegKey(HKEY_CLASSES_ROOT, "CHROME\\shell\\open\\ddeexec");
   DeleteRegKey(HKEY_CLASSES_ROOT, "GOPHER\\shell\\open\\ddeexec");
   return NS_OK;
-------------------------------------------
Would definitely break IE, esp if the keys are deleted by mistake? [see my
previous comment about the keys deleted on exit]


Nominating for blocking-aviary1.0.
Flags: blocking-aviary1.0?
Flags: blocking-aviary1.0? → blocking-aviary1.0-
So wait a minute, this isn't going to be fixed for 1.0? I know you guys have a
lot of important bugs to work on, but I think this one is really important. This
bug actually screws with the settings of another program and there's no
workaround. I think there's a lot of users who are going to want to keep IE as
the default while they try out FireFox and aren't going to like that FireFox is
unregistering IE, most of these same users probably won't know how to set IE
back to default and therefore won't be very happy. Some users might even see
this as "hijacking" their settings.
(In reply to comment #5)
> Ok. i messed around with commits during the day when regression came in. 
> 
> It looks like a regression introduced by the commit for #262953
> 
> Looking at the attached patch and seeing code like:
> -------------------------------------------
> -NS_IMETHODIMP
> +nsresult
>  nsWindowsShellService::UnregisterDDESupport()
>  {
>    DeleteRegKey(HKEY_CLASSES_ROOT, "HTTP\\shell\\open\\ddeexec");
>    DeleteRegKey(HKEY_CLASSES_ROOT, "HTTPS\\shell\\open\\ddeexec");
>    DeleteRegKey(HKEY_CLASSES_ROOT, "FTP\\shell\\open\\ddeexec");
>    DeleteRegKey(HKEY_CLASSES_ROOT, "CHROME\\shell\\open\\ddeexec");
>    DeleteRegKey(HKEY_CLASSES_ROOT, "GOPHER\\shell\\open\\ddeexec");
>    return NS_OK;
> -------------------------------------------
> Would definitely break IE, esp if the keys are deleted by mistake? [see my
> previous comment about the keys deleted on exit]
> 
> 
> 
I already postet the following at mozillazine-forum ...

I think the reason is the function 'Observe' in nsWindowsShellService.cpp which
calls the function 'UnregisterDDESupport' everytime firefox is closed.
Flags: blocking-aviary1.0- → blocking-aviary1.0+
You are only allowed to ?1.0
resetting
Flags: blocking-aviary1.0+ → blocking-aviary1.0?
(In reply to comment #9)
> You are only allowed to ?1.0
> resetting
Sorry, I didn't know.
Assignee: firefox → bugs
lets try and get this fixed
Flags: blocking-aviary1.0? → blocking-aviary1.0+
Attached patch patchSplinter Review
don't unregister DDEexec keys if we're not the default browser.
landed. 
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
the patch did not work o.0
So, if the patch didn't work, should it be reopened? If it turns out it did
work, what about fixed-Aviary keyword?
Keywords: fixed-aviary1.0
Target Milestone: --- → Firefox1.0
(In reply to comment #14)
> the patch did not work o.0
> 

I'm sorry, I was a little hastily. The build I made yesterday in the evening
with this patch deleted the reg-keys, but todays build not.

The patch works :)
Just out of curiosity, what is the purpose of deleting these keys on exit 
anyway? I would expect they should remain until someone/something else becomes 
default - or not?
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.