locked
Toolbar Button display in Manage Add-ons RRS feed

  • Question

  • I've been developing a BHO and a toolbar button that invokes a COM object.  After installation, I was surprised to see my toolbar button displayed in IE7's Manage Add-ons dialog.  Unfortunately, the button text is shown in the Name column and both the Publisher and File are left empty. 

    Is there a way to display Publisher and File values so that users will know where the add on originated?  Is there a way to change the Name to some value other than the button text?

    I've tried adding values to the button's registry entry named "Publisher" and "File" with no effect.  I've also tried mimicking my dll's "CompanyName" and "OriginalFilename" resources with no effect.  Any ideas?
    Friday, June 15, 2007 3:43 PM

All replies

  • Hi agrauch,

     

    The Publisher and internal names etc. come from  version resource of the source file (exe or dll). If you are using a button script file eg. Mybutton.htm you can embed that page as a HTML resource in a dll or exe and then in the registry launch the button script using the res:// protocol. The IE Addon manager should pick up the version resources of the dll or exe file and display them in its listing.

     

    Don't forget to restart IE after installing your button. I think the Addon Manager rebuilts its display list each time IE is loaded.

     

    Regards.

    Monday, June 18, 2007 11:31 PM
  •  

    Can you provide more information about exactly how to set a Publisher and Name string into the "Manage Add-Ons" dialog?

     

    I've got a VS2005 C# BHO that appears in the "Manage Add-Ons" dialog, the DLL's AssemblyInfo.cs has all the following set, but only the Namespace.Class appear in the Name column in the "Manage Add-Ons" dialog:

     

    [assembly: AssemblyTitle("Title_Value")]

    [assembly: AssemblyDescription("Description_of_the_BHO")]

    [assembly: AssemblyConfiguration("")]

    [assembly: AssemblyCompany("Company_Name")]

    [assembly: AssemblyProduct("Product_Name")]

    [assembly: AssemblyCopyright("Copyright_Information")]

    [assembly: AssemblyTrademark("Trademark_Information")]

    [assembly: AssemblyCulture("")]

     

    I suspect the AssemblyInfo.cs file is not the correct place to set values for appearance in the "Manage Add-Ons" dialog.

     

    Would it be possible to give an example or the outline of a solution?

     

    Thank you.

    Thursday, August 23, 2007 7:03 PM
  • Hi,

     

    I had a close look at the Addons installed on my machine with the Addons Manager and also at the sub-keys in the Registry at

    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Ext

     

    Now, what I can see, and what I think how the Addons Manager works is that it picks up the Publisher and Product name from the File Properties of the dll or exe of the COM server. This only applies to Addons of type Toolbar or Browser Helper.

     

    Now for Toolbars or Browser Helpers compiled with C# the InProcServer32 value is always MSCoree.dll

     

    Here are the CLSID values for an Addon from my machine that does not have the Publiser and name details

     

    Code Snippet

    Windows Registry Editor Version 5.00

    [HKEY_CLASSES_ROOT\CLSID\{1FB575B2-EB1C-431B-8873-9FB454379B62}]
    @="IEAlias.MuvAlias"

    [HKEY_CLASSES_ROOT\CLSID\{1FB575B2-EB1C-431B-8873-9FB454379B62}\Implemented Categories]

    [HKEY_CLASSES_ROOT\CLSID\{1FB575B2-EB1C-431B-8873-9FB454379B62}\Implemented Categories\{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}]

    [HKEY_CLASSES_ROOT\CLSID\{1FB575B2-EB1C-431B-8873-9FB454379B62}\InprocServer32]
    @="mscoree.dll"
    "ThreadingModel"="Both"
    "Class"="IEAlias.MuvAlias"
    "Assembly"="IEAlias, Version=1.0.0.0, Culture=neutral, PublicKeyToken=3b1c3ad84160fdc3"
    "RuntimeVersion"="v2.0.50727"

    [HKEY_CLASSES_ROOT\CLSID\{1FB575B2-EB1C-431B-8873-9FB454379B62}\InprocServer32\1.0.0.0]
    "Class"="IEAlias.MuvAlias"
    "Assembly"="IEAlias, Version=1.0.0.0, Culture=neutral, PublicKeyToken=3b1c3ad84160fdc3"
    "RuntimeVersion"="v2.0.50727"

    [HKEY_CLASSES_ROOT\CLSID\{1FB575B2-EB1C-431B-8873-9FB454379B62}\ProgId]
    @="IEAlias.MuvAlias"

     

     

    Whereas here are the CLSID values for the Google toolbar which does appear in the Addons list with Publisher and title details

     

    Code Snippet

    Windows Registry Editor Version 5.00

    [HKEY_CLASSES_ROOT\CLSID\{AA58ED58-01DD-4d91-8333-CF10577473F7}]
    @="Google Toolbar Helper"

    [HKEY_CLASSES_ROOT\CLSID\{AA58ED58-01DD-4d91-8333-CF10577473F7}\InprocServer32]
    @="c:\\program files\\google\\googletoolbar4.dll"
    "ThreadingModel"="Apartment

     

     

    Compare the two above and you see the differences in the InprocServer32 default value.

    The IEAlias BHO points to mscoree.dll while the Google Toolbar points to googletoolbar4.dll from where it can extract the Title and Publisher details.

     

    So in conclusion...

     

    It would appear that currently the Addons Manager does not cater for C# Toolbars or Browser Helpers.

     

    I don't know of a workaround for this. I think it is up to MS to adjust the Addons Manager to detect when the InprocServer32 value is mscoree.dll and then use the Class Name to look up the dll/exe that contains the Publisher and Title details.

     

    Regards.

     

     

     

     

    Thursday, August 23, 2007 9:43 PM
  • Thank you IECUSTOMIZER. I had suspected that is was not possible to set these values today using a C# BHO. My registry examination yields similar results to your report. Perhaps this is why the official MS sample BHO (HelloWorld) written using VS2005 is implemented in C++ (i.e. not all the supporting components are completely compatible with .NET just yet).

     

    I suppose the only work-around would be to create a C++ shell BHO that hooks DocumentComplete and then passes the document object to C# code for process. In this way the BHO would register correctly with the Manage Add-Ons dialog and most of the functional executing code would still be managed.

     

    Thanks again.

    Friday, August 24, 2007 11:47 AM
  • Whereas here are the CLSID values for the Google toolbar which does appear in the Addons list with Publisher and title details

     

    Code Snippet

    Windows Registry Editor Version 5.00

    [HKEY_CLASSES_ROOT\CLSID\{AA58ED58-01DD-4d91-8333-CF10577473F7}]
    @="Google Toolbar Helper"

    [HKEY_CLASSES_ROOT\CLSID\{AA58ED58-01DD-4d91-8333-CF10577473F7}\InprocServer32]
    @="c:\\program files\\google\\googletoolbar4.dll"
    "ThreadingModel"="Apartment

    Hello IECUSTOMIZER,

    i opened a new IE dev case here. http://social.msdn.microsoft.com/Forums/da-DK/iewebdevelopment/thread/c6c27d38-a709-464b-972c-8113ce96d425 Please kindly check it. As you mentioned, I also found the CLSID info on my side. So did i have any way to iterate all IE addons? Because, I checked there are some CLSID which didn't related to IE addons in the registry. So if I clicked "manage add-ons" from IE, how did it collect this information which was related to IE.

    Thanks,

    Werewolf,


    Just a newbie for everything.
    Monday, November 21, 2011 9:33 AM