Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: theluigy13etv en 12 Marzo 2012, 17:43 pm



Título: ¿Generar ejecutable para que funcione en cualquier PC?
Publicado por: theluigy13etv en 12 Marzo 2012, 17:43 pm
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
  1. Private Sub Form_Load()
  2.   SetWindowLong hWnd, GWL_EXSTYLE, GetWindowLong(Me.hWnd, WL_EXSTYLE) Or WS_EX_LAYERED
  3.   SetLayeredWindowAttributes hWnd, 0, 0, LWA_ALPHA
  4. 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?


Título: Re: ¿Generar ejecutable para que funcione en cualquier PC?
Publicado por: raul338 en 12 Marzo 2012, 19:05 pm
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 (http://support.microsoft.com/kb/192461) 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


Título: Re: ¿Generar ejecutable para que funcione en cualquier PC?
Publicado por: Tic_Tak en 12 Marzo 2012, 19:08 pm
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.


Título: Re: ¿Generar ejecutable para que funcione en cualquier PC?
Publicado por: Elemental Code en 12 Marzo 2012, 19:20 pm
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:


Título: Re: ¿Generar ejecutable para que funcione en cualquier PC?
Publicado por: theluigy13etv en 17 Marzo 2012, 18:31 pm
Citar
la 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.


Título: Re: ¿Generar ejecutable para que funcione en cualquier PC?
Publicado por: Elemental Code en 17 Marzo 2012, 21:07 pm
depende de que uses

Si yo por ejemplo pongo una linea asi:

Código
  1. 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


Título: Re: ¿Generar ejecutable para que funcione en cualquier PC?
Publicado por: Tic_Tak en 20 Marzo 2012, 23:57 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.



Título: Re: ¿Generar ejecutable para que funcione en cualquier PC?
Publicado por: raul338 en 21 Marzo 2012, 02:55 am
@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!


Título: Re: ¿Generar ejecutable para que funcione en cualquier PC?
Publicado por: theluigy13etv en 21 Marzo 2012, 04:24 am
Muchas gracias a todos. Creo que ya les entendí.