AUTOIT request nologic & Mhz pls read
#1
Posted 12 December 2004 - 07:45 PM
if file XXX.XXX Exist run...
wait
If file bbb.bbb Exist run...
wait
if file ddd.ddd Exist run...
that is all i need
purpose: I want to combine Firefox (Simon's Silent Installer) and My Profile.exe (silent extension, themes, and etc Installer) into one Winrar file.
Instead of having to use a batch command to launch simon's installer and then my profile.exe. I want to use autoit instead.
thanks
#2
Posted 12 December 2004 - 11:00 PM
If FileExists ( @ScriptDir & "\setup_1.exe" ) Then RunWait ( @ScriptDir & "\setup_1.exe" ) EndIf If FileExists ( @ScriptDir & "\setup_2.exe" ) Then RunWait ( @ScriptDir & "\setup_2.exe" ) EndIf .....
Really don't see where AutoIt would be better than a batch for this....well its a bit more flexable in where you place files but thats it.
Any ways enjoy
#3
Posted 13 December 2004 - 12:51 AM
And thanks to Mhz for correcting my problem with vueprint! it work now
#4
Posted 13 December 2004 - 01:33 AM
Yeah I'll be posting the correct script here in a bit...next 5-10min
#5
Posted 13 December 2004 - 06:37 AM
Quote
RunWait ( @ScriptDir & "\Firefox10_Silent_EN.exe" )
EndIf
If FileExists ( @ScriptDir & "\profile.exe" ) Then
RunWait ( @ScriptDir & "\profile.exe" )
EndIf
firefox installs ok, but my sfx profile does not install.
#6
Posted 13 December 2004 - 06:42 AM
Worth learning Autoit as batch programming is limited.
Autoit is a very powerful language indeed.
Is this what you wanted to hear, Astalavista
#7
Posted 13 December 2004 - 06:44 AM
after i finish learning installshield 10.5 ... heheheh
#8
Posted 13 December 2004 - 06:56 AM
Func _Install( $i ) If FileExists ( @ScriptDir & "\" & $i ) Then $PID = Run ( @ScriptDir & "\" & $i ) ProcessWaitClose( $PID ) EndIf EndFunc _Install( "Firefox10_Silent_EN.exe" ) _Install( "profile.exe" ) _Install( ... )
#9
Posted 13 December 2004 - 07:17 AM
Question: Can i continue adding SFX files to this script?
Func _Install( $i )
If FileExists ( @ScriptDir & "\" & $i ) Then
$PID = Run ( @ScriptDir & "\" & $i )
ProcessWaitClose( $PID )
EndIf
EndFunc
_Install( "SFX001.exe" )
_Install( "SFX002.exe" )
_Install( "SFX003.exe" )
_Install( "SFX004.exe" )
_Install( "SFX005.exe" )
_Install( "SFX006.exe" )
_Install( "SFX007.exe" )
_Install( "SFX008.exe" )
the beauty of Autoit is that it does not show a dialog box which i really hate.
#10
Posted 13 December 2004 - 07:24 AM
#11
Posted 13 December 2004 - 07:40 AM
what about for Nero Reloaded For Example
I have a RegTweak.reg ->> Followed by NeroReloadedSetup.exe ->> Followed by NeroReloadedHelpFileSetup.exe.
What is the autoit for registering REG file silently, then run two sfx files.
#12
Posted 13 December 2004 - 07:54 AM
$search = FileFindFirstFile ( @ScriptDir & "\*.exe" ) If $search <> -1 Then While 1 $i = FileFindNextFile ( $search ) If @error Then ExitLoop $PID = Run ( @ScriptDir & "\" & $i ) ProcessWaitClose( $PID ) Wend FileClose ( $search ) EndIf
That will run through the current folder and execute all *.exe files one after the other automatically...no need for extra code.
Now as MHz suggested if a secondary process is spawned then some thing like below would be better suited to your needs -
Func _Install( $i1 , $i2 ) If FileExists ( @ScriptDir & "\" & $i1 ) Then $PID = Run ( @ScriptDir & "\" & $i1 ) ProcessWaitClose( $PID ) Sleep ( 500 ) If $i2 <> "" Then ProcessWaitClose( $i2 ) EndIf EndFunc _Install( "SFX001.exe" , "" ) _Install( "SFX002.exe" , "Firefox.exe" ) _Install( "SFX003.exe" , "" ) _Install( "SFX004.exe" , "" ) _Install( "SFX005.exe" , "EmEditor.exe" ) _Install( "SFX006.exe" , "" ) _Install( "SFX007.exe" , "WinAmp.exe" ) _Install( "SFX008.exe" , "" )
Tho maybe MHz has a suggestion for better code...
#13
Posted 13 December 2004 - 07:59 AM
Run ( "REGEDIT /S myreg.reg", "" )
Or if regedit has issues with spaces in folder names maybe -
Run ( "REGEDIT /S " & FileGetShortName ( @ScriptDir & "\file.reg" ) , "" )
replacing "\file.reg" with your actual file name
So I guess some thing like so -
Run ( "REGEDIT /S " & FileGetShortName ( @ScriptDir & "\file.reg" ) , "" ) $search = FileFindFirstFile ( @ScriptDir & "\*.exe" ) If $search <> -1 Then While 1 $i = FileFindNextFile ( $search ) If @error Then ExitLoop $PID = Run ( @ScriptDir & "\" & $i ) ProcessWaitClose( $PID ) Wend FileClose ( $search ) EndIf
Is what you would be needing for the above unless a secondary process is spawned then you would have to use the other code to deal with that.
#14
Posted 13 December 2004 - 06:06 PM
I am sorry if i didn't make my question clearer.
For Nero Reloaded the Order must be
First... NeroSerials.Reg
Second... NeroReloadedSetup.exe (SFX file)
Third.... NeroLanguagePack.exe (SFX file)
#15
Posted 13 December 2004 - 07:39 PM
; Merge Reg File Run ( "REGEDIT /S " & FileGetShortName ( @ScriptDir & "\file.reg" ) , "" ) ; Basic Fuction Func _Install( $i1 , $i2 ) If FileExists ( @ScriptDir & "\" & $i1 ) Then $PID = Run ( @ScriptDir & "\" & $i1 ) ProcessWaitClose( $PID ) Sleep ( 500 ) If $i2 <> "" Then ProcessWaitClose( $i2 ) EndIf EndFunc ; Install Nero - Using Fuction _Install( "NeroReloadedSetup.exe" , "NeroSetup.exe" ) ; Install Nero Lang Pack - Using Fuction _Install( "NeroLanguagePack.exe" , "NeroLangSetup.exe" )
Although you may want to swap out "Run" for "RunWait" for the reg merge....
#16
Posted 13 December 2004 - 08:20 PM
#17
Posted 13 December 2004 - 11:41 PM
So if you don't care where the files end up (default install path) and what your start menu looks like...well you can install a mess of app's and hot fixes with this puppy.
Now I may have things named wrongly...but the exercise works...hehe or should at least.
Create folders as named in the script that use the listed switchs...place the compiled script out side of these folders and then execute it...it should install the contents of each folder with out a hitch.
Func _BInstall( $i1 , $i2 ) $search = FileFindFirstFile ( @ScriptDir & $i1 & "*.exe" ) If $search <> -1 Then While 1 $i = FileFindNextFile ( $search ) If @error Then ExitLoop $PID = Run ( @ScriptDir & $i1 & $i & $i2 ) ProcessWaitClose( $PID ) Wend FileClose ( $search ) EndIf EndFunc _BInstall( "\Type 1\" , " /Q /O /N /Z" ) _BInstall( "\Type 2\" , " /Q:A /R:N" ) _BInstall( "\Type 3\" , " /passive /norestart /quiet" ) _BInstall( "\Type 4\" , " /q /n /z" ) _BInstall( "\Inno\" , " /VERYSILENT /SP- /NOCANCEL /NORESTART" ) _BInstall( "\Wise\" , " /s" ) _BInstall( "\Nullsoft\" , " /S" ) Exit
#18
Posted 15 December 2004 - 04:35 AM
Func _Install( $i1 , $i2 )
If FileExists ( @ScriptDir & "\" & $i1 ) Then
$PID = Run ( @ScriptDir & "\" & $i1 )
ProcessWaitClose( $PID )
Sleep ( 500 )
If $i2 <> "" Then ProcessWaitClose( $i2 )
EndIf
EndFunc
_Install( "winampini.exe" , "" )
_Install( "winampini2.exe", "" )
; Merge Reg File
Run ( "REGEDIT /S " & FileGetShortName ( @ScriptDir & "\winamp.reg" ) , "" )
EndIf
EndFunc
#19
Posted 15 December 2004 - 05:37 AM
EndIf
EndFunc
are not needed.
#20
Posted 16 December 2004 - 03:22 AM
would it be possible to modify the script that u gave me to ...
1. Install SFX (silent installer)
wait till it finishes
then
2. Instal SFX (silent installer 2)
wait till it finishes
3. Install Reg key
i notice sometimes it is too fast that my second sfx is already running with the first sfx finishing.



Help


Back to top








