locked
How to define a sequenced browser/mailclient as the default one RRS feed

  • Question

  • Dear Community

    We have many users having firefox as their main browser.. (no politics here please ;) and of course, it's a sequenced one..

    How do you people manage to have another browser than the local IE being the default browser (or eg. thunderbird, beeing the default mail client)?


    Christian


    Thursday, May 14, 2009 7:36 AM

Answers

  • Hello,

    This is really ugly, but;
    It detects which version of Lotus Notes is installed and then sets it as default mail-client.

    Not an app-v package, but should you the way..

    echo Windows Registry Editor Version 5.00 > lnotes.reg
    echo [HKEY_CLASSES_ROOT\mailto] >> lnotes.reg
    echo @="
    URL:MailTo Protocol" >> lnotes.reg
    echo "EditFlags"=hex:02,00,00,00 >> lnotes.reg
    echo "URL Protocol"="" >> lnotes.reg
    echo "FriendlyTypeName"="@C:\\WINDOWS\\system32\\ieframe.dll.mui,-910" >> lnotes.reg
    echo [HKEY_CLASSES_ROOT\mailto\DefaultIcon] >> lnotes.reg

    If exist C:\Program\IBM\Lotus\Notes\notes.exe echo @="C:\\Program\\IBM\\Lotus\\Notes\\notes.exe,0" >> lnotes.reg
    If exist C:\Program\Lotus\Notes\notes.exe echo @="C:\\Program\\Lotus\\Notes\\notes.exe,0" >> lnotes.reg
    If exist "C:\Program Files\IBM\Lotus\Notes\notes.exe" echo @="C:\\Program Files\\IBM\\Lotus\\Notes\\notes.exe,0" >> lnotes.reg
    If exist "C:\Program Files\Lotus\Notes\notes.exe" echo @="C:\\Program Files\\Lotus\\Notes\\notes.exe,0" >> lnotes.reg

    echo [HKEY_CLASSES_ROOT\mailto\shell]  >> lnotes.reg
    echo [HKEY_CLASSES_ROOT\mailto\shell\open] >> lnotes.reg
    echo [HKEY_CLASSES_ROOT\mailto\shell\open\command]  >> lnotes.reg


    If exist C:\Program\IBM\Lotus\Notes\notes.exe echo @="C:\\Program\\IBM\\Lotus\\Notes\\notes.exe  -defini %1" >> lnotes.reg
    If exist C:\Program\Lotus\Notes\notes.exe echo @="C:\\Program\\Lotus\\Notes\\notes.exe  -defini %1" >> lnotes.reg
    If exist "C:\Program Files\IBM\Lotus\Notes\notes.exe" echo @="C:\\Program Files\\IBM\\Lotus\\Notes\\notes.exe  -defini %1" >> lnotes.reg
    If exist "C:\Program Files\Lotus\Notes\notes.exe" echo @="C:\\Program Files\\Lotus\\Notes\\notes.exe  -defini %1" >> lnotes.reg

    regedit /s lnotes.reg
    del /q lnotes.reg



    /Znack

    • Proposed as answer by znack Thursday, May 14, 2009 5:27 PM
    • Marked as answer by Aaron.ParkerModerator Monday, December 19, 2011 3:23 PM
    Thursday, May 14, 2009 11:58 AM
  • Jurjen: You are right. I googled and found that following keys need to be set if default browser should be changed to Firefox:

    Basically, it will set all HTTP, HTTPS, local HTML files and FTP URLs to be open in Firefox by default. And since this require change to HKLM, a normal user will not be able to make it. So the best way is GPO imo.

    REGEDIT4

    [HKEY_LOCAL_MACHINE\
    SOFTWARE\Classes\.shtml]
    @="FirefoxHTML"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.xht]
    @="FirefoxHTML"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.xhtm]
    @="FirefoxHTML"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.xhtml]
    @="FirefoxHTML"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.htm]
    @="FirefoxHTML"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.html]
    @="FirefoxHTML"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FirefoxHTML\DefaultIcon]
    @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE,1"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FirefoxHTML\shell\open\command]
    @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE -url \"%1\""

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ftp\DefaultIcon]
    @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE,1"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ftp\shell\open\command]
    @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE -url \"%1\""

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\gopher\DefaultIcon]
    @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE,1"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\gopher\shell\open\command]
    @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE -url \"%1\""

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\http\DefaultIcon]
    @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE,1"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\http\shell\open\command]
    @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE -url \"%1\""

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\https\DefaultIcon]
    @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE,1"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\https\shell\open\command]
    @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE -url \"%1\""

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CHROME\DefaultIcon]
    @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE,1"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CHROME\shell\open\command]
    @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE -url \"%1\""

    [HKEY_CURRENT_USER\Software\Microsoft\
    Internet Explorer\Main]
    "Check_Associations"="No"
    "IgnoreDefCheck"="Yes"

    • Proposed as answer by znack Thursday, May 14, 2009 5:27 PM
    • Marked as answer by Aaron.ParkerModerator Monday, December 19, 2011 3:23 PM
    Thursday, May 14, 2009 2:23 PM
  • I found this article it gives some good information on default browsers and registry.

    http://newoldthing.wordpress.com/2007/03/23/how-does-your-browsers-know-that-its-not-the-default-browser/

    Regards

    Mike

    Monday, October 18, 2010 10:43 AM

