Вопрос

Я пытаюсь выяснить, почему мой плагин Outlook, написанный на C#/VSTO 3.0/VS 2008, не загружается после установки.

Плагин прекрасно работает на моей машине разработки, на которой установлена ​​Visual Studio 2008.Однако я не могу ожидать, что у всех моих пользователей будут все необходимые условия, поэтому я выполнил следующие шаги, чтобы написать установщик:http://msdn.microsoft.com/en-us/library/cc563937(loband).aspx

Я установил надстройку на новый компьютер с Windows XP SP 2 и новой установкой Outlook 2007.Он устанавливает все предварительные требования (.NET 3.5, среда выполнения VSTO 3.0, установщик Windows 3.1, PIA 2007).Outlook запускается, но надстройка не запускается.Если я перейду на вкладку «Надстройки» в Центре управления безопасностью, я увижу свою надстройку в разделе «Неактивные надстройки приложений» с сообщением «Не загружено».Во время загрузки надстройки COM произошла ошибка выполнения.".

Не знаю, как найти конкретную ошибку, чтобы исправить ее.

Ключи reg выглядят нормально.В разделе HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\Addins\BlahAddin я вижу Описание, FriendlyName, LoadBehavior (установлено значение 3, пока не произойдет сбой, после чего if станет равным 2) и Manifest.

Попробовал трюк с переменной среды VSTO_SUPPRESSDISPLAYALERTS, а затем запустил Outlook из командной строки, но никаких результатов не последовало.

У меня удаленная отладка более-менее работает, но я не знаю, что искать.Я не вижу загруженной моей DLL, когда подключаюсь к Outlook, но опять же, возможно, управляемые DLL не отображаются таким же образом в VS.

Есть ли какие-нибудь другие идеи о следующих шагах, которые я мог бы предпринять, чтобы создать конкретную ошибку, которую я могу диагностировать?

Это было полезно?

Решение

Решил мою проблему после нескольких недель боли.Во время сборки установки ключ регистрации «Манифест» был поврежден и приобрел ненужное значение.Это была известная ошибка Visual Studio, которая предположительно была исправлена ​​в Visual Studio 2008 SP 1, но, видимо, не для меня.Переименование имени проекта, отличающееся от имени плагина, устранило проблему.Случайно, да?

Другие советы

Убедитесь, что у вас есть обработчики для получения попытки на верхнем уровне всех методов, называемых Outlook, и запишите любые исключения, с которыми вы не можете каким-то образом справиться. Сосредоточьтесь на устранении неполадок на таких методах, как Startup Метод и другие методы, вызванные во время инициализации.

Вы, вероятно, хотите отладить это с помощью удаленного отладчика. Поделитесь папкой msvcmon.exe из вашей машины разработчика (в ваших папках Visual Studio в программных файлах) на вашем тестовом компьютере (поделитесь им с путем UNC) и запустите Outlook под исключением отладчика (.net) в ваших модулях и Поместите точки останова в ваших методах.

Если вам нужно чистить тестовый компьютер каждый раз перед установкой своего решения, вам, вероятно, следует запустить XP под виртуальной машиной Virtual PC 2007 (бесплатно) и переключиться на дифференциальный HD после настройки всего, кроме вашего плагина, чтобы сфотографировать ваш предварительно установленный Установите один раз, чтобы вам не приходилось продолжать устанавливать/переустановить, вносите изменения в свою программу, чтобы исправить ошибки.

Вы устанавливаете сборки отладки или выпуск сборки? Возможно, один вкус имеет разные требования. Просто угадаю.

-Мик [MSFT Office Dev

На вашей машине, когда вы запускаете AddIn из Visual Studio, он должен создать ключ реестра в HKEY_CURRENT_USER Software Microsoft VSTO Security Inclusion {SomeGuid}. Убедитесь, что эти настройки реестра также развернуты с вашим добавлением. Это те, которые позволяют доверять вашему коду.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top