Добавление в реестр без манифеста в MS Office AddIn

Я делаю надстройку Outlook 2007 на С#. Поэтому при создании установочного файла мне нужно изменить записи реестра. Одним из них является строка манифеста, в которой есть ссылка на файл манифеста надстройки. Загружая это, офисное приложение загружает надстройку. Но когда я просмотрел записи реестра WebEx, у них нет ссылки на манифест. Запись реестра WebEx

Почему это так? Как WebEx удалось обойтись без ссылки на манифест?


person Prakash    schedule 04.09.2012    source источник
comment
Вы поняли вопрос???? Обычно это требуется, но как WebEx удалось обойтись без ссылки на манифест.   -  person Prakash    schedule 04.09.2012


Ответы (2)


Чтобы ответить на ваш вопрос, надстройки COM, реализующие интерфейс ID2Extensibility, должны использовать другой метод регистрации. В частности, они должны быть зарегистрированы как COM-сервер, поэтому их регистрация привязана к ключам InProcServer32 в реестре. По сути, машина уже знает, где найти объект по имени в реестре классов, и таким образом загружает соответствующую DLL.

person Ryan    schedule 07.06.2013
comment
Привет Райан, Спасибо за ответ. Не могли бы вы предложить статью, которая могла бы вам встретиться по этому поводу. Это поможет в качестве ссылки. - person Prakash; 25.06.2013

чтобы ответить на ваш вопрос, по-видимому, существует несколько способов зарегистрировать надстройку для вашего приложения Office. Один из них — это манифест, сгенерированный VSTO, как вы уже показали. Я предполагаю, что это «современный» способ разработки надстроек С#.

Но помните, что надстройка Office — это просто старый компонент COM+. Таким образом, вы можете сделать надстройку на C, C++ и других языках с поддержкой COM+ :) Чтобы зарегистрировать их, вам нужно добавить определенные ключи в реестр Windows.

Используя C# и Visual Studio, вы можете зарегистрировать свою сборку C# в качестве COM-компонента, выбрав параметр «Зарегистрировать для COM-взаимодействия» в настройках проекта на вкладке «Сборка». Это эквивалентно запуску утилиты Regasm, которая поставляется вместе с установкой .NET вручную на вашей сборке (DLL).

Теперь, если у вас есть зарегистрированный компонент, все, что вам нужно сделать, чтобы позволить приложению Office загрузить вашу надстройку, — это сослаться на этот компонент, используя ключ реестра в формате «namespace.class_extending_Соответствующий_интерфейс».

person B.Gen.Jack.O.Neill    schedule 12.02.2013