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