Jump to content
Sign in to follow this  
auslandt

AutoIt causes windows install to be slow.

Recommended Posts

I'm working on a Windows unattended installation (2003 currently but works for XP, 2000, etc).

I have windows down, I have working AutoIt scripts compiled to executeables called by the installation. All installations succeed perfectly. However, the installation is VERY slow.

Prior to the AutoIt scripts, I had .bat files running some installation, or the user had to work with the actually installation package. When one installation completed, the next one would kick off in a matter of seconds (10 tops).

However, the AutoIt3 executeables work great, it is a looooooooong time between each program (minutes vs seconds). It seems like the AutoIt executeable is not really returning to the Windows installation. If I use bat or manual interaction, it again is just seconds between each program installation.

Any ideas?

- Matt

Share this post


Link to post
Share on other sites

I'm working on a Windows unattended installation (2003 currently but works for XP, 2000, etc). 

I have windows down, I have working AutoIt scripts compiled to executeables called by the installation.  All installations succeed perfectly.  However, the installation is VERY slow.

Prior to the AutoIt scripts, I had .bat files running some installation, or the user had to work with the actually installation package.   When one installation completed, the next one would kick off in a matter of seconds (10 tops).

However, the AutoIt3 executeables work great, it is a looooooooong time between each program (minutes vs seconds).  It seems like the AutoIt  executeable is not really returning to the Windows installation.   If I use bat or manual interaction, it again is just seconds between each program installation.

Any ideas?

- Matt

<{POST_SNAPBACK}>

Do you have any While...Wend loops waiting for something without a Sleep(10) ?? Edited by JdeB

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites

Do you have any While...Wend loops waiting for something without a Sleep(10)  ??

<{POST_SNAPBACK}>

Nope. Here is one script

__init()

$title = "Ultra VNC Video Driver automated install."
$message = $title & @LF & @LF & " DO NOT TOUCH THE MOUSE OR KEYBOARD!"
SplashTextOn ( $title , $message, 400,100,-1,0,1)

Sleep ( 2000 )

Run ( '.\UltraVNCDriverautoinst.bat' )

WinWait ( 'UltraVnc' )
Sleep (1000)
Send ( '{ENTER}' )

func __init ()  ; to define global variables needed
global $Z
endfunc

Share this post


Link to post
Share on other sites

Nope.  Here is one script

<{POST_SNAPBACK}>

I don't see multiple Run statements here so maybe you can show a portion of the script which you think is hanging...

The only otherthing i can think of is that the unpacking of an included file makes it "pause" ...

Do you have the installsets included in the AutoItscript with a FileInStall() ?


SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites

I don't see multiple Run statements here so maybe you can show a portion of the script which you think is hanging...

The only otherthing i can think of is that the unpacking of an included file makes it "pause" ...

Do you have the installsets  included in the AutoItscript with a FileInStall() ?

<{POST_SNAPBACK}>

OK... here I go. hopefully I can keep this short.

I first had a bat file call 2 compiled AutoIt scripts. The install would open a DOS window and show the first one get called. All would run, all options made, and all windows closed. This is exactly like when I was on a loaded system. However, the DOS window was still hung on thet one autoit.exe file. After a few minutes, the next autoit.exe file would get called.

The .bat file was only:

autoit1.exe

autoit2.exe

If I ran this on an already loaded system, it would run very fast. The second would kick off immediately after the first exited (last window closed).

I try again, but in Windows 2003 auto install file "CMDLINES.TXT", and it again hangs for minutes beteen Autoit1.exe and Autoit2.exe during a Windows Installation.

As for the FileInstall() thing... I have no clue what that is. But I will be researching. :idiot:

- Matt

Share this post


Link to post
Share on other sites

OK. I built some debugging scripts.

I have a bat file that 1) logs time, 2) executes simple autoit compiled file, 3) logs time.

BAT FILE "autoittimer.bat":

echo on > c:\time.in
time > c:\time.txt < c:\time.in
simpleautoit.exe
time >> c:\time.txt < c:\time.in

AutoIt EXE "simpleautoit.exe":

__init()

$title = "Simple Auto It script"
$message = $title & @LF & @LF & "Simple AutoIt script.  Prints a message  box and sleeps for 1 second"
SplashTextOn ( $title , $message, 400,100,-1,0,1)

Sleep ( 1000 )

func __init ()  ; to define global variables needed
global $Z
endfunc

The autoit exe calls NO programs. All it does is opens a message, sleeps for a second and exits!

If I execute the autoittimer.bat file on an installed system, I get a time just over 1 second:

Output of time.txt when run manually:

The current time is: 10:56:02.64

Enter the new time: The current time is: 10:56:03.80

Enter the new time:

The time is over 2 minutes when run from windows installation CMDLINES.TXT:

The current time is: 12:50:51.90

Enter the new time: The current time is: 12:52:55.32

Enter the new time:

Is there any way I can help debug what the autoit exe is doing during those 2 minutes?

Share this post


Link to post
Share on other sites

UPDATE:

I tried 2 things to make it release faster... both failed.

1) add "Exit" immediately after the sleep

2) add "WinClose ( $title )" immediately after the sleep.

Both versions still take over 2 minutes to return from the autoit executeable.

Share this post


Link to post
Share on other sites

Just an idea:

Maybe you should return a "0" error code from the compiled script, I could imagine the tool that handles cmdlines.txt is timiming out waiting for a return code from last execution (I dont know if compiled autoit returns a dos errorlevel)

ciao

Xandl

Share this post


Link to post
Share on other sites

Just an idea:

Maybe you should return a "0" error code from the compiled script, I could imagine the tool that handles cmdlines.txt is timiming out waiting for a return code from last execution (I dont know if compiled autoit returns a dos errorlevel)

ciao

Xandl

<{POST_SNAPBACK}>

That is why I used Exit. The docs said "Exit", "Exit 0", and "Exit (0)" were all the same. I might try Exit (0) just to be sure.

Share this post


Link to post
Share on other sites

UPDATE:

Exit ( 0 ), no change.

I tried with one line only in the autoit.exe file. "Sleep (1000)" no messages, no variables, no files, no runs, NOTHING. Just sleep. No change. Still takes over 2 minutes to return during installation.

All the other installation programs (not using AutoIt) run great. no lags, no delays. Only the AutoIt executealbes seem to be hung for 2 minutes after their execution.

Share this post


Link to post
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
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...