zumoshi / BrowserSelect

Browser Select is a utility to dynamically select the browser you want instead of just having one default for all links.
GNU General Public License v2.0
291 stars 39 forks source link

Firefox - Firefox is already running must be closed first #41

Open czhower opened 6 years ago

czhower commented 6 years ago

If FF is already open, any time I select FireFox, I get a dialog that says: Firefox is already running - must be closed first

zumoshi commented 6 years ago

hi which version of firefox? do you have multiple installations of firefox? does this only happen if you manually open firefox yourself? or would this happen if you open it through browserSelect on the second link? have you run firefox with any flags like -no-remote?

I can't reproduce this issue on win8.1 with ff 60.0.2 on browserSelect 1.4.0.

czhower commented 6 years ago

Firefox Quantum 61.0.1 x64 Win 10 Pro/x64

I am not using no-remote. I am logged in to my FF sync account. It does not happen if I click links as FF default without BrowserSelect. It only happens when I use BrowserSelect. I also tried BrowserChooser2 and it does the same.

zumoshi commented 6 years ago

there is not much I can do if I can't reproduce the problem.

but what browserSelect does is basically the same as running this command in the command prompt:

"C:\Program Files\Mozilla Firefox\firefox.exe" google.com

open run (win+r) type in cmd then paste that (adjusting for installation path of Firefox if you have changed it) and run it twice, to see if it opens two tabs or complains that ff is running the second time.

also please check this path in the registry and tell me it's contents:

HKEY_CURRENT_USER\Software\Clients\StartMenuInternet\FIREFOX.EXE\shell\open\command

you may need to look in HKEY_LOCAL_MACHINE if you have checked install for everyone while installing firefox.

czhower commented 6 years ago

"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" www.google.com

Works fine when running directly from run dialog. Also works fine from command shell.

Value of (Default) reg key: "C:\Program Files (x86)\Mozilla Firefox\firefox.exe"

If I run BS from a short cut passing no URL (it defaults to google), then it launches FF ok. If I click a link to launch BS as default browser, then click FF, it happens.

zumoshi commented 6 years ago

if BrowserSelect can open google repeatedly in firefox without problems, my best guess would be some escaping problem for special characters in the URL or the way browserSelect is launched from the program you clicked the link on. which program do you click links on? and can you show me an example link?

also if you can try testing links from another app, (e.g. notepad++ or telegram). also, try putting http://google.com in the run dialogue (win+R). or if you can type links in the app you click links on, try a simple link (without path, only domain e.g. http://google.com ), and see if you can narrow down when the issue happens.

the idea is to see if any link opened from the app you tried causes problems, or certain links regardless of where you clicked/opened them from cause this behavior. if the first I would need to install that app and test locally to see if I can reproduce the problem. if the latter I would need the link to see why it would cause this issue.

czhower commented 6 years ago

It happens with any link, any program. Thunderbird, Telegram, Gitter, everything.... The only time it doesnt seem to happen is when I run BS from the start menu with nothing passed to it.

One oddity though is if I put a url in the run dialog, BS then launches and can then select FF without a problem.

So if the the apps are using ShellExecute could that be it? I have Windows Explorer set to run in a separate process, but not sure if that could affect it.

zumoshi commented 6 years ago

as far as I'm aware there should be no difference between ShellExecute and putting a link (not BrowserSelect's full path followed by a url, just a link starting with HTTP) in the run dialogue.

I'm out of ideas of what may be the cause of this. BrowserSelect doesn't do anything fancy or firefox specific for opening a url, just passes whatever was passed to it, to the browser. to have this behavior always except when opened from the run dialogue, and for it to only affect firefox is puzzling.

if i had access to a system with this problem my next step would've been replacing browserselect and firefox's executables with a simple app that just prints it's command line arguments, to check for differences between how the url is passed to browserSelect from the run dialog vs Thunderbird. and what command line arguments there are when firefox is the default browser vs when browserselect runs it.

MailYouLater commented 6 years ago

@czhower: In your opening post, you say that you click "FireFox". Does it say this exactly? or does it actually say "Mozilla Firefox" or "Firefox" or something else?

The reason I ask is because (to my knowledge) BrowserSelect only calls Firefox "FireFox" when it sees multiple installations of Firefox. https://github.com/zumoshi/BrowserSelect/blob/e86c6451fc1357fb10396dbc4d8348697c3cd2f2/BrowserSelect/Browser.cs#L56-L67 Is it possible you have Firefox and Firefox Developer Edition installed, and you're trying to launch one while the other is open?

tienloc1 commented 4 years ago

I have similar situation, but in my case, I can't run this cmd successful:

"C:\Program Files\Mozilla Firefox\firefox.exe" google.com

Are there any hints to resolve it?