Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: k_arlytos en Junio 09, 2014, 03:51:43 am
-
tengo una duda en mi sistena yo estoy usando los controles y referencias de adodb.recordset de vb6.0 y los controles datagrid, flexgrid, etc
la duda es esta; si la llevo a otra pc donde no han instalado nunca el vb6.0 entonces ejecuto el
compilado de mi sistema, puede ocurrir algun error? por los controles que esta usando en mi sistema pero que no esta en la
maquina donde la estoy ejecutando al igual con las referencias?
y si fuera a si que es lo que tengo que hacer para que mi compilado corra en otras maquina donde nunca han instalado el vb6.0
acaso debo de meter los controles(*.ocx) y referencias(*.dll) que estoy usando en la carpeta del compilado? o hay otra forma de evitar esto?
eh visto que algunos proyectos de leandro tiene esto(MSSCCPRJ.SCC) que eso, es para que corra el sistema en cualquier pc?
-
Hola.
Mi experiencia (poca, por cierto) es que habiendo puesto solo el ejecutable en un pc virgen de VB la cosa no funciona. Empezó a pedirme archivos, que son los que usa VB (ahora no recuerdo cuáles son). Poniendo esos archivos en la carpeta de sistema ("system32" en XP, por ejemplo) y los ocx correspondientes (incluso, a veces hasta sin registrarlos), funcionó perfectamente. Esto me pasó muchas veces.
De todas maneras, lo mejor para mí es crear un instalador que haga todo lo necesario para que corra la aplicación sin inconvenientes. Esto es porque no conozco otra forma de hacer que todo lo necesario pueda ir en el ejecutable de mi aplicación.
Seguramente los que saben (los de siempre jeje) te van a dar alguna solución.
Saludos.
Jerónimo
-
Hola @k_arlytos, fijate si podés generar el instalador de tu proyecto, desde el "Asistente de empaquetado y Distribución" que trae por defecto el Visual 6... Cuando lo hagas, te compila también absolutamente TODOS los componentes, archivos, ocx, dll, librerías y dependencias que necesitaría tu proyecto. Ojo! no digo que utilices ese instalador, es mas, te recomendaría que utilices "INNO SETUP", pero para que sepas y ubiques exactamente QUÉ archivos tenés que registrar en la pc cliente, con esta opción sería mas que suficiente.
-
Por supuesto amigo que no andará si falta alguna dll ocx u otro archivo que utilice tu programa. Como dice Geronimo lo mejor es crear un instalador y listo.
Ahi comienza otra discucion cual utilzar.
En mi caso utilizo SetupFactory que tiene una funcion que le indicas cual es el proyecto de Visual del que queres crear el instalador y te extrae todas las dependencias solo.
Exitos
-
Hola, me gustaría si alguien me puede aclarar lo de el adodb.recordset (hablando de una PC virgen, sin el Oficce), por los controles datagrid, flexgrid, etc, si, son necesarios, ya que no vienen por defecto con windows. Ahora un ejecutable de vb si ningún control extra si debería correr bien en cualquier pc con windows (por lo general todas las verciones de windows tienen las vb6 runtime, por ese motivo me gusta trabajar con usercontrols y evitar los ocx o dll, sobre todos si estos hay que registrarlos.
-
En una pc virgen solo se puede ejecutar sin problemas programas que hallamos hecho con puros controles intrínsecos, y la verdad no he probado si las referencias del ADODB (para conexion a datos) ya viene con windows, me parece que no, que si hay que registrarlas pero no puedo asegurarlo porque siempre de plano que llego a una PC le instalo mi programa Bautizo, un programa que no tiene nada mas que el registro de cuanto ocx y dll que uso.
-
En teoria las librerias de ADO se instalan con el MDAC (Microsoft Data Access Components), pero si no me equivoco ya viene integrado con Windows, segun la version de windows es el MDAC que incluye, por ej el XP SP 2 viene con el MDAC 2.8 ( o ADO 2.8 ) que contiene ADO, OleDB y ODCB, ojo ya no incluye los controladores para DAO y Jet
-
humm, pero yo recuerdo que una vez tenia un programita que solo se conectaba a una BD access y no se conecto, luego que instale el office ya corrio, pero no recuerdo la verdad.
Voy a ver si mas tarde pruebo en una maquina virtual limpiecita.
-
humm, pero yo recuerdo que una vez tenia un programita que solo se conectaba a una BD access y no se conecto, luego que instale el office ya corrio, pero no recuerdo la verdad.
Voy a ver si mas tarde pruebo en una maquina virtual limpiecita.
Habría que ver como abría la conexión, usaba ADO o DAO? Dao seguro que no funciona.
Miren lo que dice Microsoft, en caso de querer instalar MDAC en un XP Sp2:
Si instala la versión descargada de Microsoft Data Access Components (MDAC) versión 2.8 en un equipo basado en Microsoft Windows XP Service Pack 2, recibirá uno de los siguientes mensajes de error:
Esta versión es compatible con la versión que está intentando instalar.
Este programa no admite la instalación en este sistema operativo.
RTM de MDAC 2.8 no es compatible con esta versión de Windows. Actualmente, todas sus características forman parte de Windows.
-
PODRIA SER TAMBIEN CONTRUIR UN PEQUEÑO SISTEMA QUE REGISTRE ESOS OCX PARA NO TENER QUE HACER UN INSTALADOR Y EJECUTAR EL COMPILADO, ¿MALA O BUENA IDEA?
-
También se podría incorporar al Main de la aplicación, un proceso que registre las librerías en caso de que no estén.....
-
PODRIA SER TAMBIEN CONTRUIR UN PEQUEÑO SISTEMA QUE REGISTRE ESOS OCX PARA NO TENER QUE HACER UN INSTALADOR Y EJECUTAR EL COMPILADO, ¿MALA O BUENA IDEA?
Justamente el "pequeño sistema" que registre OCX es un instalador :)
-
Por que no metes tus dll y ocx a un archivo de recursos y verificas con tu ejecutable si están primero y despues los agregas desde tu exe y los registrias, todo en un solo ejecutable sin necesidad de hacer un instalador extra, algo así:
- Instalas tu Software
- El software tiene un módulo dentro de su interior que reconoce lo que hace falta
- El software consulta y copia del archivo de recursos y pega en el equipo
- El Software Registra la dll u ocx
- El software ase abre y se visualiza sin ningún problema
-
En teoria las librerias de ADO se instalan con el MDAC (Microsoft Data Access Components), pero si no me equivoco ya viene integrado con Windows, segun la version de windows es el MDAC que incluye, por ej el XP SP 2 viene con el MDAC 2.8 ( o ADO 2.8 ) que contiene ADO, OleDB y ODCB, ojo ya no incluye los controladores para DAO y Jet
Waldo casí estas en lo cierto pero (Microsoft Data Access Components) viene con el OFFICE no con el WINDOWS, en una maquina limpia si no tienes access como vas a tener el acceso a el si no lo necesitas.
PD. Se resuelve descargando el MDAC o el AccesRumTime de la versión que quieran en los dos viene el MDAC o como quieran.
-
En teoria las librerias de ADO se instalan con el MDAC (Microsoft Data Access Components), pero si no me equivoco ya viene integrado con Windows, segun la version de windows es el MDAC que incluye, por ej el XP SP 2 viene con el MDAC 2.8 ( o ADO 2.8 ) que contiene ADO, OleDB y ODCB, ojo ya no incluye los controladores para DAO y Jet
Waldo casí estas en lo cierto pero (Microsoft Data Access Components) viene con el OFFICE no con el WINDOWS, en una maquina limpia si no tienes access como vas a tener el acceso a el si no lo necesitas.
PD. Se resuelve descargando el MDAC o el AccesRumTime de la versión que quieran en los dos viene el MDAC o como quieran.
Hola amigo, puede ser, por eso puse "si no me equivoco" :) peero si mal no recuerdo, en una pc con win xp sp3, limpia, sin office, quise instalar el MDAC y no me dejo, porque dice que win ya lo tiene.
Si alguien tiene tiempo y ganas, estaria bueno probarlo
-
Todas pero todas las referencias que utilices con tus proyectos sean DLL o OCX deberias copiarlas en exactamente el mismo lugar donde vos las tenes en tu pc. o en el Path Raiz si no sabes cuales son las referencias osea los archivos aca te doy una pista para que te fijes...
https://www.dropbox.com/s/fdb9jyqirzk7so7/Componentes%20vb6%20ado.PNG
Fijate que abajo en amarillo da la URL del componente eso deberias copiarlo y pegarlo en la pc cliente exactamente en el mismo lugar o en el raiz vale la redundancia
-
También se podría incorporar al Main de la aplicación, un proceso que registre las librerías en caso de que no estén.....
Ojo, si tu app tiene como referencia a un OCX, no va a levantar ni siquiera el Main si no esta registrado el ocx. Y me refiero a "Referencia", lo cual es distinto que usar un control activex.
Por ejemplo ADODB es una referencia a esa libreria, y no es un control de usuario.
Por eso yo uso CreateObject cuando tengo que usar algo externo y no se si esta disponible.