Мій надбудова VSTO Outlook раптово перестав працювати на одній машині клієнта (вона не завантажується, повідомлення про помилку не з’являється), і я застряг у вирішенні проблем. Машина - Windows 7 x86, Outlook 2007. Надбудова написана у Visual Studio 2008 і використовує VSTO 2005 з PIA 2003 (оскільки нам також потрібно підтримувати Outlook 2003). Це чудово працює на інших машинах.
Ось те, що я намагався отримати корисний результат усунення несправностей:
- Додайте
VSTO_SUPPRESSDISPLAYALERTS
змінну середовища (встановлену в0
) . - Запустіть Outlook з адміністративними дозволами.
- Перегляньте журнал подій.
Нічого. Надбудова просто не буде завантажуватися , не даючи жодних - або вказівок про причини. Я також перевірив "звичних підозрюваних" (політика CAS, встановлені PIA, LoadBehavior в реєстрі, перевстановлення VSTO та надбудови).
Деякі інші спостереження:
LoadBehavior
в реєстрі залишається на3
.- Надбудова відображається як "вимкнена" в Outlook. Позначення його прапорця в "надбудовах COM" просто нічого не робить (помилки немає, прапорець знову знімається при введенні форми вдруге).
- Це чудово працює на інших машинах замовника, і на цій машині він чудово працював. (Ні, клієнт не може сказати мені, що змінилося на його машині.)
- У мене є
Trace.WriteLine
повідомлення в самому верху мого коду (перший рядок уThisAddIn_Startup
обробнику), якого не було досягнуто (я перевірив за допомогою DebugView ). Таким чином, причина не завантаження - не виняток у моїй надбудові, а скоріше збій VSTO для завантаження надбудови або Outlook для завантаження VSTO.
Замість більш випадкових налагоджень ("спробуй це ...", "спробуй це ..."), я б дуже хотів змусити Outlook та / або VSTO повідомити мені, що не так , тобто надати мені замість цього корисне повідомлення про помилку просто нічого не робити, намагаючись увімкнути надбудову. Будь-які ідеї?