Your strategic advantage starts here

Alternatives to using WScript.Sleep in a Custom Action

Alternatives to using WScript.Sleep in a Custom Action

Description:

Sometimes in our Custom Actions we need to pause the script execution, for example when we’re manipulating processes. Since we can’t use Wscript.Sleep from a Custom Action we need another way of pausing the execution of a script. Here I present two alternatives to using WScript.Sleep in a Custom Action.

Source:

NA

Script 1:

Msgbox "start" 
sleep1 5 
MsgBox "stop" 

Sub sleep1(strSeconds) 
       	Dim dteWait : dteWait = DateAdd("s", strSeconds, Now()) 
       	Do Until (Now() > dteWait) 
       	Loop 
End Sub

Script 2:

Msgbox "start"
sleep2 5
MsgBox "stop"

Sub sleep2(strSeconds)    
       	Dim objShell : set objShell = CreateObject("wscript.Shell")
    	objShell.Run "%COMSPEC% /c ping -n " & strSeconds & " 127.0.0.1>nul",0,1 
	set objShell = Nothing
End Sub
Related Posts
3 Comments
Vishal Paterya

Thanks that helped.

i want to run a script whole day. it ll do some works on some particular time only. (e-x) executing a batch file at 6:00pm. if i use “wscript.sleep 10000” then its giving some outof memory errror. how can i avoid that.?

Hi.  Remember that these scripts were intended for Custom Actions.  Also it depends how you’ve authored your scripts and your loops.  Please post your script over at ITNinja (or in some other forum) and I’m sure somebody will point you in the right direction!

Leave a Reply
Give us a call

Available from 9am to 8pm, Monday to Friday.

Send us a message

Send your message any time you want.

Our usual reply time: 1 Business day
Give us a call

Available from 9am to 8pm, Monday to Friday.

Send us a message

Send your message any time you want.

Our usual reply time: 1 Business day