我正在尝试在客户端计算机上安装Outlook外接程序。
不幸的是,插件永远不能被“启用”,它总是显示在禁用插件部分。
关于如何创建正确的安装应用程序和安装outlook插件,有没有简单的分步指南?
编辑:
好吧,所以我回到了基础,但我仍然不能让它正确安装。
我使用VS2010项目向导新建Outlook外接程序。
它生成文件等,然后我像这样修改我的代码:
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.安装外接程序时,我确保已创建注册表项:

我还将.manifest文件和.vsto文件添加到安装项目中。
还是被难住了!
发布于 2012-02-07 16:33:29
我认为这篇教程对你的参考很有帮助。
http://msdn.microsoft.com/en-us/library/ff937654.aspx
另外,还有一些你可能想要检查的其他东西。首先,查看在启动Outlook外接程序时是否引发了任何COM异常。正常情况下,如果插件在启动时抛出错误,它不会被自动禁用。您还需要查看loadBehavior注册表项,看看您在其中获得了什么值。
有关LoadBehavior reg密钥的详细信息,请参阅:http://msdn.microsoft.com/en-us/library/bb386106(VS.100).aspx
发布于 2012-02-08 22:13:30
在woodykiddy的帮助下,我最终成功地构建了安装程序并成功安装!任何来到这里的人都应该访问他的帖子中提供的链接。
我只是想详细说明我让它工作所遵循的一般过程。
首先,regisrty条目很重要,尤其是Manifest和LoadBehavior密钥。确保它指向正确的安装位置。您还需要确保安装了正确的运行时,例如用于Office运行时的VSTO 2010和Office主互操作程序集(如果需要)。
此外,手动将在外接程序的\Release\文件夹中创建的*.vsto和*.dll.manifest添加到安装项目中也很重要。
我发现Register for COM Interop需要检查而不是,而应用程序属性中的Make Assembly COM Visble属性必须检查。
最后,确保任何不包含*.Utilities.dll的微软*.dll都是来自安装项目的Excluded。
抱歉,最后一件事,当安装时,安装“只是我”到一个可写的文件夹,例如[LocalAppDataPath]。当用户没有管理员权限时,还有其他注意事项。
发布于 2015-05-29 22:46:46
以下是有关如何解决Outlook加载项可能出现的问题的简短检查列表
(当然,并不是所有内容都包含在内)
插件是否已在客户端计算机上正确注册?
检查注册表项(HKLM\Software\Microsoft\Office\Outlook\Addins)和regasm.exe
还要确保选中位于Project Properties -> Assembly Information中的Make Assembly COM Visble
您是否已将所有依赖项与插件程序集一起部署?
这一点很重要,尤其是当您构建自己的设置时(通过WIX或installshield,...)。
启动时插件中是否有错误?
检查事件查看器中是否有Outlook错误和警告
当插件程序集的版本号/ 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重新注册程序集
https://stackoverflow.com/questions/9172970
复制相似问题