Jump to content

AUTOIT request nologic & Mhz pls read


Astalavista

Recommended Posts


Well here is a simple script that can install a number of different types of installers. It could be expanded to cover more tho with out much editing.

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

Link to comment
Share on other sites

nologic so now i can do this

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

Link to comment
Share on other sites

nologic

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.

Link to comment
Share on other sites

hmm your above posted code should do that as is...maybe increase the sleep time for the secondary proccess to spawn...if there is one.

Func _Install( $i1 , $i2 )

If FileExists ( @ScriptDir & "\" & $i1 ) Then

$PID = Run ( @ScriptDir & "\" & $i1 )

ProcessWaitClose( $PID )

Sleep ( 1000 )

If $i2 <> "" Then ProcessWaitClose( $i2 )

EndIf

EndFunc

_Install( "ATI_Driver.exe" , "Setup1.exe" )

_Install( "ATI_Panel.exe", "Setup2.exe" )

; Merge Reg File

Run ( "REGEDIT /S " & FileGetShortName ( @ScriptDir & "\ATI.reg" ) , "" )

Now what I'm wondering is if your taking into account if there is a secondary process being spawned or not.

In the above example I incressed the sleep time to 1 second...then the first file is lets say a SFX file...it extracts a file called Setup1.exe and and executes it via the comments section of the SFX file....since this is a secondary process being spawned its added to the same line of code to make sure that every thing dealing with the sfx file goes off with out a hitch prior to starting another sfx file...which its self spawns yet another process.

Just putting -

_Install( "ATI_Driver.exe" , "" )

Will not account for Setup1.exe being ran after ATI_Driver.exe is done extracting it....so in this case one would end up with both Setup1.exe running while ATI_Pannel.exe is also starting up...so make sure your accounting for the secondary process if there is one.

The AutoIt script knows nothing more than what you tell it. :)

Now if thats not the case then I'm kind of stumped...because it should wait till a named process is actually complete before moving on to the next.

Link to comment
Share on other sites

Try this -

Func _Install2( $i1 , $i2 )
If FileExists ( $i1 ) Then
 Run ( "msiexec /i " & $i1 )
 ProcessWaitClose( $i1 )
 Sleep ( 1000 )
 If $i2 <> "" Then ProcessWaitClose( $i2 )
EndIf
EndFunc

_Install2( "isscript.msi /qn", "" )
_Install2( "CuteFTP 6 Professional.msi issetupdriven=1 allusers=1 installlevel=1 reboot=reallysuppress /qn", "" )

Try the revision

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...