Programa para instalar otros programas

Antes de ir al Soporte consultame aquí, gracias

Programa para instalar otros programas

Notapor wbueso » 31 Dic 2013, 01:25

Soy nuevo con esto del AutoIt, pero he dado mis primeros pasos y estoy muy emocionado, lo que estoy tratando de hacer (poniendo en practica los pocos conocimientos que he adquirido) es un programa como el WPI (Windows Post Install) que me permita con un Checkbox elegir el o los programas que instalare y que se instalen uno por uno, la verdad es que estoy muy confundido pues solo he logrado que mi ejecute un programa, si selecciono dos programas se ejecutan los dos al mismo tiempo, solo quiero que alguien me de las bases o una idea de como hacerlo, ya tengo la GUI creada con un boton de instalar, otro de salir y otro de desactivar los checkbox, quisiera agregar programas por default y que esten arreglados por categoria, y que se pueda elegir que programa se instalara primero.
Casi no puedo dormir pensando en eso y se me ocurren algunas ideas pero al llevarlas a la practica no me funcionan.
estoy aprendiendo pero ya puedo crear scripts para instalar programas desatendidos con serial y que se configuren automaticamente.
Doy gracias de antemano por la ayuda o la informacion que me puedan ofrecer (quiero las bases para poder practicar por eso pido que no me den el codigo entero de algun programa como el que les comento)

Este es el codigo que tengo, solo les pongo doy dos botones y dos checkbox para que no sea tan grande el codigo, hasta ahorita no se como funcionan los array.

Código: Seleccionar todo
#include <File.au3>
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
GUICreate("Agregar Programas",915,500,50,100)
$BtnVlvr = GUICtrlCreateButton("Volver al Instalador",5,405,110,20)
$BtnAct = GUICtrlCreateButton("Actualizar",5,425,110,20)
$BtnSlr = GUICtrlCreateButton("Salir",5,445,110,20)

GuiSetState(@SW_SHOW)
$BtnAdd0 = GUICtrlCreateButton("Agregar",125,35,45,20)
$BtnAdd1 = GUICtrlCreateButton("Agregar",125,55,45,20)

$ChckBx0 = GUICtrlCreateLabel(FileReadLine(@ScriptDir&"\Programas.txt",1),175,40,140,20)
$ChckBx1 = GUICtrlCreateLabel(FileReadLine(@ScriptDir&"\Programas.txt",4),175,60,140,20)

GUICtrlCreateGroup("Configuraciónes",120,20,190,220)

Func Actlzr()
     WinClose("Agregar Programas","")
     ShellExecute(@ScriptDir&"\Agregar Programas.exe")
   EndFunc

   Func Add0()
       $FlRut0 = FileOpenDialog("Seleccione un Ejecutable", @DesktopCommonDir, "Ejecutables (*.exe;*.bat;*.com;*.cmd)", 1 + 4 )
       If $FlRut0 = "" Then
       MsgBox(0,"Error","Debe seleccionar un Archivo",5)
       Else
       $FlName0 = InputBox("Programa Agregado","Usted Selecciono el Siguiente Programa"&$FlRut0&@CRLF&@CRLF&"Escriba el Nombre del Programa")
     If $FlName0 = "" Then
       MsgBox(0,"Error","Debe Escribir un Nombre para el Archivo")
       else
         $Dflt0 = MsgBox(4,"Listo","Desea que el programa se instale por default")
     If $Dflt0 = 6 Then
       $Chckd0 = 1
     Else
       $Chckd0 = 0
     EndIf
       $FlOpn0 = FileOpen("Programas.txt")
       _FileWriteToLine(@ScriptDir&"\Programas.txt",1,$FlName0,1)
       _FileWriteToLine(@ScriptDir&"\Programas.txt",2,$FlRut0,1)
       _FileWriteToLine(@ScriptDir&"\Programas.txt",3,$Chckd0,1)
       FileClose($FlOpn0)
       Call("Actlzr")
     EndIf
     EndIf
   EndFunc

While 1
   $msg = GUIGetMsg()

   Switch 1

   Case $msg = $BtnAdd0
       Call("Add0")

   Case $msg = $BtnVlvr
   WinClose("Agregar Programas","")
   ShellExecute(@ScriptDir&"\Agregar Programas.exe")

Case $msg = $BtnAct
      Call("Actlzr")

Case $msg = $BtnSlr
         Exit
   Case $msg = $GUI_EVENT_CLOSE
         Exit
EndSwitch

WEnd
Última edición por wbueso el 31 Ene 2014, 00:13, editado 2 veces en total
wbueso
Aprendiz de Mago
 
Mensajes: 60
Registrado: 31 Dic 2013, 01:02

Re: Programa para instalar otros programas

Notapor BasicOs » 02 Ene 2014, 18:45

Hola Feliz Año 2014 y bienvenido,

Sobre:
"Se ejecutan los dos al mismo tiempo, solo quiero que alguien me de las bases o una idea de como hacerlo, "

Puedes hacer un array o variable que después que usuario elija lo que quiere instalar, entonces guarde la lista de ejecuciones por el orden que quieras. Así esta variable (por ejemplo), va organizando el orden de ejecución. Para saber cuando se ha acabado una ejecución puedes usar alguna señal del instalador donde (por ejemplo), esté creado un fichero (if fileexist...) o bien esperar la pantalla final que ponga un título, de Programa instalado correctamente con WinWait() y otras funciones de que exista una ventana.

Además puedes cargar el programa en el inicio si despues de cada instalación se reinicia el pc, que puede ser la señal para la siguiente instalación, (guardando en fichero esta variable FileWriteIni().

Bueno, si quieres puedes ir mostrando lo que haces y lo vemos.
Hay un programa genérico aunque no está actualizado, pero puedes coger todo o partes del código para ejecutar una serie de comandos. Busca AUTOEXECUTE en el foro,

Suerte
Salu22:)
Avatar de Usuario
BasicOs
Site Admin
 
Mensajes: 2053
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)


Volver a Tutorial leer primero - Documentación

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados

cron