Outlook 2003加载项将不会加载,但处于正常工作状态
我创建了一个2003年,2007年和Outlook的Outlook加载项。这个加载项在2007年和2010年运行良好,但在2003年没有在我自己的开发机器以外的任何机器上正确加载。没有代码问题,因为加载行为中没有显示错误,并且它不是禁用的项目。加载项也未显示在COM加载项列表中。这个加载项在2003年之前已经有效。
这是奇怪的部分。我有一个早期时间点的加载项副本,因此不包含完整版本的某些功能。这个加载项在2003年正确加载。因此,作为我的测试的一部分,在VM上,我安装了早期版本(我称之为测试)和当前版本不起作用(我将其称为完整版) 。在HKCU>软件>类> CLSID> [[guid]]> InprocServer32下的注册表中,对于测试版本,我将“Manifest Location”和“Manifest Name”键更改为完整版的值。然后我运行Outlook,完整版完美运行。
我无法看到完整的加载项在它自己的注册表设置下是如何工作的,但在测试版下工作正常,并且仅在Outlook 2003上工作。
这是基本信息:
我的开发设置是:
Windows 7 64位
Outlook 2003已安装
为外接程序项目运行VS2008,但也使用VS2010进行附属程序集。
包含并修改了“设置安全性”项目,以允许多个程序集设置CASPol。
安装项目中包含以下预先要求:
.Net 2.0
.Net 3.5SP1
Office 2003 PIA(也分别是2007年和2010年PIAs分别为2007年和2010年)
VSTOSE运行时
Windows Installer 3.1
任何提示都会非常感激,因为我已经花了将近4天的时间来解决这个问题!
TIA。
更新1:
根据@JoaoAngelo评论我检查了注册表设置,它们如下:
HKCU>软件>类> CLSID> {加载项CLSID}> InprocServer32
- (default) - '%CommonProgramFiles%Microsoft SharedVSTO8.0AddinLoader.dll'
- ManifestLocation - path to the containing folder
- ManifestName - the .dll.manifest file name
- ThreadingModel - 'Both'
HKCU>软件>微软> Office> Outlook> Addins> 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
我根据部署页面在后者下添加了以下内容,但无济于事:
- ManifestLocation
- ManifestName
更新2:
根据0xA3评论;在HKCR> MyAddin下,我有一个带有单个字符串值的CLSID键:
(default) - {add-in CLSID}
CLSID与HKCU> Software> Classes> CLSID和整个注册表中的相同。
没有找到相关结果
已邀请:
4 个回复
到街客核
佩疵瓦
第一个将导致在包含addin程序集的目录中创建* .log文件,第二个将在启动目标应用程序时显示错误弹出窗口,在本例中为Outlook。 您还要说,在使用Office 2003的开发框中,插件正常工作。由于Visual Studio在执行构建时会自动在开发框中注册插件,因此应确保在安装程序中创建所有必需的注册表项。您可以在以下MSDN文章中检查“必需的注册表项”部分,以验证您是否在安装程序中创建了正确的密钥: 部署应用程序级外接程序
捅瓶啡
扭湘阀柿蹄