Fair Warning: Problemas depurando con VSTO 2005 SE

A veces parece que nuestros entornos de desarrollo se entretienen viendo como rozamos la desesperación. Ahí va mi advertencia: Outlook puede tratar de reirse un buen rato de vosotros… o al menos, a mi me ha tocado la tontería 🙂 Veréis, yo era un chico de barrio normal, escuchaba Poison y Cinderella, tocaba la guitarra y mi único objetivo en la vida era tener el cardado más molón del universo. Unos años después aquí estoy, sin cardado, sin gruppies, sin fiestas de backstage… y llega un señor muy majo, pero muy liante, y me encarga realizar una aplicación integrada en Outlook con VSTO 2005 SE… toma cisma!

En fin, durante toda esta semana he seguido el proceso habitual de desarrollo: implemento un cachito, lo pruebo, me c*g* en la primera generación de la madre que parió al PM mas grandote que haya en el equipo de las VSTO, corrijo, vuelvo a implementar, vuelvo a probar… Todo bien, todo tan divertido como siempre. Al menos todo iba así hasta ayer por la tarde; a partir de un determinado momento me resultó imposible volver a probar mi aplicación, ya que el add-in simplemente no se cargaba dentro del Outlook!! Ni en modo de depuración, ni en modo release… nada. Aunque aparecia listado en los «Complementos COM» dentro del Outlook 2003, el checkbox no estaba marcado, y adjuntar el depurador no servía para nada, puesto que el modulo parecía no llegar a cargarse.

Finalmente, tras pasar un rato mucho mas grande de lo que me gustaría tener que admitir peleandome con ésto, encontré que la razón se debe a un mecanismo de protección del Outlook ante programadores maizones como un servidor de ustedes. Aparentemente durante alguna ejecución mi código había echo alguna travesura, o no se había cerrado correctamente,  y el Outlook, tratando de protegerse de una ocurrencia de un problema similar en el futuro, marcó el modulo como peligroso (Danger Danger) y lo deshabilitó. Sin embargo, recordemos que VSTO utiliza un cargador generico para los add-ins administrados (un COM Shim, por eso los add-ins aparecen como Complementos COM aunque sean administrados), que por tanto es el modulo que siempre se va a cargar primero. Por ello, en este caso, el modulo marcado como peligroso fue el VSTOLoader.dll, lo que implica que ningún add-in administrado podría volver a ejecutarse en ese Outlook hasta que se sacara la dll de la lista de complementos dehabilitados. Quizá lo más sorprendente de todo el asunto fue encontrar la lista de Elementos Deshabilitados: está en el Acerca De… del Outlook!!!!!!! Alguien podrá explicarme algun día estas cosas??!

Seguramente muchos de vosotros ya os habréis encontrado con este comportamiento, pero a mí me descolocó durante un buen rato y me pareció un buen tema para inaugurar mi blog aquí en geeks.ms. Oh si!! Ya sabía que me olvidaba de algo!! Éste es mi primer post aquí, y sinceramente, no sabía cómo presentarme, así que decidí no hacerlo. Muchos ya nos conocemos, y los demás nos iremos conociendo poco a poco, así que no precipitemos las cosas, no penséis que soy de esos que lo dan todo en la primera cita!! 😉

PD: El nombre de éste blog, Surviving the Night, hace alusión a un temazo de un grupo muy poco conocido; un tema que me suelo poner para cargarme las pilas cuando estoy delante de una pantalla de ordenador a eso de las 3 o 4 de la madrugada, que me ha acompañado durante tantas noches de prácticas de la carrera o proyectos varios… Ofrezco un huevo Kinder(tm) al primero que acierte con el nombre del grupo!! Va en serio!!!