我正在使用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本身有很好的开发文档,但不适合部署(我至少没有找到它)。
我也很乐意提供所需的任何其他详细信息。
答案 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部分。