Closed Bug 369703 Opened 17 years ago Closed 17 years ago

Add protocol / file handler registry keys in HKEY_CURRENT_USER to workaround apps that read reg keys directly

Categories

(Firefox :: Shell Integration, enhancement)

2.0 Branch
x86
Windows Vista
enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
Firefox 3 beta1

People

(Reporter: robert.strong.bugs, Assigned: robert.strong.bugs)

References

Details

It turns out that some applications (e.g. Yahoo IM) read the file and protocol handler registry keys to launch the default http, etc. handler as reported in bug 359643. Since Vista uses a new methodology for setting the default handler that does not set these keys apps that do this will not launch the actual default handler unless the default handler has also updated the associated registry keys. We can accomplish this by also setting the associated registry keys under HKEY_CURRENT_USER on Vista when setting ourselves as the default handler using the new method provided by Vista.
Might be too late for 1.8.1.2, but let's try to get a patch together quickly in case we can land it for rc1 or as part of any respins.
Flags: wanted1.8.1.x+
Flags: blocking1.8.1.3?
Flags: blocking1.8.1.2?
Flags: blocking1.8.1.3?
Flags: blocking1.8.1.3+
Flags: blocking1.8.1.2?
Taking to get this on my radar
Assignee: nobody → robert.bugzilla
The password storage application KeePass (v1.6, v1.7, etc) appears to use HKEY_CLASSES_ROOT\http\shell\open\command to open a browser.  (KeePass WinUtil.cpp lines 273 - 299. Note the "http\\shell\\open\\command" in line 280.) 

On Vista, with FF as the default browser, this key is still set to IE, and as a result KeePass opens IE instead of the default FF browser.

Perhaps KeePass needs to be updated for Vista, but will a solution to this bug fix this problem?  I ask this because the key used for KeePass does not come from the Current User area of the registry (it is from HKCR).

I wonder why the following keys are still set to IE when FF is the default browser:

[HKEY_CLASSES_ROOT\http\shell\open\command] 
@="\"C:\\Program Files\\Internet Explorer\\iexplore.exe\" -nohome" 
 
[HKEY_CLASSES_ROOT\http\shell\open\ddeexec\Application] 
@="IExplore" 
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\http\shell\open\command] 
@="\"C:\\Program Files\\Internet Explorer\\iexplore.exe\" -nohome" 
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\http\shell\open\ddeexec\Application] 
@="IExplore" 
 
Should these have been set to FF instead?
(In reply to comment #4)
>...
> Should these have been set to FF instead?
No, the app that is reading those keys directly is at fault. This bug is about providing a workaround so misbehaving apps such as the one you mention will work properly

If the severity is enhancement is it really a blocker for 1.8.1.4?
Whiteboard: [st risk]
The severity is enhancement because this bug is about making our app work around a problem that exists in many other apps on Vista.

The changes required to work around this are a bit much to hold this for 1.8.1.4 at this time. I will continue to try to get this to a point where I am comfortable with the changes required.
Whiteboard: [st risk] → [at risk]
Flags: blocking1.8.1.4+ → blocking1.8.1.5?
Flags: blocking1.8.1.5?
Flags: blocking-firefox3?
Flags: blocking-firefox3? → blocking-firefox3+
Target Milestone: --- → Firefox 3 M8
We can simplify this quite a bit by fixing bug 369783 so adding dependecy
Depends on: 369783
Moving this off to M9 for now.
Whiteboard: [at risk]
Target Milestone: Firefox 3 M8 → Firefox 3 M9
Depends on: 370571
Fixed by the landing of Bug 370571.
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.