Página 1 de 1

INSTALACION DE DESATENDIDOS EN OTRO PC

Publicado: 27 Abr 2015, 07:10
por xmaurox
Bueno tengo un gran problema, resulta que todos los programas que uso frecuentemente los he desatendido y todo ha sido un éxito. En mi computador siempre andan de lo mas bien, obviamente borrando todos los rastros del programa antes de probar el desatendido.
El tema es que ahora quiero instalar los programas en otro pc y no se logran instalar :smt021 no se si es porque necesito tener instalado el autoit tmb en este otro pc o que será lo que no me permite llevar a cabo la instalación. he probado ya instalarlos en otros 2 pc y nada... queda eternamente en espera a la instalación. he revisado tmb que correspondan a la misma cantidad de bits y sistemas operativos y nada de nada :smt013
si alguien me diera una orientación en el tema se lo agradecería.

PD: No me sirve probar instalar el autoit en cada pc que quiera hacer la instalación porque no tendría sentido hacerlo para todos los compu que quiera instalarle mis programas.
los programas los ejecuto con winrar como SFX, etc, etc. :smt010

Re: INSTALACION DE DESATENDIDOS EN OTRO PC

Publicado: 27 Abr 2015, 17:59
por Chefito
Cualquier script compilado de autoit (o sea, que has creado el archivo .exe) es independiente, no necesita tener instalado el autoit.
Si te falla en otro ordenador es porque casi seguro has utilizado posicionamientos de ratón, clicks, etc para continuar con las instalaciones desatendidas.....pienso yo :smt001 . Si es así, puede que los posicionamientos no coincidan con los de tu ordenador, y por tanto el script no hará nada. Si no es así, seguro que el problema está en otra parte del código. Para eso tendrías que ir analizando y depurando el código paso a paso para ver donde puede estar el error :smt024 .

Saludos.

Re: INSTALACION DE DESATENDIDOS EN OTRO PC

Publicado: 28 Abr 2015, 11:42
por xmaurox
compa gracias por responder!!
mira despues de tu comentario revise el script por si tenía algún directorio único del pc o algo extraño pero la verdad no encuentro nada, no utilizo el mouse para dar click por el mismo error que mensionas tu acerca de las distintas resoluciones de pantalla entre pc. solo con comandos por teclado.
la verdad es k ni siquiera logra entrar al scipt cuando lo ejecuto, me doy cuenta porque el primer comando que indico "Blockinput(1)" no me bloquea ni el mouse ni nada :smt011 y no arranca nada del programa :smt013
No sé realmente cual el el problema pero aquí dejo el script, esperando me puedan ayudar. Lo ultimo que se me ocurrío fue pensar que estaba malo el archivo exe que cree para dejar ambos archivos en uno solo con el rar.... por lo tanto tome los dos archivos originales. el exe creado al compilar con autoit y el instalador del programa original, pero tampoco funcionó :smt010

GRACIAS A LOS QUE ME PUEDAN AYUDAR...


#region --- Au3Recorder generated code Start ---
BlockInput(1)
Run('GOMPLAYERENSETUP.EXE')
_WinWaitActivate("GOM Player Setup","Welcome to the")
Send("{ENTER}")
_WinWaitActivate("GOM Player Setup ","Please review the")
Send("{ENTER}")
_WinWaitActivate("GOM Player Setup ","Choose which feature")
Send("{ENTER}")
_WinWaitActivate("GOM Player Setup ","Choose Install Locat")
Send("{ENTER}")
_WinWaitActivate("GOM Player Setup","GOM Player has been")
Send("{f}")
_WinWaitActivate("GOM Audio","")
Send("{RIGHT}{TAB}{ALTDOWN}{TAB}{ALTUP}")
Send("{ALTDOWN}{TAB}{ALTUP}")
_WinWaitActivate("GOM Audio","")
Send("{RIGHT}{ENTER}")
Run('C:\Program Files\GRETECH\GomPlayer\GomWiz.exe')
_WinWaitActivate("GOM Player Configuration Wizard","")
Send("{DOWN}{ENTER}{ENTER}{ENTER}{ENTER}{ENTER}{SPACE}{ENTER}")
Sleep(5000)
Run('C:\Program Files\GRETECH\GomPlayer\GOM.exe')
_WinWaitActivate("Update Notification","A newer version")
Send("{SHIFTDOWN}{TAB}{TAB}{SHIFTUP}{ENTER}")
_WinWaitActivate("Preferences","This tab lets")
Send("{SHIFTDOWN}{TAB}{TAB}{SHIFTUP}{UP}{UP}{UP}{SPACE}{ENTER}")
Sleep(1000)
Send("{ALTDOWN}{F4}{ALTUP}")
sleep(2000)
BlockInput(0)

