Добавяне към регистър без манифест в MS Office AddIn

Правя Outlook 2007 AddIn в c#. Така че, докато правя инсталационния файл, трябва да променя записите в системния регистър. Един от тях е низът на манифеста, който има връзка към файла на манифеста на AddIn. Чрез зареждането на това офис приложението зарежда AddIn. Но когато погледнах записите в системния регистър на 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, както вече показахте. Предполагам, че това е "модерният" начин в разработката на добавки на C#.

Но не забравяйте, че Office Add-In е просто стар COM+ компонент. Така че можете да направите добавки на C, C++ и други езици с поддръжка на COM+ :) За да ги регистрирате, трябва да добавите определени ключове към регистъра на Windows.

Използвайки C# и Visual Studio, можете да регистрирате вашата C# асемблировка като COM компонент, като изберете опцията „Регистриране за COM Interop“ в настройките на вашия проект в раздела Build. Това е еквивалентно на стартиране на помощната програма Regasm, която идва с .NET инсталация ръчно на вашата сборка (DLL).

Сега, ако сте регистрирали своя компонент, всичко, което трябва да направите, за да позволите на приложението на Office да зареди вашата добавка, е да посочите този компонент, като използвате ключа на системния регистър във формат „namespace.class_extending_appropriate_interface“.

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