You are probably very familiar with the startup programs function of Windows. While you can specify the applications you want to launch at the start of Windows, the ability to control the order in which they start is not available. However, there are a couple of ways you can easily overcome this limitation and control the startup order of applications.

Note: this tutorial should work for any version of Windows, including Windows Server.

Using WinPatrol

There are most likely several utilities which provide this functionality, but we are going to discuss using the popular WinPatrol monitoring application which features a delay startup control. As you can probably guess, this function allows you to specify a certain amount of time to wait before opening the respective application.

WinPatrol makes this process very easy. On the Startup Programs tab, locate the applications you want to delay the startup for, right-click and select the “Move to Delayed Start Program List” option.

After selecting this option for all the target applications, click the Delayed Start tab. Here you can add additional applications manually and set the respective delay by highlighting the target entry and clicking “Delay Options”.

Now set the delay time and any respective parameters.


Since WinPatrol initiates the launch commands, the delay time is respective to when it opens. So, of course, you must have WinPatrol as a startup application itself (which is the application default).


Using a Batch Script

If you do not want to install or rely on “yet another application” or you simply want to get a bit geeky, a batch script can be used. Anyone can do this as it is very easy to setup and requires no batch programming knowledge.

Open your Windows Startup folder by going to Start > All Programs, right-click on the Startup folder and selecting Open.

When the listing of programs appear, create a new text file named “StartupOrder.bat”.

Edit the StartupOrder.bat file in Notepad to add the delay time and applications you want to launch. For this task, we will need the use of two batch commands: TIMEOUT and START.

The use of the TIMEOUT command is to specify the delay. Usage is simply this:

TIMEOUT /T seconds-to-wait


For example the following two commands would wait 10 seconds and 2 minutes (120 seconds), respectively, before continuing:


The use of the START command is to launch the target application. The reason we use the START command instead of just entering the program name is to tell the batch script to launch the target application and move on without waiting until we close it. Our usage of this command is:

START “” “C:PathToApplication.exe”

For example, the following two commands would open Notepad and the Calculator without waiting for the other to close (i.e. at the same time):

START “” “Notepad.exe”
START “” “Calc.exe”

Putting it Together

All you need to do to get your custom StartupOrder.bat script working it combine the delay (TIMEOUT) and launch (START) commands in the order you want them processed.

Here is the batch script which would implement the same startup delay we specified in the WinPatrol example above:


REM Total Delay = 10 seconds
START “” “C:Program Files (x86)Microsoft OfficeOffice14OUTLOOK.EXE”

REM Total Delay = 30 seconds
START “” “C:Program Files (x86)Microsoft OfficeOffice14WINWORD.EXE”
START “” “C:Program Files (x86)CitrixGoToMeeting457g2mstart.exe”

REM Total Delay = 50 seconds
START “” “C:Program Files (x86)Microsoft OfficeOffice14EXCEL.EXE”

You can use this example to get you started and customize as needed.


Download WinPatrol