#region --- Internal functions Au3Recorder Start ---
Func _WinWaitActivate($title,$text,$timeout=0)
WinWait($title,$text,$timeout)
If Not WinActive($title,$text) Then WinActivate($title,$text)
WinWaitActive($title,$text,$timeout)
EndFunc
#endregion --- Internal functions Au3Recorder End ---

#endregion --- Au3Recorder generated code End ---
#endregion --- Au3Recorder generated code End ---

Re: INSTALACION DE DESATENDIDOS EN OTRO PC

Publicado: 28 Abr 2015, 22:59
por Chefito
Dudo que no se ejecute nada del script. Introduce algunos msgbox para ver si se ejecutan, y podrás comprobar hasta donde llega la ejecución de tu programa.
También te recomiendo que indagues más en la ayuda de autoit y vayas más alla de lo que es utilizar el Au3Recorder. No digo que sea malo......pero vamos, a mi no me gusta nada este tipo de programación. Te puede dar muchos fallos el control de ratón y teclado a lo bestia. Es una forma de salir del paso, pero hay formas mucho más elegantes y eficientes de hacerlo.
Te recomiendo que mires en la ayuda los controles que empiezan por control... . Por ejemplo te pueden interesar mucho el controlclick, controlsend, etc.
Para controles de ventanas, mira las funciones que empiezan por win... . Por ejemplo winactivate, winactive, winwait, etc.

Tienes muchas. Y si vas más alla......tienes muchos más recurso :smt002 .

Referente a que no se ejecuta la función blockinput, mira a ver que te devuelve esta función. Si te devuelve 1 es que se ha ejecutado con éxito, y si te devuelve 0 es que ha fallado por algo. Lee bien lo que te dice la ayuda referente a esta función. Mira bien lo que te dice sobre #RequireAdmin y el sistema operativo utilizado.
Te dejo la traducción por google de esta función: https://translate.google.es/translate?s ... t=&act=url

Saludos.

Re: INSTALACION DE DESATENDIDOS EN OTRO PC

Publicado: 29 Abr 2015, 10:03
por xmaurox
campa, mira probé con distintos script para ver cual es el problema que estoy teniendo...
primero probé con algunas funciones como SplashTextOn, FileExists,MsgBox,etc

de este tipo de funciones en todos los pc que las probe no tuve problema.
el drama que tengo es con los programas. ningun tipo de exe o msi, etc,etc me arranca.
hice una prueba sencilla simplemente para ver si el script arrancaba un ejecutable cualquiera y probé con un script así.

run("programa.exe")

luego guardé el archivo con el nombre "prueba" quedando algo así prueba.au3 a este le di compilar en donde tenia el programa y se creó el archivo prueba.exe
finalmente y para tener menos problemas pensando que winrar tenía la culpa tome los 2 archivos el prueba.exe con el programa.exe y los pasé al otro pc
por ultimo ejecute el archivo prueba.exe y ni siquiera me arroja la ventana del programa a instalar, ni tampoco la advertencia de "desea instalar el programa...."
NADA.

con esto llegué a la conclusión que el problema pasa por el Autoit que estoy usando. (SEGUN YO)
tengo lo siguiente:
Autoit v3.3.6.1
SciTE Version 3.4.4

La verdad he quedado con dolor de cabeza con tratar de instalar todos los programas que habia desatendido a otro pc :smt021
si me pudieras indicar que versión es la mas recomendable y alguna herramienta que me pueda faltar lo agradecería.


saludos y gracias por la ayuda.

Re: INSTALACION DE DESATENDIDOS EN OTRO PC

Publicado: 29 Abr 2015, 16:28
por Chefito
Puffffff, esa versión es muy antigua. Bájate la última versión (3.3.12.0). Bájatela de su web oficial: https://www.autoitscript.com/site/autoit/downloads/

Mira en la ayuda la función run. No debe por que fallar. A mi casi nunca me ha fallado.
Puedes comprobar si te da algún error en la ejecución de esta función. Si te devuelve 0 o @error, entonces algo pasa.....y casi seguro que estás haciendo algo mal.

Casi seguro que el error es que no encuentra el archivo porque no le has dado el camino.....vamos, que no le indicas donde se encuentra. Y esto es muy importante, y más si cambias de ordenador. Mira esto y ve más sobre esta función. Por ejemplo, si está en el mismo directorio que el script, puedes poner esto:

