Problemas con direcciones

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
Avatar de Usuario
arkcrew
Profesional del Autoit
Mensajes: 506
Registrado: 28 Sep 2009, 19:17
Ubicación: Granada, España
Contactar:

Problemas con direcciones

Mensaje por arkcrew »

Nota: El chome me jugó una mala pasada, pego el tema.

Pregunta, por lobopk2
Hola amigos soy nuevo en el foro, he conocido este programa que me parece que tiene muchas posibilidades y he de decir que no tengo idea de programacion ni conocimiento de ningun lenguaje, pero este programa me acercara mas.

Me ha salido un problema he visto algun video tutorial de como se hace un ejecutable desatendido con au3recorder y es bastante facil, he echo algunas pruevas y me ha salido, ahora bien en algunas cosas me ha fallado, hos comento.

la idea es habrir una carpeta que tiene dentro todos los archivos necesarios para una instalacion, pero claro una carpeta no es un ejecutable o un .exe asi que uso el winrar para hacerlo auto extraible, hasta ahi vien, hago un archivo nuevo con autoit y lo guardo donde he dejado el winrar, lo vuelvo ha habrir y empiezo a grabar con el au3recorder, señalando el archivo autoextraible.

Se me habre el extraible y me saca todos los archivos fuera asi que queria que me los sacara dentro de una carpeta todos, porque pensaba poner esa carpeta luego en el escritorio y no dejar los archivos por ahi sueltos, eso lo puede hacer no fue problema, asi que me saco la carpeta y con el teclado aprete f5 para actualizar la carpeta y me movi con el cursor para señalar dicha carpeta y entrar dentro de ella volvi a apretar f5 y me movi hasta señalar el exe para ejecutarlo, y todo lo demas normal.

guardo el proyecto lo pruebo en el autoit y todo va bien asi que compilo, pero ahora tengo que unir los dos archivos lo vuelvo ha hacer con el winrar en autoextraible, lo pruevo y funciona.

Pero aqui empieza mi dolor de cabeza cuando ese auto extraible lo saco fuera de la carpeta donde e echo todo y la lo dejo en otra ubicacion entonces ya no me funciona, no entiendo mucho porque pasa eso.

parece ser que donde lo he echo se tiene que quedar y si lo muevo de ahi ya no funciona, me es extraño porque al hacer el auto extraible esta todos los datos dentro, pero alguna explicacion tendra, porque claro si yo ese programa lo quiero instalar en otro ordenador ya no tendra esa misma ruta, entonces no me sirve hacer ese programa???

que tengo que hacer para sacarlo y que me funcione en cualquier ubicacion que lo deje?? y me funcionaria en otro ordenador diferente????

gracias por leer el tocho por lo menos, queria expresarme bien,espero haberlo echo.
Respuesta, por arkcrew
Hola,

Creo que tu error es simple, tendrás algo como Run(app.exe) o un shellexecure(app.exe), donde la aplicación app.exe se encuentra en la misma ruta que tu ejecutable/script.

Al mover el script de sitio debes indicar la ruta compoelta de app.exe, vease por ejemplo C:\Documments And Settings\Usuario\Desktop\Carpeta de archivos extraidos\app.exe

EDIT: Olvide parte de la explicación, debes tener todo en la misma ruta, y para saber cual es la ruta en cada equipo, autoit te propone varias macros, usa @scriptdir, la cual te va a devolver la ruta donde está el ejecutable, ejemplo: C:\Usuario\Carpeta, o donde quiera que lo tengas.

Espero ayudarte con esta explicación!

Saludos!

PD: BIEN <> vien , ABRIR <> habrir y HECHO <> echo, esa ortografía hombre!
Respuesta, por lobopk2
hola arkcrew: Muchas gracias por contestar has sido muy amable, creo que te he entendido mas o menos.

Haber yo en el video que vi, cuando elegia el .exe le quitaba la ruta y dejaba en el run solo el nombre del .exe y tambien vi que todos los archivos estaban juntos, asi que creo entender que puedo poner una ruta en el escript para que luego me lo mande alli donde le indique,no?

