Menubar

domingo, 5 de junio de 2016

¿Cómo crear un instalador de programas usando unicamente un archivo batch (.bat)?

Archivo .bat
  Instalar un programa en una pc no debería ser un problema (al menos en teoría). Afortunadamente la teoría de los programas incluyen una rutina para instalarse a si mismo, pero si no, este útil código fuente puede ayudarte.


  Una manera simple de instalar un programa en recurrir a una rutina batch, para ello comparto este código fuente de un instalador real, pueden probarlo y mejorarlo a su gusto. Para ello vamos a instalar el contenido de un archivo .7z llamado "oficios", el cual contiene todo el programa a instalar en el equipo final.

  El programa a instalar se encuentra en una carpeta compartida que pueden ver todos los equipos, para pruebas yo he usado la carpeta "D:\Datos_Perfil\97016178\Desktop\escritorio datos\SharpDevelop Projects\instaladores\oficios", pero bien puede usarse cualquiera, la la única condición es que pueda ser accedida por el archivo BAT. Del mismo modo debemos crear en la carpeta origen del instalador la subcarpeta plugins con el siguiente contenido:
  • 7-Zip
  • shortcut.vbs
Donde 7-Zip es la versión portable de 7-Zip http://portableapps.com/apps/utilities/7-zip_portable
Y shortcut.vbs un script adicional que tambien se anexa en este tema.

Contenido del archivo setup.bat

Rem Thanks to 7-Zip documentation
Rem Thanks to https://stackoverflow.com/questions/7170683/copy-all-files-and-folders-from-one-drive-to-another-drive-using-dos-command-pr
cls
cd c:\
c:
mkdir systems
cd systems
mkdir oficios
cd oficios
rmdir prod /S /Q
rmdir loader /S /Q
mkdir prod
mkdir loader
xcopy "D:\Datos_Perfil\97016178\Desktop\escritorio datos\SharpDevelop Projects\instaladores\oficios\*.*" "c:\systems\oficios\loader" /h/i/c/k/e/r/y
cd prod
"c:\systems\oficios\loader\plugins\7-zip\7z.exe" x -t7z "c:\systems\oficios\loader\oficios.7z"
"c:\systems\oficios\loader\plugins\shortcut.vbs"
del c:\systems\oficios\loader\oficios.7z /F /Q
del c:\systems\oficios\loader\setup.bat /F /Q
del c:\systems\oficios\loader\plugins\shortcut.vbs /F /Q
exit

Contenido del archivo shortcut.vbs

'#### Purpose: Create a easy installer
'#### Created date: 11/04/2016
'#### Created by username: Juan Manuel Mar Hdz.
'#### Last modified date: 11/04/2016
'#### Last modified username: Juan Manuel Mar Hdz.
'#### Thanks to http://ss64.com/vb/shortcut.html
'#### Thanks to http://ss64.com/vb/special.html
'#### Thanks to http://javascripts.astalaweb.com/Ayuda/html/vsconmsgbox.asp
'#### Thanks to https://stackoverflow.com/questions/6489941/error-in-on-error-statement


Dim desktop



On Error Resume Next



  Err.Clear



  Set objShell = WScript.CreateObject("WScript.Shell")

  desktop = objShell.SpecialFolders("Desktop")
  Set lnk = objShell.CreateShortcut(Trim(desktop) & "\oficios.lnk")


  lnk.TargetPath = "c:\systems\oficios\prod\oficios.exe"

  lnk.Arguments = ""
  lnk.Description = ""
  lnk.IconLocation = "c:\systems\oficios\prod\oficios.exe, 0"
  lnk.WindowStyle = "1"
  lnk.Save


  Set lnk = Nothing

  
  If Err.Number = 0 Then
    MsgBox "¡Instalación exitosa!", 64, "Instalador" 'Information
  Else
    MsgBox " Ocurrió el error '" & Err.Description & " al crear el acceso directo para la aplicación...", 16, "Instalador" 'Critical
  End If

Como pueden ver, el archivo .bat crea en la máquina destino una carpeta donde va a contenerse el programa final, copia todo el contenido de la carpeta origen, descomprime el archivo .7z (mediante 7-Zip), arranca el archivo shortcut.vbs para crear un acceso directo en el escritorio hacia el programa final, borra los archivos extra y listo.

Procedencia de las imágenes:
File: Icono archivo BAT
http://4.bp.blogspot.com/-sLJMPYXkDyY/VdCdGSdRlNI/AAAAAAAAAsk/GtBAKlwzQWQ/s1600/bat.png

¿Te gustó este post?, entonces si lo deseas puedes apoyarnos para continuar con nuestra labor, gracias.


publicidad:
Compartir:
Temas relacionados:
Caritas para las respuestas:
Escriba el código en la respuesta para insertar divertidas caritas en sus respuestas.
:) :( ;) :D :-/ :x :P :-* =(( :-O X( :7 B-) #:-S :(( :)) =)) :-B :-c :)] ~X( :-h I-) =D7 @-) :-w 7:P 2):) :!! \m/ :-q :-bd ^#(^

4 comentarios:

  1. ¡Muchas gracias por el tutorial! me ha servido ya que no tenía claro como poder crearlos.

    ResponderEliminar
    Respuestas
    1. que bueno que te sirvió, te invitamos a seguir visitando nuestro blog.

      Eliminar
  2. Una forma muy cómoda, es con los SFX de Winrar, que te permiten realizar todo el proceso de forma automatizada.

    El módulo SFX no oficial de 7-Zip, es muy interesante también: http://www.7zsfx.info/en/

    ResponderEliminar
    Respuestas
    1. jejeje, si, winrar me fué muy útil para ello ;)

      Eliminar

Votar por nosotros en Hispatop
Votar por nosotros en La Blogoteca
Juegos Online Gratis - TriJuegos.com
Comunidad Kynamio