Com OneNote 2013加载项赢得';不要装。如何调试?

Com OneNote 2013加载项赢得';不要装。如何调试?,com,office-interop,onenote,Com,Office Interop,Onenote,我将遵循有关如何创建OneNote加载项的说明 最初,我一步一步地遵循它,做了一些更改(只是重命名类,并在程序集中使用我自己的名称和GUID)信息。由于我正在使用VS2012,并且还没有准备好手动滚动WiX安装程序,所以我手动将构建的dll复制到正确的位置,并创建了一个注册表文件来创建必要的条目。我确认它们都在,已加载OneNote但没有加载项,在“管理COM加载项”部分,我看到以下错误: 加载行为:未加载。加载COM加载项期间发生运行时错误 我花了一些时间调试这个,但没走多远。所以今天下午我

我将遵循有关如何创建OneNote加载项的说明

最初,我一步一步地遵循它,做了一些更改(只是重命名类,并在程序集中使用我自己的名称和GUID)信息。由于我正在使用VS2012,并且还没有准备好手动滚动WiX安装程序,所以我手动将构建的dll复制到正确的位置,并创建了一个注册表文件来创建必要的条目。我确认它们都在,已加载OneNote但没有加载项,在“管理COM加载项”部分,我看到以下错误:

加载行为:未加载。加载COM加载项期间发生运行时错误

我花了一些时间调试这个,但没走多远。所以今天下午我决定重新开始,但要逐字复制他的代码。我只是下载了示例项目,使用的试用版创建了安装程序并构建了所有内容

我得到了完全相同的错误

请问这是为什么?这意味着什么?最重要的是如何调试问题?

关于我的环境的一些细节,以及它与原始教程的不同之处

我正在运行Office 2013,它是64位的。他的教程是2010年的。这意味着在加载演示解决方案时,我必须删除对Onenote 14 Interop不存在的引用,并添加v15版本

就注册表项而言,它们位于正确的位置,而不是WOW6432注册表节点。我非常清楚这一点,就好像我加载OneNote,然后刷新加载项的HKCR注册表节点一样,LoadBehavior会切换到0x00000002(已禁用)

其他可能值得注意的事情

我已启用OneNote日志记录,但在我的问题上它没有任何问题

这里还有另外两个帖子似乎有类似的问题(但Office2010),但都没有得到回复。第一个人装了一次,但每次都要手动启动,我的从来没有装过(我也没有在装配上签名),第二个人从来没有得到回应

正如我所说的,即使知道如何进一步调试它也将是向前迈出的一大步

编辑:

我已经回到调试我自己的版本,这几乎是相同的,因为我不知道安装程序实际上在做什么,我想,因为它是一个wix转换器的演示,它只允许我为x86构建

如果我在“启动外部程序”下添加OneNote.exe并在外接程序上运行调试,则当我尝试在OneNote中的“管理COM外接程序”下勾选外接程序时,会出现以下行。恐怕我对这一切还不太了解,所以我不确定这是什么意思

First-chance exception at 0x00007ffe4f86ab78 in ONENOTE.EXE: 0x800401FD: Object is not connected to server.
First-chance exception at 0x00007ffe4f86ab78 in ONENOTE.EXE: 0x800401FD: Object is not connected to server.
First-chance exception at 0x00007ffe4f86ab78 in ONENOTE.EXE: 0x800401FD: Object is not connected to server.
此外,由于阅读了更多内容,我认为仅仅将dll复制到安装文件夹
program files\[manufacturer]\[application]
(因为我没有安装程序)是不够的。我现在已经对我的dll执行了此操作

PS C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319> .\RegAsm.exe 
然后它回来了

Microsoft .NET Framework Assembly Registration Utility version 4.0.30319.33440
for Microsoft .NET Framework version 4.0.30319.33440
Copyright (C) Microsoft Corporation.  All rights reserved.

Types registered successfully

要正确注册dll,我还需要执行其他操作吗?

为OneNote 2013启用日志记录:

创建一个文件“enableonenote2013apiloging.reg”

创建一个文件“DisableOneNote2013Apiloging.reg”

这基于,但您需要添加EnableTextFileLogging;-)

日志文件是在%temp%\OneNote.log中创建的


对于OneNote 2010,将.reg文件中的路径更改为\14.0\而不是\15.0\

,根据,OneNote通过DllHost.exe运行加载项。如果将MessageBox调用放在所有入口点上(尤其是连接上的
OnConnection
),会出现这种情况吗?还是也会失败?谢谢。恐怕没有消息框出现。在运行调试之前,我尝试将Onenote.exe和DllHost.exe添加为启动应用程序。在以前的OneNote中,确实加载了OneNote,但即使我在运行时再次尝试加载,我们也无法访问我的加载项。我在上面添加了一个编辑,以包含我尝试的其他内容。
Windows Registry Editor Version 5.00  

[HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\OneNote\Options\Logging] 

"EnableLogging"=dword:00000001 

"EnableTextFileLogging"=dword:0000001

"ttidLogObjectModel"=dword:00000001 

"ttidLogObjectModelAddins"=dword:00000001
Windows Registry Editor Version 5.00  

[HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\OneNote\Options\Logging] 

"EnableLogging"=dword:00000000 

"EnableTextFileLogging"=dword:0000000

"ttidLogObjectModel"=dword:00000000 

"ttidLogObjectModelAddins"=dword:00000000