Surviving the Night

El blog de Pablo Doval sobre .NET, SQL, WinDbg...

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!!! 

Posted: 10/11/2006 0:16 por Pablo Alvarez | con 7 comment(s) |
Archivado en:
Comparte este post:

Comentarios

Marco Amoedo ha opinado:

Jejeje... como me suenan esas cosas. Yo me pasé dos días buscando información relacionada con un error extraño sobre Active Directory... hasta que probé a aumentarle la memoria a la máquina virtual :P

El grupo no será Zeno...

# November 10, 2006 9:21 AM

Augusto Ruiz ha opinado:

Buenas Pablo!

Sí, la verdad es que esos comportamientos son un tanto... Inesperados. De hecho el Visual Studio 2005 no se comporta así. Cuando creas un add-in, si hace alguna perrería lo deshabilita de los add-ins cargados al inicio, pero lo puedes volver a colocar desde el Add-in manager... :P

En fin, un placer leerte, y esperemos que sea muchas veces y por mucho, mucho tiempo.

# November 10, 2006 9:53 AM

Pablo Alvarez ha opinado:

Olé Marco!!! Te has ganado el huevo Kinder!! Podrás disfrutar de él el día 25 en tierras gallegas... pero antes dime: fue busqueda desesperada por internet o conoces al grandisimo Zeno Roth?! :D

Augusto, seguro que será por mucho tiempo... ya sabes que tienes que mantenerme al día de esos retro-proyectos! ;) Un abrazote!

# November 10, 2006 10:39 AM

Marco Amoedo ha opinado:

No te voy a mentir... no conozco a Zeno Roth pero una búsqueda en Google me llevo a su web, y al ver la foto de Zeno Roth supe que era ese (incluso detecté un cierto parecido con alguien jejeje :P)

El 25 traete algo de Zeno Roth para escuchar que tiene pinta que me puede interesar.

Un abrazo :)

# November 10, 2006 12:07 PM

Augusto Ruiz ha opinado:

Sobre los proyectos retro... Echa un vistazo al mail ;)

# November 10, 2006 1:12 PM

Rolando Miranda ha opinado:

Como se soluciona el problema para que los addind funcionen nuevamente????, se debe de quitar este dll del proyecto?????.... por favor denme una mano urgentemente..... gracias de antemano

# February 11, 2008 7:45 PM