我已经为2003,2007,2010创建了Outlook加载项。加载项在2007和2010年工作正常,但未正确加载2003在任何机器上,除了我自己的开发机器。没有代码问题,因为加载行为中没有显示错误,并且它不是禁用的项目。该加载项也未显示在COM加载项列表中。此加载项以前在2003年以前工作。Outlook 2003加载项将无法加载,但工作顺序为
这是奇怪的部分。从早期的时间点我有一个加载项的副本,因此不包含完整版本的一些功能。这个插件在2003年正确加载。因此,作为我的测试的一部分,在虚拟机上,我安装了早期版本(我将其称为测试)和当前版本不起作用(我会称它full)。在HKCU> Software> Classes> CLSID> [[guid]]> InprocServer32的注册表中,对于测试版本,我将“Manifest Location”和“Manifest Name”键更改为完整版的值。然后我运行Outlook,完整版运行完美。
我看不出怎么全外接不会下它自己的注册表设置,但在测试工作正常的,只有在Outlook 2003中
这里的基本信息:
我dev的设置是:
- 的Windows 7 64位
- Outlook 2003中安装
- 运行VS2008的加载项目,但也使用VS2010作为卫星程序集。
- 设置安全项目包含并修改为允许多个程序集设置CASPol。
以下预请求数都包含在安装项目:
- NET 2.0
- 净3.5SP1
- Office 2003的PIA(也2007 & 2010 PIA的2007 & 2010分别)
- VSTOSE运行时
- Windows Installer 3.1
任何提示将不胜感激,因为我已经花了近4天的时间在这个问题上!
TIA。
更新1:
按@JoaoAngelo意见,我查了注册表设置,并有如下几点:
HKCU>软件>类> CLSID> {附加CLSID }> InprocServer32的
- (default) - '%CommonProgramFiles%\Microsoft Shared\VSTO\8.0\AddinLoader.dll'
- ManifestLocation - path to the containing folder
- ManifestName - the .dll.manifest file name
- ThreadingModel - 'Both'
HKCU>软件>微软>办公>展望>加载项> MyAddin
- (default) - not set
- CommandLineSafe - '1'
- Description - a string
- FriendlyName - add-in ID
- LoadBehavior - '3' (this never gets set to 2, which would indicate an issue)
- Manifest - path to the .dll.manifest of the add-in assembly
- Path - path to the containing folder
我还添加下后者下面,具体根据Deployment page,但没有效果:
- ManifestLocation
- ManifestName
更新2:
作为每0xA3执行评论;在HKCR> MyAddin我有一个字符串值的CLSID项:
(default) - {add-in CLSID}
的CLSID是相同HKCU>软件>类> CLSID并在整个注册表中看到。
在HKCR - > MyAddin下定义了什么(即在加载项的编号下;与在HKCU> Software> Microsoft> Office> Outlook> Addins> MyAddin下使用的'MyAddin'字符串相同) – 2011-03-23 14:58:35
我更新了原文(更新2)。 – SteveA 2011-03-23 16:47:30
[编辑]:我看到这已更新 - 删除评论。我明白,我的问题实际上与此不同。 – 2011-05-25 19:43:15