Error con Visual Basic

Tengo un gran problema con una aplicación que desarrolle, esta hecha en visual basic 6.0 y mi sistema operativo en windows xp, al crear el programa de instalación todo va bien, pero cuando instalo en otra maquina (que también tiene windows xp) al iniciar el programa me da un error que dice "La clase no admite automatización". Si instalo el programa en maquinas con windows 98 o 2000 funciona de maravilla, el problema es que la persona que va a usar la aplicación tiene windows xp. ¿Cómo puedo hacer para arreglar esto?

1 Respuesta

Respuesta
1
Si tienes un problema de instanciacion (que es más o menos lo que te dice el error), es que te ha faltado algo que instalar en la instalación.
Algunos paquetes de instalación no pueden poner todas las referencias que hay en tu proyecto por temas técnicos, por lo que te suele tocar a ti añadir los componentes manualmente (lo digo por mi experiencia con el InstallShield).
La referencia más habitual que falta en una instalación es la de ADO: comprueba tu version de "Microsoft ActiveX Data Access" e instálala en la maquina XP donde quieres que funcione tu app.
Si aun así no se soluciona el problema, escríbeme una lista con las referencias de tu proyecto y miro que te puede pasar.
Hola, te explico, yo cree mi instalador con el InstallShield y le cree todas las referencias posibles a cada uno de los componentes, incluyendo la del ADO, sin embargo como te explique el proyecto funciona bien en otras máquinas que no tengan instalado xp (aun cuando el proyecto lo desarrolle en mi pc que si tiene windows xp). Aun así te muestro a continuación cuales son las referencias activas:
OLE automation
Microsoft ActiveX Data Objects 2.5
Microsoft Excel Object Library
Microsoft Data Formatting Object
Microsoft DAO 3.6 Object
Microsoft Data Binding Collection
Para generar los paquetes de instalación yo no uso el paquete de instalación estándar de visual basic, sino el InstallShield, por donde todas las referencias deben ser activadas por mi.
Espero que me puedas ayudar
Gracias
Hola, todas las maquinas donde se ha instalado la aplicación, poseen office 97, la version con la que yo trabaje es office xp, pero esto no es problema puesto que ya te dije que en maquinas cuyo sistema operativo es 98 o 2000 funciona perfectamente. De igual forma los objetos que me comentas (MDAC 2.5 y DAO 3.6) ya fueron incluidos en la instalación. Sigo sin entender por que en cualquier maquina con windows xp (así tenga todos los componentes instalados, incluyendo office) la aplicación no sirve y si funciona perfectamente en otro sistema operativo... Gracias por tu tiempo, escríbeme si consigues la solución a mi problema...
Perfecto, vamos a ver, en los componentes del proyecto de instalación debes tener los objetos del installshield del MDAC 2.5 y DAO 3.6.
El resto son referencias a dll que se deben introducir por defecto, salvo el Excel.
El objeto Excel solo puede utilizarse si en la maquina donde vas a ejecutar la aplicación tiene instalado el Excel (y con una version compatible, es decir, igual o inferior a la que tengas en la maquina en que has generado el ejecutable).
Como Excel es una aplicación office independiente, microsoft no distribuye paquetes para poder utilizar sus librerías sin que tengas toda la aplicación instalada.
Lo más seguro es que el problema te venga por ahí.
Prueba a instalar el Excel en la maquina donde no te funciona y me comentas como te va.
Jolín, y yo que pensaba que lo tenia...
Te recomiendo lo de siempre en el mundo de la informática: probar todos los casos posibles.
Hay un programa que no se si habrás oído hablar de el, es el vmware (http://www.vmware.com/). Te permite hacer una maquina virtual en tu ordenador. En dicha maquina virtual puedes instalar el sistema operativo que quieras (por supuesto, en tu caso el XP) y hacer todas las pruebas de instalación que quieras (después de instalar el s.o. haz una copia del sistema ya instalado, de tal maneras que puedas substituirlo para tener siempre el s.o. limpio).
Intenta sacar msgbox antes de la instanciacion de cualquier cosa que tengas en tu aplicación, porque parece obvio que el problema esta en alguna clase externa que no existe en la maquina del cliente.
Si aun así no ves nada, intenta instalar el visual basic para ver si el problema esta en alguna referencia implícita del lenguaje.
Es cuestión de ir acotando el error hasta que se pueda resolver o concretar.
Si consigues especificar algo más con las pruebas ya me dices algo. Si no me temo que no puedo ofercerte más ayuda.
Lo siento. :(

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas