when Firefox is the default browser, ShellExecute returns ERROR_FILE_NOT_FOUND

RESOLVED WORKSFORME

Status

()

Firefox
Installer
RESOLVED WORKSFORME
14 years ago
12 years ago

People

(Reporter: Sam Steingold, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(URL)

(Reporter)

Description

14 years ago
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7) Gecko/20040614 Firefox/0.8
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7) Gecko/20040614 Firefox/0.8

When Firefox is the default browser, ShellExecute returns ERROR_FILE_NOT_FOUND.
When IE is the default broser, ShellExecute succeeds.

In both cases the web page is correctly opened.

Reproducible: Always
Steps to Reproduce:
1.start gnu emacs
2.M-x browse-url RET
3.http://clisp.cons.org RET
4.emacs signals a "file-not-found" error from ShellExecute.

Actual Results:  
the page is correctly disaplayed in Firefox, 
but an Emacs error is signalled.

Expected Results:  
no error should be signalled.
when the default browser is IE, there is no error.

This is NOT emacs-specific.
You can do the same in CLISP:
firefox is the default browser:
(ShellExecuteA nil "open" "http://clisp.cons.org" nil "." sw_normal)
2 ;; ERROR_FILE_NOT_FOUND
IE is the default browser:
(ShellExecuteA nil "open" "http://clisp.cons.org" nil "." sw_normal)
42 ;; > 32 ==> success!

I am sure you can write a test program like that in C also.
(Reporter)

Comment 1

14 years ago
Solution:
remove the following registry keys:
HKEY_CLASSES_ROOT\http\shell\open\ddeexec\
HKEY_CLASSES_ROOT\https\shell\open\ddeexec\
when I remove them with regedit the problem goes away.

firefox installation should do this automatically.
To firefox.
Assignee: general → bugs
Status: UNCONFIRMED → NEW
Component: Browser-General → Installer
Ever confirmed: true
Product: Browser → Firefox
QA Contact: general → bugzilla

Comment 3

13 years ago
> remove the following registry keys:
> HKEY_CLASSES_ROOT\http\shell\open\ddeexec\
> HKEY_CLASSES_ROOT\https\shell\open\ddeexec\
> when I remove them with regedit the problem goes away.
> 
> firefox installation should do this automatically.

Firefox should also delete / clear the default value at

HKEY_CLASSES_ROOT\http[s]\shell

Some browsers (e.g. MyIE2) set this value to "MyIE2", which causes ShellExecute
not to use the browser mentioned at

HKEY_CLASSES_ROOT\http[s]\shell\open\command

(where Firefox registers itself) but the one at

HKEY_CLASSES_ROOT\http[s]\MyIE2

Updated

13 years ago
Assignee: bugs → nobody
QA Contact: bugzilla → installer
Version: Trunk → unspecified
This was likely fixed as part of bug 246078. Sam, can you confirm?
(Reporter)

Comment 5

12 years ago
since I cleaned up the registry, I have not seen this problem.
Yes, but the fix is that Firefox should not be "dirtying" the registry in the first place. If you could test using a recent build and confirm, that'd be great.
(Reporter)

Comment 7

12 years ago
I use 1.0.7 without any problems.
is that recent enough?
(In reply to comment #7)
> I use 1.0.7 without any problems.
> is that recent enough?

Yep, bug 246078 was fixed for 1.0. Thanks!
Status: NEW → RESOLVED
Last Resolved: 12 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.