NetOffice Outlook插件部署

时间:2015-06-24 08:08:18

标签: c# outlook netoffice

我正在使用NetOffice开发Outlook插件。这个插件在我的本地机器上运行时(不知何故神奇地)通过Visual Studio部署(如果我运行项目然后打开Outlook,那么功能就在那里)。一直都好到这里。但是,我需要将它部署到其他人的计算机(没有安装VS),我真的很难找到如何做到这一点的方法。

我的插件看起来像这样:

[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. */
}

项目类型是库。现在,问题是我如何在别人的PC上运行?如果你碰巧知道一些教程或类似的东西,请告诉我。互联网上有关于开发Outlook插件的资源,但它们似乎与NetOffice不同。 NetOffice本身有很好的开发文档,但不适合部署(我至少没有找到它)。

我也很乐意提供所需的任何其他详细信息。

2 个答案:

答案 0 :(得分:2)

为了让outlook安装一个插件,你唯一需要做的就是在注册中添加一些记录

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");

答案 1 :(得分:0)

将哪些库用于开发Office加载项并不重要。所有COM加载项的部署过程都是相同的。请参阅MSDN中的Deploying an Office Solution部分。