Пытаюсь создать на C# Insertable ActiveX, чтобы его можно было вставлять в программы MS Office через "Вставить->Объект". Долго искал, как это сделать, нашел, что за это отвечает параметр Insertable в реестре. Но мой объект все равно не появляется в списке.
В качестве примера привожу функцию регистрации, которую я на этом же форуме нашел в другой теме.
ActiveX действительно регистрируется в системе, но он не появляется в списке Insertable объектов.
Помогите, пожалуйста.
[ComRegisterFunction()]
public static void AxRegisterClass( String key )
{
// Strip off HKEY_CLASSES_ROOT\ from the passed key as I don't need it
StringBuilder sb = new StringBuilder(key);
sb.Replace("HKEY_CLASSES_ROOT\\", "");
// Open the CLSID\{guid} key for write access
RegistryKey rk = Registry.ClassesRoot.OpenSubKey(sb.ToString(),true);
// Next create the CodeBase entry — needed if not string named and GACced.
RegistryKey inprocServer32 = rk.OpenSubKey("InprocServer32", true);
inprocServer32.SetValue("", "C:\\WINDOWS\\system32\\mscoree.dll");
inprocServer32.Close() ;
// And create the 'Control' key — this allows it to show up in
// the ActiveX control container
rk.CreateSubKey("Control");
rk.CreateSubKey("Insertable");
rk.CreateSubKey("Programmable");
rk.CreateSubKey("TypeLib").SetValue("", "{09CC5676-60CB-41bf-B405-09F205845EC4}");
rk.CreateSubKey("Version").SetValue("", "1.0");