lo de usa @scriptdir no tengo ni idea de que es ni donde esta, si esta claro que tengo que estudiar mas, quizas me precipite preguntando sin haber estudiado un poco mas, lo mirare igual que no se lo del comando ese del shellexecure.

lo que a mi me parece muy raro es que en el video el lo hace todo dentro de una carpeta y luego saca el compilado en el escritorio y le funciona, sera una tonteria o quizas porque yo lo enredo demasiado ya que hago un autoextraible que saca una carpeta nueva y el excript hace que habra el autoextraible que a la vez se mueve por dentro de esa carpeta, ya que el lo que hacia era directamente en un .exe. no se.

Otra cosa, lo de las faltas lo tengo asumido, podria arreglarlo muchas veces es por escribir deprisa pero la mayoria reconozco que el lenguaje no es mi fuerte, podria incluso arreglarlo ya que me sale en rojo las palabra que podrian ser faltas, pero mira yo soy asi, quizas esa sea mi firma y se que tu me entiendes igual ya que si me has rectificado es porque entendias lo que queria decir. esto solo es un matiz.

repito una vez mas gracias por tu ayuda desinteresada. :smt002
Respuesta por arkcrew
JAJAJA, tranqui, por lo de las faltas estaba de coña, simplemente me chocó un poco no te lo tomes a malas (;

En cuanto al código, si bien dices, lo lanzan sin el exe, en realidad es totalmente indiferente, si pudieras postearme el código te ayudaría mucho más, pero bueno te especifico algo más acerca de las funciones que comenté.

Mira, si generas un script con esta macro tal cual te indico, entenderás lo que hace la función @scriptdir

CÓDIGO: SELECCIONAR TODO
$ubicacion = @ScriptDir ; nos muestra la ubicación donde se ejecuta el exe
msgbox(0,"Aplicacion","Me encuentro en la ruta: " & $ubicacion)


Prueba a cambiarlo de ruta y entenderás el funcionamiento.

Un saludo, y hombre!, pregunta cuanto quieras, que para eso es el foro y claro, mi ayuda siempre es desinteresada, por eso me registré y por eso solicité ser moderador, para ayudar, así que no te cortes, pregunta cuanto quieras y recuerda indicar siempre todo con claridad y a poder ser, publica cuanto código tengas que eso nos facilita un montón a la hora de ayudarte y tu te ahorras de escribir tochos como esos.
Respuesta, por lobopk2
hola gracias una vez mas:

si claro tienes razon seria mejor que vieras el script aunque es muy corto porque no lo termine por ver como salia la prueva y me salia mal por lo que te dije del cambio de hubicacion.

te pego el script:



#region --- Au3Recorder generated code Start ---

Run('Media.exe')
_WinWaitActivate("F:\Documents and Settings\Administrador\Escritorio\Nueva carpeta","FolderView")
Send("{F5}1{ENTER}")
_WinWaitActivate("F:\Documents and Settings\Administrador\Escritorio\Nueva carpeta\1","FolderView")
Send("{F5}{DOWN}{DOWN}{DOWN}{DOWN}{ENTER}")
_WinWaitActivate("Software Update Installation Wizard","Use this wizard to i")
Send("{RIGHT}{ENTER}")


#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 ---


esto ejecuta un archivo rar autoextraible que me saca los archivos dentro de una carpeta llamada 1. el compilador y este rar lo he echo tambien en un sfx para habrirlo, dentro de la carpeta que he echo todo el proceso me funciona bien, pero cuando saco el rar 3 fuera de esa carpeta ya no me funciona.

una anecdota mas, hace poco le tube que poner al script despues del rum un comando de sleep porque iba tan rapido que parecia que no le daba tiempo al rar a extraer y se ponia en marcha el script habriendo me otros archivos, ahora no se porque me ha ido bien, ira mas suelto el ordenador no lo se jajajajajja.

necesitaria un comando para hacer que se habriera el script cuando realmente terminara el rar de descomprimir, porque eso de ponerle tiempo es probar hasta que de con el clavo, vi un comando que era wait, puese winwait pero ahora que lo pienso quizas ese no es el que necesito, porque ademas ese no me funciono.

esque lo que quiero hacer es instalar un grupo de programas desatendidos, entonces necesito que se ejecute uno y cuando acabe ese que se ejecute el siguiente asi hasta terminar con todos, y ademas que pueda hacerlo en cualquier ordenador no solo en el mio.

Y me estraña mucho que si cojo un programa y lo ejecuto con el script lo compilo y pongo los dos archivos en un rar, si luego lo saco a otra hubicacion que me funciona, pero jugando de esta manera con los rar me falla un poco, sera por hacer tanto autoextraible???

no se que opinas??? que se te ocurre que hago mal o me falta???

PD: lo de la hubicacion del archivo esta muy bien, pero en las carpetas ya te sale la ruta de donde estas.
Respuesta, por arkcrew
Hola una vez mas.

Mira, te explico como debe quedar y esta tarde si no te aclaras te lo programo yo en un momento.

Lo rpimero, olvida usar el au3 recorder para la parte primera, es decir, si es un sfx de winrar puedes lanzarlo con el parámetro /S y asi será una extracción automatica desatendida de todo el contenido del rar en la misma ubicación.

hay cosas que no entiendo, si me facilitaras un listado de los archivos me facilitarías la tarea ya que no entiendo del todo bien, pero lo que si entendí es que tienes un rar con un contenido, el rar es un formato sfx autoextraible.

Bien, en una misma ruta tienes el archivo sfx que contiene el archivo de autoit compilado, todo esto se extrae en una misma carpeta no? pues si es asi olvida las rutas extensas que pones y tantos send down ya que no siempre van a cumplir el mismo orden que el que tu grabaste con el generador de macros.

Si lo que quieres es lanzaar archivos, como ya los tienes en la misma carpeta, olvida todo eso y simplemente llámalos con un run.

Aclaro, si extraes X contenido en X carpeta, y dentro de X carpeta están tanto los ejecutables que deseas instalar como el archivo compilado de autoit, te es indiferente la ruta completa, ya que al lanzar cada ejecutable con el run sin ninguna ruta, vease Run(app) el archivo app lo va a localizar por defecto en la misma ruta en la que se está ejecutando el archivo compilado en autoit.

Si no te aclaras, ya te digo, dame el listado completo de archivos, adjuntamelo o algo aqui en el foro y asi podré ver que es exactamente lo que te propones llevar a cabo ya que no entiendo del todo bien que quieres hacer..

Espero respuesta tuya.

Saludos!
Respuesta por lobopk2
Gracias por el ofecimiento de programarlo, lo valoro mucho, pero seria mejor que lo hiciera yo si no no aprendere, aunque por una parte creo que lo dices para que vea la dinamica, que esta muy bien pensado.

-Intentare explicarme un poco mejor, tengo el windows media player para intalar, dentro de esa carpeta hay 4 ejecutales que he de instalar en un orden, en principio he selecionado todos los archivos que contiene esa carpeta y los he convertido en sfx y le he dicho al sfx que me los saque en una carpeta que la llame 1 (para que no me los sacara todos sueltos).
-Despues he echo un script el cual habre el sfx y me muevo con el teclado para habrir esa carpeta y dentro de ella me muevo para selecionar el primer ejecutable y lo instalo.
-Una vez probado y visto que funciona como lo hize, compilo el scritp.
-Luego cogo el escript ya compilado y el sfx y lo convierto en sfx, diciendole que habra el script compilado cuando termine de extraer.

De echo me funciona tal cual lo he grabado, pero como te digo solo si esta en esta carpeta que he estado trabajando todo esto, pero si yo saco este sfx en otro sitio ya no me funciona.

haber como tu dices podria llamar directamente a un ejecutable de los que hay en esa carpeta del windows media player, de echo lo he echo lo grabo y lo compilo, entonces lo curioso es que si saco el compilado a cualquier hubicacion si que me funciona, pero de esta manera que lo hago con los sfx no me sale si lo saco, que es lo que pasa? si el sfx es un exe tambien,no? eso es lo que no comprendo, pienso que lo deveria hacer igual que lo hace con el otro exe, pero se ve que no es asi.

pensareis bueno pues si te sale de la otra manera que es mas facil, pues hazlo asi, pero esque estoy pensando que haciendo un sfx podria habrir carpetas ya que el run solo busca .exe y tendria bastante juego igual eso de habrir carpetas y operar por ellas.

Pienso que asi podria instalar despues de ese exe el otro exe moviendome por las carpetas y despues el otro y asi hasta que terminara, seguro que hay algun comando para hacer algo asi nose.

pro cierto no me contestastes a lo mas importante te lo vuelvo a copiar:

"" esque lo que quiero hacer es instalar un grupo de programas desatendidos, entonces necesito que se ejecute uno y cuando acabe ese que se ejecute el siguiente asi hasta terminar con todos, y ademas que pueda hacerlo en cualquier ordenador no solo en el mio. ""

y cual es el comando para hacerlos secuenciales, que espere a que termine uno para comenzar con otro.

No te mando los archivos porque no se hacerlo por aqui jijijijij. Bueno ahi queda eso si has leido todo esto y aun estas despierto y has llegado hasta aqui, creo que te has ganado ya el cielo .
Respuesta, por arkcrew
JAJAJAJAJJA, bueno te comento:

Se como funcionan todas esas cosas puesto que hace un tiempo estba obsesionado con los protables, los TEU (Todo en Uno, AIO, All In One) y los windows unattended, eran una meta para mi y por eso me entiendo con todo esto.

Para que no se me olvide, responderé a tu pregunta lo primero:

esque lo que quiero hacer es instalar un grupo de programas desatendidos, entonces necesito que se ejecute uno y cuando acabe ese que se ejecute el siguiente asi hasta terminar con todos, y ademas que pueda hacerlo en cualquier ordenador no solo en el mio.


Veamos, para hacer eso primero tienes que tener las estructuras claras.

Lo que yo haría sería simple, intentaré expresarme con la mayor claridad que me sea posible.

Supongamos que queremos instalar 3 aplicaciones ¿vale?, luego podrás ser cuantas quieras, pero es para que entiendas como lo haría.

Estructura:

*Ejecutable principal: Compilado que sea el encargado de lanzar cada una de las aplicaciones desatendidas
* Archivos SFX (Con los archivos necesarios)

Funcionamiento:

El ejecutable principal estará programado para ir uno a uno instalando los archivos, supongamos lo ya dicho, 3 arhcivos, tendremos pues 3 sfx, cada uno con un contenido, al comienzo, el EJ (ejecutable principal, abreviaré asi todo el tiempo) lanzará el primer sfx y lo instalará, para ello estará configurado ya con los nombres de archivo y demás cosas, cuando finalice lanzará el 2º y asi sucesivamente.

Ahora bien, olvida ese rollo de moverte por las carpetas, puesto que la verdad es que al usuario normal no le va a molar nada ver como su ordenador funciona solo, simplemente automatiza las instalaciones.

haz que tus archivos SFX se extraigan y se ejecuten en los temporales para despues ser eliminados, te recomiendo encarecidamente que mires el funcionamiento del WPI, windows post installation, que es el wizzard que usan los Unattended para instalar las apps, el funcionamiento de esta aplicacion es simple, el usuario configura la lista de aplicaciones y las rutas y los parámetros de ejecución y el usuario normal accede a una bonita interfaz (quienes hayan instalado un UE de los primeros que salieron sabrán que digo) y con eso lo tienes todo.

Lo suyo sería que cada archivo sfx contenga un ejecutable compilado en autoit para que al extraerse todo en temporales este ejecutable instale y elimine todos los archivos tras la instalación.

Te pongo un ejemplo:

Suponte que digo yo, que quieres instalar el VLC, genial aplicación por cierto, bueno pues en un sfx metes el instalador del vlc y el ejecutable de autoit. Haces que ese ejecutable se extraiga de forma silenciosa en temporales y que arranque el archivo de autoit, el cual se encargará de instalar la aplicación. Luego borras esos temporales y listo.

Espero haberme explicado con claridad, al menos, el esfuerzo está puesto.

Esto es un poco lioso la verdad, al menos como lo he explicado, es imprescindible que entiendas el funcionamiento de autoit, por ello te dejo un ejemplo de lo que te he explicado:

Un sfx que contenga lo siguiente:

Path = %tempdir%
Setup = Ejecutable.exe

Contenidos del sfx:

Ejecutable.exe
Setup_vlc.exe

Ahora, el sfx al ejecutarse se descomprimiría en temporales (creo que escribí correctamente, hace siglos que no hago un sfx) y al extraerse ejecutaría el ejecutable.exe el cual tendría una estructura como:

Run(Setup_vlc.exe) y demás parámetros para instalar desatendido, eso te lo apañas tu que no recuerdo si el VLC era con un /S o algo así..

Entonces se instalaría la aplicación de forma desatendida, pues asi lo haces con todos los programas, aunque no necesariamente necesitan un ejecutable con autoit, es cuestión que investigues, pero ya te digo, piensa bien la estructura, ordénalo todo, pero no por carpetas, sino instala uno, borras, o borras al final, pero no te líes a descomprimir en millones de carpetas y moverte por ellas, simplemente, si quieres descomprimir todo a la vez, que el programa sepa donde debe buscar, algo en plan Run(Carpeta\app.exe) eso ya decide tu, pero también te recomiendo que te mires las macros en la ayuda, pulsando F1 y leas un poco de como funciona autoit, sino, mira también por el foro que hay mucha información, pero intenta programar cuanto menos con el au3recorder mejor, porque cuando te mueves por carpetas.. la cosa se lia, es mejor usarlo solo para generar lo que sería las pulsaciones del botón una vez abierto el instalador, ni antes ni después, solo para el instalador, para abrir la aplicación ya te digo, organización y macros, con eso lo tienes todo resuelto.

Rezo por que entiendas mi explicación.

Saludos!


EDITO

Con las prisas olvidé responder a esto:

-Intentare explicarme un poco mejor, tengo el windows media player para intalar, dentro de esa carpeta hay 4 ejecutales que he de instalar en un orden, en principio he selecionado todos los archivos que contiene esa carpeta y los he convertido en sfx y le he dicho al sfx que me los saque en una carpeta que la llame 1 (para que no me los sacara todos sueltos).
-Despues he echo un script el cual habre el sfx y me muevo con el teclado para habrir esa carpeta y dentro de ella me muevo para selecionar el primer ejecutable y lo instalo.
-Una vez probado y visto que funciona como lo hize, compilo el scritp.
-Luego cogo el escript ya compilado y el sfx y lo convierto en sfx, diciendole que habra el script compilado cuando termine de extraer.


Veamos, tienes el media payer, 4 ejecutables, que sean 5 en la misma carpeta, el 5º sería el programado con autoit.

Tan sencillo como los metes todos en un sfx, que los extraiga en temporales y que el autoit se ejecute e instale todos los archivos por orden, al extraerse todo en el mismos sitio estarán todos los ejecutables en la misma ruta asi que simplemente genera un código para desatender la instalación de cada uno de los 4 archivos y todo ello que quede programado en el archivo que winrar ejecuta tras la extracción, con ello este al lanzarse, instalará el primer archivo, el segundo, el tercero y el cuarto, no veo más complicación.

Si no sabes, súbeme los archivos a mediafire o yo que se, desde que han tirado megauplod esto es una mierda, ya te lo programo yo y te lo paso para que así aprendas, si quieres, te puedo hacer alguno simple yo y ves la estructura de como se haría y tu lo intentas, pero ya te digo, si no manejas el lenguaje.. apañado vas, es mejor que revises pro donde puedas información de autoit, de hecho en el foro hay muchos tutos sobre eso creo, al menos hay un apartado que toca esos temas, infórmate cuanto puedas.

Saludos!

Edit 2

Cambié el tema de sitio puesto que no estaba donde le correspondía, espero que no te importe, pero para un funcionamiento ideal lo suyo es mantener el foro ordenado.

Saludos!
lobopk2
Mensajes: 3
Registrado: 31 Ene 2012, 01:51

Re: Problemas con direcciones

Mensaje por lobopk2 »

Gracias por poner el tema donde correspondia, tenia mis dudas de haberlo puesto bien jijijiijij.

bueno admiro tu tenazidad y la verdad te has explicado muy bien, lo comprendo casi todo yo diria un 80%, es mas o menos la idea que tenia de hacerlo, si que es verdad que con autoit me falta sobre todo saber comandos, eso queda pendiente por mi interes.

Primero te citare algunas cosas para comprenderlas un poco mejor
El ejecutable principal estará programado para ir uno a uno instalando los archivos
Eso exactamente es lo que necesito saber, cual es el comando que hace que instale un exe y espere a que acabe para instalar el otro? no se como se hace eso, es muy complicado de explicar? primera duda y principal.
haz que tus archivos SFX se extraigan y se ejecuten en los temporales para despues ser eliminados
tengo que eliminarlos a mano? creo que se eliminaban solos,no?
el funcionamiento de esta aplicacion es simple, el usuario configura la lista de aplicaciones y las rutas y los parámetros de ejecución y el usuario normal accede a una bonita interfaz
no hare intervencion de usuario, hare un cd booteable que arranque, empieze y termine y aqui paz y despues gloria.
Lo suyo sería que cada archivo sfx contenga un ejecutable compilado en autoit para que al extraerse todo en temporales este ejecutable instale y elimine todos los archivos tras la instalación.
100% eso seria lo suyo.
Run(Setup_vlc.exe) y demás parámetros para instalar desatendido, eso te lo apañas tu que no recuerdo si el VLC era con un /S o algo así..
lo de la instalacion desatendida no lo quiero hacer porque hay programas, como el nero que tienen mil cosas que no quiero que instale, por eso uso el au3record, porque asi elijo yo lo que quiero instalar.
que el programa sepa donde debe buscar, algo en plan Run(Carpeta\app.exe)
asi que ese es el comando para que habra una carpeta, interesante.


Muy bien lo que me falta lo leere en la ayuda de autoit, cada vez estoy mas cerca, gracias compañero.

PD: si unieramos nuestras fuerzas un sistema operativo no creo que hicieramos pero un libro seguro con lo que hemos escrito... eso si te tocaria a ti revisar las faltas jajajjaajjajajaja.
Avatar de Usuario
arkcrew
Profesional del Autoit
Mensajes: 506
Registrado: 28 Sep 2009, 19:17
Ubicación: Granada, España
Contactar:

Re: Problemas con direcciones

Mensaje por arkcrew »

Hola.
Eso exactamente es lo que necesito saber, cual es el comando que hace que instale un exe y espere a que acabe para instalar el otro? no se como se hace eso, es muy complicado de explicar? primera duda y principal.
Bueno, esto guarda relacción con esta,
Lo suyo sería que cada archivo sfx contenga un ejecutable compilado en autoit para que al extraerse todo en temporales este ejecutable instale y elimine todos los archivos tras la instalación.
Asi que las explico ambas de una vez va?.

Mira, si tienes en cada sfx un instalador de autoit, puedes hacerlo con un while y un processexists, algo asi como:

En el sfx que estes instalando (supongo que todas las apps a instalar las sabes asi que puedes saber los nombres de los procesos) supongamos que tenemos el arhcivo programado en autoit que se llame setup_vlc_unattended.exe, pues el programa principal lanzará a setup_vlc_unattended.exe que se ubicará en los archivos temporales, y esperará a que el proceso setup_vlc_unattended.exe termine, entonces lanzará el siguiente ejecutable.

Sería algo como:

$proceso1 = "setup_vlc_unattended.exe"
while processexist($proceso1)
;Esperamos
wend

Con esto el programa principal esperará a que el proceso setup_vlc_unattended.exe y desde ahi ya programas para que cuando salga de ese bucle entre en otro en el que instale la siguiente aplicación y asi sucesivamente..

tengo que eliminarlos a mano? creo que se eliminaban solos,no?
Puedes programar el archivo principal para que cuando termine el borre todo solo, o generar un archivo *.bat que es autodestruible, es decir, borra los archivos y si lo especificas, se borra a si mismo.
no hare intervencion de usuario, hare un cd booteable que arranque, empieze y termine y aqui paz y despues gloria.
No me parece buena idea, el usuario debería poder elegir que desea instalar, pero es decisión tuya.
lo de la instalacion desatendida no lo quiero hacer porque hay programas, como el nero que tienen mil cosas que no quiero que instale, por eso uso el au3record, porque asi elijo yo lo que quiero instalar.
Eso es totalmente cierto, pero no todas inastalan toolbars ni mierdas de esas, mira cuales son instalaciones desatendidas limpias y ahorras mucho esfuerzo.
asi que ese es el comando para que habra una carpeta, interesante.
Efectivamente, si especificas asi la ruta tanto en el comando run como en la función ShellExecute ejecutarás la aplicación ubicada en la carpeta especificada en la MISMA RUTA en la que se encuentra el script, para saberla, tenemos la famosa macro @scriptdir.

Si, cuando acabemos con este tema corregiré las faltas ortográficas si, aunque bien dices este tema será de mucha ayuda para aquellos con preguntas o problemas similares al tuyo.

Espero haberme expresado bien.

Saludos!
lobopk2
Mensajes: 3
Registrado: 31 Ene 2012, 01:51

Re: Problemas con direcciones

Mensaje por lobopk2 »

en mi humilde opinion te aseguro que te expresas muy bien, ahora intentare todo lo aprendido.

solo hay una cosa, cuando dije que ese era el comando de habrir una carpeta, me referia ha habrir una carpeta solamente sin tener que abrir un script ni ejecutable ni nada, pero bueno, no quiero liar mas la cosa, estas explicaciones ya son mas de lo que me esperaba.

quiero citarte algo para que no quede duda.
Sería algo como:

$proceso1 = "setup_vlc_unattended.exe"
while processexist($proceso1)
;Esperamos
wend

Con esto el programa principal esperará a que el proceso setup_vlc_unattended.exe y desde ahi ya programas para que cuando salga de ese bucle entre en otro en el que instale la siguiente aplicación y asi sucesivamente..
asi se como hace para que haga el proceso y espere, y para que empieze el otro?? tengo que poner lo mismo al final del escript de cuando termina la instalacion,no?
Puedes programar el archivo principal para que cuando termine el borre todo solo, o generar un archivo *.bat que es autodestruible, es decir, borra los archivos y si lo especificas, se borra a si mismo.
Podrias poner un ejemplo de como se tendria que hacer eso? que comandos habria que poner, o lo del .bat autodestruible, como mola, ya estoy pidiendo demasiado, pero tus ejemplos ayudan mucho a la comprension.

Este tema se esta conviertiendo en un tutorial fantastico, gracias.


PD: creo que tambien se puede hacer secuencialmente con los sfx tiene el comando setup=(tal programa) puedes poner debajo setup=(el siguiente programa) y asi sucesivamente se van instalando, lo probare mas concienzudamente, porque igual asi es mas facil.
Avatar de Usuario
arkcrew
Profesional del Autoit
Mensajes: 506
Registrado: 28 Sep 2009, 19:17
Ubicación: Granada, España
Contactar:

Re: Problemas con direcciones

Mensaje por arkcrew »

Hola,
asi se como hace para que haga el proceso y espere, y para que empieze el otro?? tengo que poner lo mismo al final del escript de cuando termina la instalacion,no?
Exacto, ese bucle (while-wend) lo que hace es repetirse mientras la condición del while se cumpla (mientras x hago loop) entonces cuando ese bucle termina, pues repites la misma estructura obviamente cambiando los nombres de los procesos, eso lo puedes hacer de muchas maneras, o bien con una matriz que incluya todos los nombres de los procesos y un solo while o con muchos whiles cumpliendo la estructura ya citada.

Lo de las matrices sería algo como:



Y luego llamamos al bucle así:

Código: Seleccionar todo

$lista_procesos[2] = ["setup_vlc_unattended.exe" , "setup_nero_unattended.exe"] ;Añades cuantas quieras, si añades una modificas el 2 por el numero que tengas, pongo dos porque aqui hay dos procesos solo.
For $a = 0 To Ubound($lista_procesos)-1
$proceso1 = $Lista_procesos[$a]
while processexist($proceso1)
;esperamos que acabe el proceso
wend
next
Y con eso se iría realizando solo, te falta añadir el parámetro para ir arrancando los procesos, por ejemplo, descomprimes cada carpeta con su contenido en la rai de la carpeta temporales, o TODO dentro de una carpeta en temporales que se llame install o algo asi, entonces teniendo todo el contenido dentro de esa carpeta, trabajas ahí y cuando finalices, pues adjuntas un bat que lleve las siguientes lineas:

erase %TEMP%\Install
erase nombre_archivo.bat

Con eso el *bat borra la carpeta instalar que es donde has trabajado con todo una vez finalice la instalación, y la segunda linea elimina el archivo .bat y así no quedan residuos. He de mencionar que el *.bat no debe encontrarse en la carpeta install puesto que dará errores de borrado.

Supongamos que tenemos todo el contenido (no en carpetas) todo extraido en la carpeta install ubicada en temporales, reitero, TODO EL CONTENIDO DE ESA CARPETA (INSTALL) NO DEBE ENCONTRARSE EN SUBCARPETAS, TODO EN LA MISMA CARPETA TAL CUAL, TODOS LOS ARCHIVOS JUNTOS, con eso vas lanzando canda instalador y punto, te quedaría el código completo creo que algo como:

Código: Seleccionar todo

$lista_procesos[2] = ["setup_vlc_unattended.exe" , "setup_nero_unattended.exe"] ;Añades cuantas quieras, si añades una modificas el 2 por el numero que tengas, pongo dos porque aqui hay dos procesos solo.
For $a = 0 To Ubound($lista_procesos)-1
$proceso = $Lista_procesos[$a]
Run($proceso)
while processexist($proceso)
;esperamos que acabe el proceso
wend
next

;Aqui añades las funciones de borrado generando un archivo *.bat:

$file = fileopen(@tempdir&"\borrar.bat")
FileWrite($file, erase %TEMP%\Install")
FileWrite($file, @CRLF & erase %TEMP%\Install")
FileClose($file)

;Ahora arranco el archivo .bat

run(@tempdir&"\borrar.bat")
;Arranco el bat y salgo
exit
Si me he equivocado, corrígeme ya que esto te lo he programado de cabeza, ahora no tengo un autoit instalado para probar..

Saludos!!

PD: Una vez más, espero haber sido claro expresándome
lobopk2
Mensajes: 3
Registrado: 31 Ene 2012, 01:51

Re: Problemas con direcciones

Mensaje por lobopk2 »

sera posible??? te deverian de dar un premio, eres un crack, lo digo enserio, te veo muy suelto en este tema como pez en el agua.

Me he dado cuenta que tengo que leer mucho mas de lo que creia, pero enhorabuena por todas las explicaciones, se que esto va a ayudar a muchisima gente, yo ahora estoy un poco mas liado con tantos comandos y simbolos nuevos jajajajajajaja, pero en cuanto me los aprenda este post sera mi biblia.

ahora entiendo por que le llaman un lenguaje, es como aprender un idioma, yo por el momento solo me se dos idiomas el castellano y por telefono, asi que haber si aprendo este nuevo idioma que parece muy interesante.

una vez mas gracias.
Avatar de Usuario
arkcrew
Profesional del Autoit
Mensajes: 506
Registrado: 28 Sep 2009, 19:17
Ubicación: Granada, España
Contactar:

Re: Problemas con direcciones

Mensaje por arkcrew »

Vaya, pues me alegro de haberte sido de ayuda de veras, pues ya sabes, dale caña al asunto de la programación, empieza con cosas simples, por ejemplo,esto es un buen comienzo, y bueno, intenta programar cuanto puedas solo y mirando en la ayuda, y si te atascas, pues ya sabes donde estamos, y esperamos , al menos yo, poder atender tus dudas.

Que vaya bien!

Saludos!
Responder