Я написал BHO в c#. NET target framework: 4.6.1 BHO отлично работает в режиме отладки сообщества Visual Studio 2015. Но он не работает при сборке в режиме релиза (Цель платформы: любой процессор). Хотя я мог видеть надстройку на вкладке управления надстройками. IE версия: 11.175.18362.0 Версия обновления: 11.0.130 (KB4503259)
У меня есть функции регистрации / отмены регистрации COM, как показано ниже
public static string RegBHO = "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Browser Helper Objects";
public static string RegCmd = "Software\\Microsoft\\Internet Explorer\\Extensions";
[ComRegisterFunction]
public static void RegisterBHO(Type type)
{
string guid = type.GUID.ToString("B");
{
RegistryKey registryKey = Registry.LocalMachine.OpenSubKey(RegBHO, true);
if (registryKey == null)
registryKey = Registry.LocalMachine.CreateSubKey(RegBHO);
RegistryKey key = registryKey.OpenSubKey(guid);
if (key == null)
key = registryKey.CreateSubKey(guid);
key.SetValue("NoExplorer", 1);
registryKey.Close();
key.Close();
}
}
[ComUnregisterFunction]
public static void UnregisterBHO(Type type)
{
string guid = type.GUID.ToString("B");
// BHO
{
RegistryKey registryKey = Registry.LocalMachine.OpenSubKey(RegBHO, true);
if (registryKey != null)
registryKey.DeleteSubKey(guid, false);
}
// Command
{
RegistryKey registryKey = Registry.LocalMachine.OpenSubKey(RegCmd, true);
if (registryKey != null)
registryKey.DeleteSubKey(guid, false);
}
}
Текущая система: Windows 10. I можно было видеть два экземпляра IE .One в Program Files (x86) и еще один в Program Files.
Команды событий после сборки, которые я использовал, как показано ниже (VS2015 открыт в режиме администратора)
"%windir%\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe" /unregister "$(TargetDir)$(TargetFileName)"
"%windir%\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe" "$(TargetDir)$(TargetFileName)"
"%windir%\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe" /unregister "$(TargetDir)$(TargetFileName)"
"%windir%\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe" "$(TargetDir)$(TargetFileName)"
Что я мог найти до сих пор. Мне может понадобиться зарегистрировать эту DLL с regsvr32.exe, который я не уверен. Но когда я собираюсь это сделать, это дает мне ошибку.
The module is loaded but could not find any entry point
Может ли кто-нибудь помочь мне выпустить этот BHO для обоих IE 64 & x86?
TIA:)