Я создал надстройку Outlook для 2003, 2007 и 2010 годов. Надстройка работает отлично в 2007 и 2010 годах, но не загружается правильно в 2003 году на любых машинах, кроме моей собственной машины dev. Нет проблем с кодом, так как в поведении нагрузки нет ошибок, и это не отключенный элемент. Надстройка также не отображается в списке надстроек COM. Эта надстройка работает в 2003 году ранее.
Вот странная часть. У меня есть копия надстройки с более раннего момента времени, поэтому не содержит некоторых функций полной версии. Эта надстройка загружается правильно в 2003 году. Так что, как часть моего тестирования, на виртуальной машине я установил более раннюю версию (я буду называть ее test) и текущую версию, которая не работает ( Я назову его full). В реестре под HKCU > Software > Classes > CLSID > [[guid]] > InprocServer32 для версии test я изменил ключи "Manifest Location" и "Manifest Name", чтобы быть значениями полная версия. Затем я запускал Outlook, и полная версия работала отлично.
Я не вижу, как надстройка full не работает под своими собственными настройками реестра, но работает отлично под тестом, и только в Outlook 2003.
Вот основная информация:
Моя установка dev:
- 64-разрядная версия Windows 7
- Установлен Outlook 2003
- Выполнение VS2008 для проекта надстройки, но также использование VS2010 для сборки спутника.
- Проект "Безопасность безопасности" включен и изменен, чтобы позволить множеству сборок установить CASPol.
В проект установки включены следующие предварительные требования:
- .Net 2.0
- .Net 3.5SP1
- Office 2003 PIA (также PIA 2007 и 2010 на 2007 и 2010 годы соответственно)
- Время выполнения VSTOSE
- Установщик Windows 3.1
Любые подсказки будут высоко оценены, так как я потратил почти 4 дня на эту проблему!
ТИА.
Обновление 1:
В соответствии с комментариями @JoaoAngelo я проверил параметры реестра, и они выглядят следующим образом:
HKCU > Программное обеспечение > Классы > CLSID > {add-in 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 > Программное обеспечение > Microsoft > 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 и во всем реестре.