Я много искал здесь на SOF, а также на форумах MSDN, но, к сожалению, ни один метод не мог работать для меня. Вот проблема и применяемые методы.
- Я разработал панель инструментов, используя .Net для Internet Explorer 7. Она зарегистрирована как BHO (объект-помощник браузера) с использованием кода установщика C #, который следует.
- Я использую файл установки MSI и файл пользовательской установки для регистрации BHO. Вот как я это делаю.
- Я подписал и DLL, сгенерировал и подписал MSI и EXE для MSI. После установки я проверяю в c: \ Program Files \ My Test Extension \, что мое расширение также имеет цифровую подпись.
Проблема:
Проблема: Когда я перехожу к «Управляемым надстройкам» в параметрах Internet Explorer 7, я вижу мое расширение / панель инструментов в разделе «Недоступно» вместо названия компании, как установлено в свойствах Расширения / сборки. «Издатель» недоступен, когда я нажимаю «больше информации».
Скажите, пожалуйста, как мне установить «Информация об издателе»? Я использую ключ и действительный сертификат, выданный Verisign Inc.
Пожалуйста, скажите, если я делаю что-то не так или что-то упустил. Вот мой установщик / регистрационный код.
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);
Ваша помощь очень ценится.
Спасибо
Steve