agrauch

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


Re: Internet Explorer Extension Development Toolbar Button display in Manage Add-ons

IECUSTOMIZER

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.






Re: Internet Explorer Extension Development Toolbar Button display in Manage Add-ons

TechNetUser

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.






Re: Internet Explorer Extension Development Toolbar Button display in Manage Add-ons

IECUSTOMIZER

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.






Re: Internet Explorer Extension Development Toolbar Button display in Manage Add-ons

TechNetUser

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.