Join the AMA (Ask Me Anything) with the Firefox leadership team to celebrate Firefox 20th anniversary and discuss Firefox’s future on Mozilla Connect. Mark your calendar on Thursday, November 14, 18:00 - 20:00 UTC!

Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

Firefox unable to launch an app using custom URI Scheme

more options

We are using navigator.msLaunchUri(uri, successCallback, noHandlerCallback); in a JavaScript file to launch an App that we developed for one of the Web Application.

Recently, we noticed that an additional dialog "Launch Application" appearing with latest Firefox ESR version (Refer attached screenshot)

We would like to avoid this "Launch Application" dialog to be displayed to end-users. (1) Is there a way to suppress this dialog and let the navigator.msLaunchUri open the App successfully? may be some about:config option? (2) Is there a way for IT Admin's to apply some settings so that end-users don't have to do anything while using the application to avoid "Launch Application" dialog.

Thanks in advance.

We are using navigator.msLaunchUri(uri, successCallback, noHandlerCallback); in a JavaScript file to launch an App that we developed for one of the Web Application. Recently, we noticed that an additional dialog "Launch Application" appearing with latest Firefox ESR version (Refer attached screenshot) We would like to avoid this "Launch Application" dialog to be displayed to end-users. (1) Is there a way to suppress this dialog and let the navigator.msLaunchUri open the App successfully? may be some about:config option? (2) Is there a way for IT Admin's to apply some settings so that end-users don't have to do anything while using the application to avoid "Launch Application" dialog. Thanks in advance.
Attached screenshots

All Replies (9)

more options

Is navigator.msLaunchUri() a defined function that calls a standard function? What is the action function call that triggers the dialog?

I'm going to assume something like

window.open('dctmctf://blahblah');

Firefox usually can handle novel protocols automatically if they can be found in the Windows registry. However, Firefox still might display a confirmation dialog the first time before the user's preference has been recorded.

Possibly there is a setting defined via the new "Firefox for Enterprise" features. The relevant articles are here:

https://support.mozilla.org/products/firefox-enterprise/customization-firefox-enterprise-environment

We can ask a moderator to move this thread to that board.

more options

Thanks for the response @jscher2000.

we are not having window.open('dctmctf://blahblah'); & navigator.msLaunchUri() is expected to launch an App. Refer https://developer.mozilla.org/en-US/docs/Web/API/MSLaunchUri

We are creating required registry entries in Windows. HKCU\Software\Classes\dctmctf and it contains \shell\open\command.

With these registry keys in place, we expect Firefox to shell open the command specified as part of registry keys, but firefox ESR is showing a dialog box, that novice end-users may not be able to handle. Our Web Application is going to used by 1000s of end-users. We are looking if either an about:config option or some GPO kind of option that IT Admin can handle so that end-user intervention is avoided.

more options

The reason I asked about how the function was implemented was when I tried this in the console --

navigator.msLaunchUri('https://support.mozilla.org/');

-- it told me:

TypeError: navigator.msLaunchUri is not a function

But finding out the answer might not have any effect on your problem, so never mind.

more options
more options

to add more details to my original question:

We are creating a new iframe and then trying to open the custom URL on that IFrame. customProtocolUri = dctmctf://blahblah myIframe.contentWindow.location.href = customProtocolUri // This is where it tries to launch the custom URI.

Request the experts to advice on this issue at the earliest

more options

anyone has an answer for this question?

more options

I don't think any support volunteers have knowledge of these particular internals.

Looking at your original screenshot, it seems Firefox is saying there is not an association defined for the protocol at the system level. Is your application installer creating a key for dctmctf under this key:

HKEY_CLASSES_ROOT\PROTOCOLS\Handler

Maybe there is some other relevant place in Windows 10.

more options

We are creating following registry entries. With these registry keys, IE-11, Edge & Chrome launches the App properly.

HKCU,SOFTWARE\Classes\%Protocol%,,,"URL:Documentum DCTMCTF Protocol" HKCU,SOFTWARE\Classes\%Protocol%,"URL Protocol","" HKCU,SOFTWARE\Classes\%Protocol%\DefaultIcon,,,"DCMApp.exe,1" HKCU,SOFTWARE\Classes\%Protocol%\shell\open\command,,%REG_EXPAND_SZ%,%53%\%ContentXferFolder%\%HostName%\%AppVersion%\DCMApp.exe """%1"""

Above, %Protocol% is dctmctf

more options

After creating those keys, does dctmctf show up under any of these? I don't know that it needs to, but when I look, for example, for the ftp and mailto protocols, they show up here:

HKEY_CLASSES_ROOT\PROTOCOLS\Handler HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PROTOCOLS\Handler

HKEY_CLASSES_ROOT\Wow6432Node\PROTOCOLS\Handler HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\PROTOCOLS\Handler