I have searched a lot on here on SOF as well as on MSDN forums but unfortuntely no method could work for me. Here is the problem and the methods applied.
- I developed a toolbar using .Net for Internet Explorer 7. It is registered as BHO (browser Helper Object" using C# installer code that follows.
- I am using MSI setup and custom install class file to register the BHO. Here is how i am doing it.
- I have signed both the dll, generated and signed both the MSI and the EXE for the MSI. After installation i verify in c:\Program Files\My Test Extension\ that my extension has digital signature as well.
Problem:
The problem is: When i goto "Managed Addons" in Internet Explorer 7 Options, i see my extension/toolbar under "Not Available" instead of company name as set in Extension/assembly properties. The "Publisher" is not available when i click "more information".
Please tell how can i set "Publisher Information"? I am using key and valid certificate issued by Verisign Inc,.
Please tell if i am doing something wrong or missing something. Here is my installer/registration code.
string name = t.Name;
string help = t.Name;
rkClass.SetValue(null, name);
rkClass.SetValue("MenuText", name);
rkClass.SetValue("HelpText", help);
rkLMClass.SetValue(null, name);
rkLMClass.SetValue("MenuText", name);
rkLMClass.SetValue("HelpText", help);
rkInprocServer32.SetValue(null, "mscoree.dll");
rkInprocServer32.SetValue("ThreadingModel", "Both");
rkInprocServer32.SetValue("Class", t.FullName);
rkInprocServer32.SetValue("Assembly", "MyTestExtension, Version=1.0.0.0");
rkInprocServer32.SetValue("RuntimeVersion", "v2.0.50727");
rkLMInprocServer32.SetValue(null, "mscoree.dll");
rkLMInprocServer32.SetValue("ThreadingModel", "Both");
rkLMInprocServer32.SetValue("Class", t.FullName);
rkLMInprocServer32.SetValue("Assembly", "MyTestExtension, Version=1.0.0.0");
rkLMInprocServer32.SetValue("RuntimeVersion", "v2.0.50727");
if (0 != (style & BandObjectStyle.Vertical))
{
rkCat.CreateSubKey("{00021493-0000-0000-C000-000000000046}");
rkLMCat.CreateSubKey("{00021493-0000-0000-C000-000000000046}");
}
if (0 != (style & BandObjectStyle.Horizontal))
{
rkCat.CreateSubKey("{00021494-0000-0000-C000-000000000046}");
rkLMCat.CreateSubKey("{00021494-0000-0000-C000-000000000046}");
}
if (0 != (style & BandObjectStyle.TaskbarToolBar))
{
rkCat.CreateSubKey("{00021492-0000-0000-C000-000000000046}");
rkLMCat.CreateSubKey("{00021492-0000-0000-C000-000000000046}");
}
if (0 != (style & BandObjectStyle.ExplorerToolbar))
Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Microsoft\Internet Explorer\Toolbar").SetValue(guid, name);
// register as BHO
RegistryKey bhoKey = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\" + guid);
bhoKey.SetValue("NoExplorer", 1, RegistryValueKind.DWord);
Your help is very much appreciated.
Thanks
Steve
After set following info in AssemblyInfo.cs file build the DLL.
When you register that DLL then use the following command.
Now it will show your publisher name in manage addon in IE.
Hope this make more sense.