Código: Seleccionar todo

run(@scriptdir & "\programa.exe")
Recuerda que tienes que tener cuidado si se encuentra en el directorio raiz, ya que se doblaría la \ si lo pones de esta manera.

A las malas tienes otra para ejecutar archivos. Mira en la ayuda shellexecute.

Saludos.

Re: INSTALACION DE DESATENDIDOS EN OTRO PC

Publicado: 01 May 2015, 21:59
por xmaurox
compa probé con lo ultimo que me dijiste.
te cuento, con run no me funcionó, traté con un exe y no funcionó.
pero con ShellExecute probé con un instalador con extension .msi y al fin tuve un resultado favorable. por lo menos arranca.
el drama que tengo es que antes tenía una instalacion de uno de mis programas en modo silencioso y andaba espectacular porque no arrojaba ventanas molestas. de hecho solo tenía que escribir un par de cosas con los comandos send y WinWaitActive y listo. algo asi era el programa original

;ejemplo de mas o menos como era el programa
ShellExecute(@scriptdir & "\programa.msi","/quiet")
WinWaitActive("nombre de la ventana","nombre dentro de la ventana")
Send("{TAB}name{TAB}pass{TAB}serial{TAB}{SPACE}{TAB}{RIGHT}{SPACE}{ENTER}")


Bueno esto anda muy bien si tengo autoit instalado, pero sin el es un desastre.
primero, no me funciona la opcion de instalacion silenciosa, con el comando /quiet por lo tanto probé con todo lo que se me ocurrío en su lugar.
como Q,q,s,S,silent,verysilent,VERYSILENT bueno nada de esto funko. el unico que si funciona es el passive, pero se ve todo y no me gusta :smt011 porque la idea de mi programa es que quede totalmente oculto. Lo que se me está ocurriendo es crear un archivo .bat en la carpeta que contenga el instalador silencioso y desde el autoit llamar el .bat y luego dar la opción del relleno de la ventana.
Lo otro es que no se como hacerlo para escribir en la ventana que aparece, traté con controlsend, pero parece que aun no domino la estructura de este comando. por lo que he leido es algo así


controlsend("nombre de la ventana","nombre dentro de la ventana donde quiero escribir","Edit1","texto")

no me funcionó y probé de muchas formas como estas

Local $hWnd =WinWait("nombre de la ventana", "", 10)
controlsend("nombre de la ventana","nombre dentro de la ventana donde quiero escribir","Edit1","texto y comandos")

bueno si me puedes ayudar con el comando controlsend para poder escribir dentro de una ventana me sería de gran ayuda. :smt024 y también el ocultar las ventanas me tiene desesperado!! probé con algo así por ejemplo para el instalador, pero sin resultado alguno:


ShellExecuteWait(@scriptdir & "\programa.msi","/passive","","",@SW_HIDE)

gracias por toda la ayuda, sos un grande :smt038 :smt038 :smt038

Re: INSTALACION DE DESATENDIDOS EN OTRO PC

Publicado: 02 May 2015, 13:09
por Chefito
Mmmmm...me parece raro que no te coja el parámetro quiet y sí el passive :smt012 . Lo correcto es introducir el argumento en el parámetro que has puesto, pero también puedes probarlo todo seguido a ver si te va correctamente:

Código: Seleccionar todo

ShellExecuteWait(@scriptdir & "\programa.msi /quiet","","","",@SW_HIDE)
Respecto a ocultar ventanas, utiliza la función WinSetState con su tercer parámetro en @SW_HIDE. Mírala en la ayuda.

Y con el tema del controlsend, puede que lo estés utilizando mal. Mira ejemplos de esta función en el foro y en la web. Ten cuidado con los parámetros. El parámetro del título de la ventana debe ser exactamente igual al título (mayúsculas, minúsculas, espacios, etc). El segundo parámetro, si no lo necesitas, déjalo en blanco (""), ya que puede que te hayas equivocado ahí. El tercer parámetro supongo que lo hayas puesto bien. Se tratará de un control Edit con la instancia 1. Y el cuarto parámetro es el texto a escribir.

Te recuerdo que autoit trae un programa para ver la información de las ventanas. Se llama Autoit Window Info. Con este programa sabrás exactamente el nombre de la ventana y el control e instancia de éste donde quieres escribir el texto.

También te recuerdo que autoit cuenta con otro función para escribir texto directamente, muy similar a la anterior. Esta es controlsettext. Mírala en la ayuda.

Saludos.