部署/安装Outlook插件

时间:2012-02-07 08:19:59

标签: c# outlook

我正在尝试在客户端计算机上安装Outlook Addin。

不幸的是,加载项永远不能“启用”,它总是显示在“已禁用”加载项部分中。

是否有关于如何创建正确的安装应用程序并安装Outlook插件的简单分步指南?

编辑:

好的,我已经回归基础,但我仍然无法正确安装。

我使用VS2010项目向导创建了一个新的Outlook Addin。

它生成文件等,然后我改变我的代码:

namespace OutlookAddIn1
{
    public partial class ThisAddIn
    {
        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
            MessageBox.Show("Worked");
        }

        private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
        {
        }

        #region VSTO generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InternalStartup()
        {
            this.Startup += new System.EventHandler(ThisAddIn_Startup);
            this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
        }

        #endregion
    }

如果我安装了这个,我收到相同的错误消息:

Not Loaded. The Managed Add-in Loader failed to initialize.

安装加载项时,我确保创建了注册表项:

enter image description here

我还将.manifest文件和.vsto文件添加到安装项目中。

还是难倒!

3 个答案:

答案 0 :(得分:11)

我认为本教程可能对您的参考有用。

http://msdn.microsoft.com/en-us/library/ff937654.aspx

此外,您还可以查看其他一些内容。首先,查看启动Outlook Addin时是否有任何COM异常抛出。通常,如果在启动时抛出错误,则不会自动禁用addin。而且您还想查看loadBehavior注册表项,并查看您在那里获得的值。

有关LoadBehavior reg键的详细信息,请参阅:http://msdn.microsoft.com/en-us/library/bb386106(VS.100).aspx

答案 1 :(得分:4)

在woodykiddy的帮助下,我最终成功构建了安装程序并成功安装!来这里的任何人都应该访问他帖子中提供的链接。

我只想详细说明我遵循的一般程序,以便让它发挥作用。

首先,regisrty条目很重要,尤其是Manifest和LoadBehavior键。确保它指向正确的安装位置。 您还需要确保安装了正确的运行时,例如适用于Office运行时的VSTO 2010和Office主要互操作程序集(如果需要)。

此外,手动将在Addin的\ Release \文件夹中创建的* .vsto和* .dll.manifest添加到安装项目中非常重要。

我发现要检查Register for COM Interop NOT ,同时检查应用程序属性必须中的Make Assembly COM Visble属性。

最后,确保安装项目中未包含*.dll的任何Microsoft *.Utilities.dllExcluded

对不起最后一件事,在安装时,将“Just Me”安装到可写文件夹,例如[LocalAppDataPath]。当用户没有管理员priveldges时,还有其他警告。

答案 2 :(得分:0)

以下是有关如何解决Outlook Addin

可能出现的问题的简短检查清单

(当然不是所有内容都被覆盖)

插件是否已在客户端计算机上正确注册?

检查注册表项(HKLM \ Software \ Microsoft \ Office \ Outlook \ Addins)和regasm.exe

还要确保Make Assembly COM Visble中的Project Properties -> Assembly Information已被选中

您是否已将所有依赖项与插件程序集一起部署?

它非常重要,尤其是当您构建自己的设置时(通过WIX或installshield,......)。

启动Outlook时插件是否有错误?

检查事件查看器是否有Outlook错误和警告

它也可以&#34;消失&#34;当插件程序集的版本号/ GUID发生更改或存在冲突时

尝试通过删除注册表中的CLSID键来修复它

REM 64bit entry in HKEY_CLASSES_ROOT
reg delete HKCR\CLSID\{GUID} /f 

REM 32bit entry in HKEY_CLASSES_ROOT
HKCR\Wow6432Node\CLSID\{GUID}

并通过regasm.exe重新注册程序集