Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: themonsterbest en 4 Septiembre 2011, 23:04 pm



Título: Como hacer tu propio instalador (Setup.exe) en vb 6 y 2008
Publicado por: themonsterbest en 4 Septiembre 2011, 23:04 pm
Bienvenidos...

En este post les doy los códigos y enseño como hacer un instalador sencillo en visual basic 6.0 o visual basic 2008, ya que e visto tantas personas preguntando la misma cosa ¿Como hago un instalador en Visual Basic?

bueno esto yo me lo pille solo (si es repost avisen)


Primero con el visual basic 2008:

Necesitamos 3 forms

form1: 2 botones (Siguiente, Cancelar)

código del botón Siguiente:

Código:
On Error GoTo labela
        GetAttr( "Dirección de tu programa" )
        If MsgBox( "El Programa se encuentra instalado. Desea reinstalarlo?", vbInformation + vbYesNo, "Setup Info" ) = vbYes Then
            Form2.Show()
            Me.Hide()
        Else
            MsgBox( "Se a cancelado la instalacion", vbInformation, "Setup end" )
            End
        End If
        Exit Sub
labela:
        Form2.Show()
        Me.Hide()
En donde dice "GetAttr("Dirección de tu programa" ) , en vez de Dirección de tu programa ponle la dirección de tu programa pero no le quiten las comillas
(recomiendo que no le pongan en disco local c: ya que yo no pude hacerlo asi, por que a la hora de instalar me manda un error)

Código Botón Cancelar:

Código:
If MsgBox( "Esta seguro que desea cancelar la instalacion?", vbInformation + vbYesNo, "Instalacion de Nombre de Tu Programa" ) = vbYes Then
End
Else
End If


Form2: 2 botones (Instalar y Cancelar)

Código Botón Instalar:

Código:
FileCopy( "Nombre Completo del Programa", "D:Nombre Completo del Programa" )

en donde dise Nombre Completo del Programa ponle el nombre completo de tu programa mas la extención. Ej.: "MyPrograma.exe"
y donde dice "D:Nombre Completo del Programa" ponganle la dirección de donde va a instalar o compiar el programa
al igual que al anterior ponganle el nombre completo del programa mas extensión, y la D: se le puede cambiar con la dirección del programa,
pero como antes mencione, no le pongan en el disco C ya que a veces producen errores

este codigo se alarga dependiendo de los archivos ejemplo:

Código:
FileCopy( "Nombre Completo del Programa", "D:Nombre Completo del Programa" )
FileCopy( "Otros archivos mas extensión", "D:Otros archivos mas extensión" )

al final de los códigos le ponemos el siguiente código:
Código:
me.hide
form2.show
y si quieren que el cursor (flechita del mouse) cambie al modo de cargando o algo por el estilo el siguiente codigo ensima del código anterior

Código:
me.cursor = 11

y el codigo terminaria siendo asi:
Código:
me.cursor = 11
FileCopy( "Nombre Completo del Programa", "D:Nombre Completo del Programa" )
FileCopy( "Otros archivos mas extensión", "D:Otros archivos mas extensión" )
me.hide
form2.show

Código Botón Cancelar:

Código:
If MsgBox( "Esta seguro que desea cancelar la instalacion?", vbInformation + vbYesNo, "Instalacion de Nombre de Tu Programa" ) = vbYes Then
End
Else
End If

Form3: 1 Botón (Salir), 1 CheckedBox(Abrir el Programa al Salir)

botón salir:

Código:
If CheckBox1.CheckState = CheckState.Checked Then
            Shell("Dirección en donde se instalo el programa mas su extensión y nombre" )
            Me.Close()
        Else
            Me.Close()
        End If

Para generar su proyecto en los menus busca "Generar" y darle click en Generar "Mas nombre de tu proyecto"
bueno una vez que generamos el proyecto vamos a la carpeta de release y copiamos los archivos del instalador y lo pegamos junto a la carpeta
de los archivos a instalar






ahora pasamos al visual basic 6

3 forms

form1: 2 comandbuttons o botones (siguiente y cancelar)

código boton siguiente:

Citar
On Error GoTo labela
a  = GetAttr( "Dirección de tu programa" )
        If MsgBox( "El Programa se encuentra instalado. Desea reinstalarlo?", vbInformation + vbYesNo, "Setup Info" ) = vbYes Then
Form2.Show
          Unload Me
        Else
           a = MsgBox( "Se a cancelado la instalacion", vbInformation, "Setup end" )
            End
        End If
        Exit Sub
labela:
        Form2.Show
        Unload Me


En donde dice "GetAttr("Dirección de tu programa" ), en vez de Dirección de tu programa ponle la dirección de tu programa pero no le quiten las comillas
este si acepta guardar los archivos en disco local c: y en cualquier carpeta de ella menos por supuesto los que ni siquiera el usuario tiene permiso a entrar

