2015-06-24 3 views
0

Я использую NetOffice для разработки плагина Outlook. Этот плагин работает на моей локальной машине, когда (каким-то волшебным образом) развертывается через Visual Studio (если я запускаю проект, а затем открываю Outlook, там есть функциональность). Все хорошо до сих пор. Однако мне нужно развернуть его на компьютеры других людей (у которых нет VS), и я действительно изо всех сил пытаюсь найти способ, как это сделать.Развертывание подключаемого модуля NetOffice

Мой плагин выглядит следующим образом:

[COMAddin(Constants.ProjectName, "Tool", 3)] 
[Guid("B3F60319-1A11-4F3E-9C1B-3AE908D9CA86"), ProgId("Tool.OutlookIntegration")] 
public class OutlookIntegration : COMAddin 
{ 
    public OutlookIntegration() 
    { 
     this.OnStartupComplete += new OnStartupCompleteEventHandler(this.Integrate); 

     _settings = new Settings(); 
    } 

    /* Integrate creates a menu item which does what I need. */ 
} 

Тип проекта библиотеки. Теперь вопрос в том, как я могу сделать этот запуск на ком-то персональном компьютере? Если вам известно о каком-то учебнике или что-то в этом роде, сообщите мне. Есть ресурсы в Интернете по разработке плагинов Outlook, но они, похоже, отличаются от NetOffice. Сам NetOffice имеет отличную документацию для разработки, но не для развертывания (я не нашел ее, по крайней мере).

Я также рад предоставить любую дополнительную информацию.

ответ

0

Не имеет значения, какие библиотеки используются для разработки надстроек Office. Процесс развертывания одинаковый для всех надстроек COM. См. Раздел Deploying an Office Solution в MSDN.

2

Для того, чтобы перспективы установить надстройку единственное, что вам нужно сделать, это добавить несколько записей в registy

string runKey = "SOFTWARE\\Microsoft\\Office\\Outlook\\Addins"; 
RegistryKey startupKey = Registry.CurrentUser.OpenSubKey(runKey, true); 
if (startupKey != null) 
{ 
    runKey="SOFTWARE\\Microsoft\\Office\\Outlook\\Addins\\yourAddinNameSpace.yourAddinClass"; 
    startupKey = Registry.CurrentUser.OpenSubKey(runKey, true); 
    if (startupKey == null) 
    startupKey = Registry.CurrentUser.CreateSubKey(runKey); 
    startupKey.SetValue("Description", "yourAddinName", Microsoft.Win32.RegistryValueKind.String); 
    startupKey.SetValue("FriendlyName", "yourAddinName", Microsoft.Win32.RegistryValueKind.String); 
    startupKey.SetValue("LoadBehavior", 3, Microsoft.Win32.RegistryValueKind.DWord); 
    } 
} 
else 
    Console.WriteLine("Outlook is not installed"); 
Смежные вопросы