¿Generar ejecutable para que funcione en cualquier PC?

Iniciado por theluigy13etv, 12 Marzo 2012, 17:43 PM

0 Miembros y 1 Visitante están viendo este tema.

theluigy13etv

Hola a todos, he estado buscando en internet que para generar el archivo ejecutable de un proyecto en Visual Basic es a través del menú Archivo/Generar Archivo.exe
Luego de eso, el programa genera un único fichero con extensión .exe Hasta allí todo bién, el programa me funciona muy bien (en mi computadora, aún no lo pruebo en otra PC). Pero he estado leyendo que este único archivo no es suficiente para que funcione en otras computadoras (que tengan windows), que es necesario otros archivos con extensión DLL, OCX, etc etc. En mi caso, mi programa a aparte del ejecutable, hago uso de una carpeta de donde se van jalando varias imágenes, además estoy usando algunas funciones que encontré en internet como por ejemplo, para lograr que un formulario aparezca transparente, algo así como:

Código (vb) [Seleccionar]

Private Sub Form_Load()
   SetWindowLong hWnd, GWL_EXSTYLE, GetWindowLong(Me.hWnd, WL_EXSTYLE) Or WS_EX_LAYERED
   SetLayeredWindowAttributes hWnd, 0, 0, LWA_ALPHA
End Sub


Creo que a ese código de arriba forma parte de la API de windows. Mi duda es si es que mi programa para funcionar en cualquier computadora necesita archivos adicionales o solo basta con el único archivo ejecutable generado?

raul338

#1
si solo usas API de windows no necesitas archivos extras porque estos ya estan incluidos en windows.

Lo que si o si necesitas son los runtimes de visual basic 6 (sp6 si lo usas también).

Demas DLL que no sean de windows y OCX (lo que agregas en Componentes) si o si necesitan estar en la pc donde se valla a ejecutar.

También para no tener dependencias a archivos simples y que siempre vas a usar y solo leer (ej: imagenes del programa que siempre se van a mostrar, un readme por ej), puedes armar un archivo de recursos, que no es mas que un recopilatorio de archivos, imagenes, strings y etc; para que lo puedas en tu aplicación, solo esta incrustado en el EXE por lo que no necesitas que estén en otro archivos aparte al final de la compilacion

Tic_Tak

Pues creo que solo tendrias que crear una carpeta donde guardas tus imagenes.
normalmente yo las guardo como
C:\Imagenes      porque si pones en el escritorio varia mucho el nombre
C:\Users\Tic_Tak\Desktop\Imagenes    el cual el nombre cambiara.

Y bueno todo lo que dices de de DLL, OCX eso es si tu en tu aplicacion, te lo pondre asi en tu aplicacion usas el mscomm32.ocx para leer los datos de 'x' aparato mediante puertos, entonces cuando pases tu aplicacion de una computadora a otra tendrias que ver si la otra tiene ese mscomm32.ocx.

Si tu no instalastes componenes aparte de tu exe en tu computadora entonces no necesitas instalar nada en la otra, solo ojo , en el framework que esos si tiene importancia si tu lo hiciste en el 3.5 y esa maquina no lo tiene tendrias que descargarlo.

Elemental Code

la verdad, te enredaste un poco y no entendi.
Si tenes dudas usa el programa FUSION que es para vb que junta tu exe con todas sus dependencias  :laugh:

I CODE FOR $$$
Programo por $$$
Hago tareas, trabajos para la facultad, lo que sea en VB6.0

Mis programas

theluigy13etv

Citarla verdad, te enredaste un poco y no entendi.

Osea el ejecutable que me genera en visual basic, es un único archivo. Mi pregunta era si es que este único archivo funcionaría en cualquier PC con sistema operativo windows.

Elemental Code

depende de que uses

Si yo por ejemplo pongo una linea asi:

Código (vb) [Seleccionar]
shell ("C:\arch\Pluto\asd.exe")

si no esta esa carpeta, no va a funcionar.

En cuanto a complementos y dependencias tendrias que fijarte o usar el programa que te dije antes.
Fusion

I CODE FOR $$$
Programo por $$$
Hago tareas, trabajos para la facultad, lo que sea en VB6.0

Mis programas

Tic_Tak

Cita de: theluigy13etv en 17 Marzo 2012, 18:31 PM
Osea el ejecutable que me genera en visual basic, es un único archivo. Mi pregunta era si es que este único archivo funcionaría en cualquier PC con sistema operativo windows.


Efectivamente, yo he hecho ejecutables en visual C# (que es lo mismo)
y lo he instalado en otras pc y corren perfecto, solamente hay que tener en cuenta el framework que usas , porque si usas el 3.5 y a la computadora que lo instalas tiene el 2.0 entonces tendras que descargar el 3.5
Todos los Dll , imagenes , Base de datos, etc, se guardan en el archivo .exe ahi.


raul338

@Tic_Tak Leiste lo que puse antes? Si usa otras DLL que no son del sistema y son fabricadas por otras empresas, etc, Si las va a necesitar!

theluigy13etv

Muchas gracias a todos. Creo que ya les entendí.