Botón Cancelar:

Código:
If MsgBox( "Esta seguro que desea cancelar la instalacion?", vbInformation + vbYesNo, "Instalacion de Nombre de Tu Programa" ) = vbYes Then
End
Else
End If

Form2: 2 command (Instalar y Cancelar)

Botón Instalar:

Código:
 Me.MousePointer = 11
            On Error Resume Next
            FileCopy App.Path + "Nombre de Tu programa con extención", "Dirección mas Nombre de Tu programa con extención"
 Unload Me
            Form3.Show

En donde dice "Nombre de Tu programa con extención" ingresa el nombre de tu programa mas extenció. Ej.: MiPrograma.exe
y donde dice "Dirección mas Nombre de Tu programa con extención" ponle la dirección de tu programa mas su nombre ej.: "C : Program FilesMiPrograma.exe"
y en ninguna de las dos quiten las comillas ya que asi el código no funciona.
y como el anterior este tambien se puede duplicar con la cantidad de archivos ej.:

Código:
 Me.MousePointer = 11
            On Error Resume Next
            FileCopy App.Path + "Nombre de Tu programa con extención", "Dirección mas Nombre de Tu programa con extención"
            FileCopy App.Path + "Otros Archivos", "Dirección mas Otros Archivos con extención"
Unload Me
            Form3.Show

botón cancelar:

Código:
If MsgBox( "Esta seguro que desea cancelar la instalacion?", vbInformation + vbYesNo, "Instalacion de Nombre de Tu Programa" ) = vbYes Then
End
Else
End If

Y por último el Form3 : 1 comand (Salir) y un CheckBox(Abrir el Programa al Salir)

Código del Botón Salir:

Código:
If Check1.Value = Checked Then
            Shell("Dirección en donde se instalo el programa mas su extensión y nombre" )
Unload Me
Else
Unload Me
End If

Para guardar en un .exe (ejecutable) van a archivo y guardar o generar "mas el nombre de su proyecto o programa"
Esto va lo mismo lo generan y guardan en la carpeta de donde quedan los archivos a instalar



Bueno Ahora a por un truquillo Para sus programas a instalar.
este código sirve para que cuando el programa no este instalado salte un error y que diga que el programa no esta instalado

Código para Vb 2008 (esto deben pegarlo en el codigo del form o class form ) :

Código:
 On Error GoTo labela
        GetAttr( "Dirección de tu programa" )
        Me.Show()
        Exit Sub
labela:
        MsgBox("El Programa no se encuentra Instalado en su Sistema", vbCritical, "Error" )
        End


Y para el VB 6 (esto lo pegan en el codigo del form o ensima del codigo del form ) :

Código:
On Error GoTo labela
      a = GetAttr( "Dirección de tu programa" )
   Me.Show
              Exit Sub
labela:
        a = MsgBox( "El Programa no se encuentra Instalado en su Sistema", vbCritical, "Error" )
        End


Bueno espero haberles servido en algo


Perdonen por que el post no este tan decorado es que lo hice primero en un bloc de notas

---------------------------------------------------------------------------------------------------

Fuente: http://www.taringa.net/posts/hazlo-tu-mismo/10598125/Como-hacer-tu-propio-instalador-_Setup_exe_-en-vb-6-y-2008.html (http://www.taringa.net/posts/hazlo-tu-mismo/10598125/Como-hacer-tu-propio-instalador-_Setup_exe_-en-vb-6-y-2008.html)


Título: Re: Como hacer tu propio instalador (Setup.exe) en vb 6 y 2008
Publicado por: raul338 en 5 Septiembre 2011, 01:07 am
La parte de .net 2008 va acà (http://foro.elhacker.net/net-b62.0/).

Ademas, el instalador en ambos casos no iniciar en una pc con Windows XP "limpio", porque

En VB6, no tendra los runtimes (y otras dependencias)

En .Net, no tendra el .net framework instalado :)


Título: Re: Como hacer tu propio instalador (Setup.exe) en vb 6 y 2008
Publicado por: Yoghurt en 22 Septiembre 2011, 06:25 am
Oye, no será eso un poquitín inusual... digo, tienes razon con hacer algo personal y que no será util en todos los PC's pues necesitan librerías del VB, yo uso el InnoSetup, es genial y gratuito :) ademas tengo mi propio "instalador" podés mirarlo en https://skydrive.live.com/?cid=49ed785dcb63f232&sc=documents&uc=1&id=49ED785DCB63F232%21221 (https://skydrive.live.com/?cid=49ed785dcb63f232&sc=documents&uc=1&id=49ED785DCB63F232%21221) se llama frmInstaller. Saludos y buen aporte :D


P.D.: Aproveché de promocionar mi codigo jejjee lo siento.