DLLs en Producción, AppDomain

12/04/2005 - 21:28 por Pedrito Peña | Informe spam
Hola,

hay una cuestión que me ronda la cabeza, supongo será
simple.

Es este caso, yo estoy desarrollando en mi PC (con VS,
winXP y demás), una app WinForm, con una serie de
referencias a mis librerias de clases y alguna a un COM de
Servidor ZFAX, lo cual me genera un Interop.xxx.dll.

Genero un EXE, y aparecen también las librerias dll (.NET)
ylas Interop.xxx.dll (los "wrapper" o como se diga, de
COM).

Ahora voy e instalo la aplicación en otro PC, equipo
destino.
La cuestión es que si no está instalado el COM en PC
destino, la Interop.xxx.dll no servirá de nada, y al
llegar a la línea de código que utiliza el COM va a cascar.

(nota: Este caso Žpasaría igual si utilizamos interop.xxx
de word, excel, etc y no estuviera office instalado en PC
destino. Podría complicarse con versiones, si estuviera un
office que no es el mismo que hemos utilizado en
desarrollo.)


Se puede detectar de alguna manera que la Interop.xxx.dll
va a funcionar, es decir, que el COM está instalado
correctamente ?.

Oí algo de App Domain, AppContext y cosas así...sirve de
algo eso ?


Un saludo.
 

Leer las respuestas

#1 Miguel Angel Campos
12/04/2005 - 21:45 | Informe spam
Lo que puedes hacer es colocar las llamadas a ese componente COM en un
bloque try/catch y capturar la exception que se poduce si no existe el
componente instalado.
Con respecto a AppDomain no se me ocurre que tenga nada de ver con tu
problemas, al igual que Context.
Si el componente que estas utilizando es de un tercero, te recomiendo que
primero le preguntes al fabricante si tiene generada la PIA (Primary Interop
Assemblies) para ese componente, así no tienes que crear tu mismo el
wrapper.

Un Saludo,

Miguel Angel Campos
MCAD.NET

"Pedrito Peña" escribió en el mensaje
news:0bc101c53f95$dba4e120$
Hola,

hay una cuestión que me ronda la cabeza, supongo será
simple.

Es este caso, yo estoy desarrollando en mi PC (con VS,
winXP y demás), una app WinForm, con una serie de
referencias a mis librerias de clases y alguna a un COM de
Servidor ZFAX, lo cual me genera un Interop.xxx.dll.

Genero un EXE, y aparecen también las librerias dll (.NET)
ylas Interop.xxx.dll (los "wrapper" o como se diga, de
COM).

Ahora voy e instalo la aplicación en otro PC, equipo
destino.
La cuestión es que si no está instalado el COM en PC
destino, la Interop.xxx.dll no servirá de nada, y al
llegar a la línea de código que utiliza el COM va a cascar.

(nota: Este caso ´pasaría igual si utilizamos interop.xxx
de word, excel, etc y no estuviera office instalado en PC
destino. Podría complicarse con versiones, si estuviera un
office que no es el mismo que hemos utilizado en
desarrollo.)


Se puede detectar de alguna manera que la Interop.xxx.dll
va a funcionar, es decir, que el COM está instalado
correctamente ?.

Oí algo de App Domain, AppContext y cosas así...sirve de
algo eso ?


Un saludo.

Preguntas similares