我已經爲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