All replies

  • Actually the App-V platform doesn’t offer you, from a management perspective, a possibility to control the protocol handlers (HTTP/FTP/MAILTO etc.). This is because they are handled by the Windows Shell which isn’t virtualized.
    But you could edit the registry for this. You could use your client mangement solution or GPO's to control it.

    Jurjen

    Thursday, May 14, 2009 9:00 AM
  • Dear Jurien, dear Community,

    Do you have a sample GPO (.adm file) for such definitions? or any reg-exports, which could direct me in the right direction? The functionality seams to work differently on Windows2k8/XP.. :)

    So far I could not find any good documentation on this topic..

    Additionally, what client management solutions would provide such a functionality? Do you know one?

    Thank you!

    Christian
    Thursday, May 14, 2009 11:44 AM
  • Hello,

    This is really ugly, but;
    It detects which version of Lotus Notes is installed and then sets it as default mail-client.

    Not an app-v package, but should you the way..

    echo Windows Registry Editor Version 5.00 > lnotes.reg
    echo [HKEY_CLASSES_ROOT\mailto] >> lnotes.reg
    echo @="
    URL:MailTo Protocol" >> lnotes.reg
    echo "EditFlags"=hex:02,00,00,00 >> lnotes.reg
    echo "URL Protocol"="" >> lnotes.reg
    echo "FriendlyTypeName"="@C:\\WINDOWS\\system32\\ieframe.dll.mui,-910" >> lnotes.reg
    echo [HKEY_CLASSES_ROOT\mailto\DefaultIcon] >> lnotes.reg

    If exist C:\Program\IBM\Lotus\Notes\notes.exe echo @="C:\\Program\\IBM\\Lotus\\Notes\\notes.exe,0" >> lnotes.reg
    If exist C:\Program\Lotus\Notes\notes.exe echo @="C:\\Program\\Lotus\\Notes\\notes.exe,0" >> lnotes.reg
    If exist "C:\Program Files\IBM\Lotus\Notes\notes.exe" echo @="C:\\Program Files\\IBM\\Lotus\\Notes\\notes.exe,0" >> lnotes.reg
    If exist "C:\Program Files\Lotus\Notes\notes.exe" echo @="C:\\Program Files\\Lotus\\Notes\\notes.exe,0" >> lnotes.reg

    echo [HKEY_CLASSES_ROOT\mailto\shell]  >> lnotes.reg
    echo [HKEY_CLASSES_ROOT\mailto\shell\open] >> lnotes.reg
    echo [HKEY_CLASSES_ROOT\mailto\shell\open\command]  >> lnotes.reg


    If exist C:\Program\IBM\Lotus\Notes\notes.exe echo @="C:\\Program\\IBM\\Lotus\\Notes\\notes.exe  -defini %1" >> lnotes.reg
    If exist C:\Program\Lotus\Notes\notes.exe echo @="C:\\Program\\Lotus\\Notes\\notes.exe  -defini %1" >> lnotes.reg
    If exist "C:\Program Files\IBM\Lotus\Notes\notes.exe" echo @="C:\\Program Files\\IBM\\Lotus\\Notes\\notes.exe  -defini %1" >> lnotes.reg
    If exist "C:\Program Files\Lotus\Notes\notes.exe" echo @="C:\\Program Files\\Lotus\\Notes\\notes.exe  -defini %1" >> lnotes.reg

    regedit /s lnotes.reg
    del /q lnotes.reg



    /Znack

    • Proposed as answer by znack Thursday, May 14, 2009 5:27 PM
    • Marked as answer by Aaron.ParkerModerator Monday, December 19, 2011 3:23 PM
    Thursday, May 14, 2009 11:58 AM
  • Basically you need to write a script (vbscript etc) to set this up. Either do it in the OSD or lauch that script as part of application.
    Thursday, May 14, 2009 1:58 PM
  • I don't think a user can edit the necessary CR hives. So in the OSD or launch script won't work imo.

    Thursday, May 14, 2009 2:03 PM
  • Jurjen: You are right. I googled and found that following keys need to be set if default browser should be changed to Firefox:

    Basically, it will set all HTTP, HTTPS, local HTML files and FTP URLs to be open in Firefox by default. And since this require change to HKLM, a normal user will not be able to make it. So the best way is GPO imo.

    REGEDIT4

    [HKEY_LOCAL_MACHINE\
    SOFTWARE\Classes\.shtml]
    @="FirefoxHTML"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.xht]
    @="FirefoxHTML"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.xhtm]
    @="FirefoxHTML"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.xhtml]
    @="FirefoxHTML"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.htm]
    @="FirefoxHTML"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.html]
    @="FirefoxHTML"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FirefoxHTML\DefaultIcon]
    @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE,1"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FirefoxHTML\shell\open\command]
    @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE -url \"%1\""

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ftp\DefaultIcon]
    @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE,1"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ftp\shell\open\command]
    @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE -url \"%1\""

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\gopher\DefaultIcon]
    @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE,1"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\gopher\shell\open\command]
    @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE -url \"%1\""

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\http\DefaultIcon]
    @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE,1"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\http\shell\open\command]
    @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE -url \"%1\""

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\https\DefaultIcon]
    @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE,1"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\https\shell\open\command]
    @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE -url \"%1\""

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CHROME\DefaultIcon]
    @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE,1"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CHROME\shell\open\command]
    @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE -url \"%1\""

    [HKEY_CURRENT_USER\Software\Microsoft\
    Internet Explorer\Main]
    "Check_Associations"="No"
    "IgnoreDefCheck"="Yes"

    • Proposed as answer by znack Thursday, May 14, 2009 5:27 PM
    • Marked as answer by Aaron.ParkerModerator Monday, December 19, 2011 3:23 PM
    Thursday, May 14, 2009 2:23 PM
  • Jurjen: You are right. I googled and found that following keys need to be set if default browser should be changed to Firefox:

    Basically, it will set all HTTP, HTTPS, local HTML files and FTP URLs to be open in Firefox by default. And since this require change to HKLM, a normal user will not be able to make it. So the best way is GPO imo.


    It's possible to use HKCU\Software\Classes (for HTTP/MAILTO etc.). Together with HKLM\Software\Classes this makes HKCR on Windows 2000 and up. The HKCU wins if there is a entry in both locations. I just did a quick test but it did requiered me to logoff/logon before it worked.

    Jurjen van Leeuwen
    Thursday, May 14, 2009 2:30 PM
  • This isn't making sense to me...

    Specifying the path "C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE" in the registry would seem to only make sense if the application was already locally installed - and I'm not sure what would happen in this case.

    So far, I am unable to get virtualized firefox to serve as the "default" browser. I can get it to think it is the default, but any attempt to open a link or file of an appropriate type from Office or the desktop either opens internet explorer, or it gives an error "There was a problem sending the command to the program."

    Is there anyway to register the virtual application launcher with the right paramters, as a program in itself?

    Perhaps this is just too much to ask of the AppV software. Although, it would seem that it could fully register an application - although I have seen the statement that they do not support shell integration at this point (programs like winzip cannot be loaded such that the right-click context menu will have winzip listed if it is virtualized.) I guess this is the same sort of thing.

    I'm using SCCM 2007 to distribute, having the SCCM Client agent control the application virtualiziation client.

     

    Wednesday, October 13, 2010 9:31 PM
  • You'll have to change C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE to "C:\Program Files (x86)\Microsoft Application Virtualization Client\sfttray.exe" /launch <application name> (i.e. how it appears in the shortcut).

    I'm fairly certain that you can't send arguments to the virtualised application - so if you're trying to get the application to open with a specified URL or HTML file, it probably won't work.

    Thursday, October 14, 2010 8:20 AM
    Moderator
  • You can send args absolutely fine. Seems to work even without PARAMETERS specified in the OSD.

    e.g. "%ProgramFiles%\Microsoft Application Virtualization Client\sfttray.exe" /launch "Mozilla Firefox 3.6 3.6.10" "http://www.bbc.co.uk/"

     

    Thursday, October 14, 2010 8:25 AM
  • Hi Baloo12,

    We have around 30 applications that we have managed to get working using these methods of redirecting the shell open to launch virtual applications. For example Lotus Notes 8.5 is virtual, notes supports the protocol NOTES: when launching notes databases from physical ie8 shortcut we simply deploy a msi package with the below registry to redirect ie8 to call the virtual notes client.

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Notes]
    @="URL:Notes Protocol"
    "URL Protocol"=""

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Notes.database]
    @="IBM Lotus Notes database"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Notes.database\DefaultIcon]
    @="c:\\notes851.fp3\\IBM\\Lotus\\Notes\\notes.exe,0"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Notes.database\shell]
    "+"=""

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Notes.database\shell\open]
    "+"=""

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Notes.database\shell\open\command]
    @="\"C:\\Program Files\\Microsoft Application Virtualization Client\\sfttray.exe\" /launch \"Lotus Notes 8.5 8.5.10.9271\" -defini \"%1\""

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Notes.link]
    @="IBM Lotus Notes Link"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Notes.link\CLSID]
    @="{1DE6D9D1-8EBD-11CE-8619-02608CDC7325}"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Notes.link\Shell]
    "+"=""

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Notes.link\Shell\open]
    "+"=""

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Notes.link\Shell\open\command]
    @="\"C:\\Program Files\\Microsoft Application Virtualization Client\\sfttray.exe\" /launch \"Lotus Notes 8.5 8.5.10.9271\" -defini \"%1\""

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Notes\DefaultIcon]
    @="c:\\notes851.fp3\\IBM\\Lotus\\Notes\\notes.exe,0"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Notes\shell]
    "+"=""

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Notes\shell\open]
    "+"=""

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Notes\shell\open\Command]
    @="\"C:\\Program Files\\Microsoft Application Virtualization Client\\sfttray.exe\" /launch \"Lotus Notes 8.5 8.5.10.9271\" -defini \"%1\""

    [HKEY_LOCAL_MACHINE\SOFTWARE\InstallApps\Lotus-Notes-Client-Registry-Keys-8-5-1]
    "AllUsers"="1"
    "DateOfInstall"="[Date]"
    "TimeOfInstall"="[Time]"
    "Version"="1.0.0"

    Regards

    Mike

    Thursday, October 14, 2010 9:19 AM
  • @Mike @Sizzl that's good to hear, thanks for the examples.

    Thursday, October 14, 2010 9:22 AM
    Moderator
  • @Mike - That is VERY good to see, and is very helpful - but I am needing help with how to approach doing this... with a slight twist.

    For Firefox - how would you allow the (non-admin) user to choose making the virtualized application the default browser?

    We don't currently mandate what browser is the default. In order to virtualize Firefox, we will still have to offer the option of setting it as default, but not mandate that it is the default for anyone. And, we will have to provide a simple way of switching back and forth as well, for non-admin users.

    What approach would you be most likely to take?

    Anyone with any thoughts on this?

    Thursday, October 14, 2010 9:47 PM
  • Hi twgage

    For Firefox - how would you allow the (non-admin) user to choose making the virtualized application the default browser?

    With Firefox we disable the dialogue prompt during the monitoring phase to allow users to make firefox there default browser.

    Now the registry Windows checks for default browser is here  “HKEY_CLASSES_ROOT\http\shell\open\command”

    Vista/Win7 has a new feature you can set the default browser here.  “HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\[ftp|http|https]“

    I would exlore this key in more detail, I think the problem you will have is the browers will check the HKCR key and not use the new HKCU key. HKCR key of course can not be written to by domain users.

    You would have to control this with your deployment method and set the registry to the default browser, only users with admin rights will be able to change the default from there browsers.

    Mike

    Monday, October 18, 2010 10:02 AM
  • I found this article it gives some good information on default browsers and registry.

    http://newoldthing.wordpress.com/2007/03/23/how-does-your-browsers-know-that-its-not-the-default-browser/

    Regards

    Mike

    Monday, October 18, 2010 10:43 AM
  • Think this has already been mentioned, but HKCR is a make up of HKLM\Software\Classes and HKCU\Software\Classes - you can easily set what you need in the CU context (as App-V client does!) to set the required associations.

    One can easily configure a new OSD wrapper which does the "Set as default browser" bit for either IE or Firefox during the PRE STREAM script phase; the OSD can either call Firefox (so it sets as default, then loads), or something like wscript //b to just return nothing.

    Monday, October 18, 2010 10:45 AM
  • If you're thinking about which is the default browser for http and https links in Outlook or other programs you can do this but it only works for all users:

    For example if you want Firefox to be your default browser put this into HKEY_CLASSES_ROOT\IE.HTTP\Shell\Open\command 
    "C:\Program Files (x86)\Microsoft Application Virtualization Client\sfttray.exe" /launch "Mozilla Firefox" "%1" 

    Then also do it for HTTPS and Virtualized Firefox is the default app for all users on that machine. 

    Thursday, January 12, 2012 4:49 PM