17

How can I control the order of startup programs in Windows? without any need of 3rd Party app. Upon searching, I came up with this article from HowToGeek.com which suggests 2 ways to do it, either using an app called WinPatrol (which I am not willing to use) or using a custom batch script.

While I find the "batch script" way more appropriate for my needs I have doubt in doing that as follows.

  • Since the startup programs in Windows usually have registry entries mentioning that they're supposed to be run at starting of Windows.
  • Having same apps called using start command of Windows (as mentioned in How-To Geek article) would launch that app twice?

I may not be precise in elaborating my question, but I want a way to control the sequence of my existing startup programs. And I understand the risks involved in changing startup order, especially with Antivirus and other necessary apps.

11

You can do it using Windows Task Scheduler:

enter image description here

Create a task with boot initialization trigger for each application that you want(the task will start the program/service that you want) and add a specific delay(such as 20s, 25s, 30s...) timer on initialization for each one.

Here you can see an example about creating a task on task scheduler.

In order to adjust the order of programs in the registry, you will need to remove them from this registry path (deleting the entries) and replace the registry start for the scheduler start method.

I hope this could solve your problem. Good look, Have fun :D

1
  • For triggers that are at a certain time e.g. 9pm, what is the point of having a delay? For example if you delay it for 15 minutes wouldn't that be the same as setting the trigger to 9:15pm with no delay?
    – Celeritas
    Feb 3 '16 at 5:48
7

This is the method I use:

  1. Go to: %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
    • Startup directory is also under Start > All Programs
  2. Create a shortcut of the .exe to launch at startup, then cut/paste it into Startup
  3. Rename in the order you want:
    1_name
    2_name
    3_name
    
  4. Reboot
5
  • 3
    Note that this only works for those entries in the Startup folder. It does nothing to those defined in Registry. Jul 5 '14 at 23:00
  • Correct, Doktoro. As I mentioned, you create shortcuts and place in the Startup folder if they don't already exist. For example, I use this method to startup a web dev stack of web dev programs in a certain necessary order, so that I dont have to manually open every program in the right order after every startup. Registry editing is not necessary for that purpose, unless you want to be very specific about when the stack loads in regards to other processes, programs, etc. Jul 18 '14 at 7:43
  • 1
    You missed the point. As the comments in the accepted answer allude to, most programs when installed create startup entries in the Registry, and not in the Startup folder. You would have to do something similar to what was suggested earlier, which is to delete the entries in the Registry and remake them in the Startup folder. Jul 18 '14 at 7:51
  • Does not appear to work. At least, alphanumeric order in the Startup folder does not affect the order of taskbar buttons.
    – Bob Stein
    Jul 8 '17 at 19:54
  • This is simpler and easier than using Task Scheduler, but unfortunately, if you need a timed delay between tasks, this is not sufficient. I had to use Task Scheduler to create delayed tasks.
    – GDP2
    May 15 at 19:31
0

In 2021 you can user power of Powershell and get full control of such actions, for example set a shortcut in shell:startup folder to starter.vbs file:

Dim objShell,objFSO,objFile
Set objShell=CreateObject("WScript.Shell")
Set objFSO=CreateObject("Scripting.FileSystemObject")
scriptdir = objFSO.GetParentFolderName(WScript.ScriptFullName)
strPath = scriptdir & "\start.ps1"
If objFSO.FileExists(strPath) Then
    set objFile=objFSO.GetFile(strPath)
    strCMD="powershell -noprofile -executionpolicy bypass -command " & Chr(34) & "&{" &_
     objFile.ShortPath & "}" & Chr(34) 
    objShell.Run strCMD,0
Else
    WScript.Echo "Failed to find " & strPath
    WScript.Quit
End If

which will silently run start.ps1 powershell script:

$chrome = Get-Process chrome -ErrorAction SilentlyContinue
if ($chrome) {
  [Diagnostics.Process]::Start("C:\Program Files\Google\Chrome\Application\chrome_proxy.exe","--profile-directory=Default --app-id=cdofaenddnbpbpbojpjnlndemfblmpfk");
}
Remove-Variable chrome

sleep 6
$firefox = Get-Process firefox -ErrorAction SilentlyContinue
if ($firefox) {
  [Diagnostics.Process]::Start("C:\Program Files\Mozilla Firefox\firefox.exe","www.mozilla.com");
}
Remove-Variable firefox
Exit
0

Or, for apps under "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup", create a batch job in that folder. Copy the path of each app shortcut that is already in the start up folder and paste them in the batch job in the order you want them to launch.; On Windows 10 you can also introduce a delay between, to give time to fully open before running. For example, Act! Cloud Integration is an Outlook add-in, if both are in the start up Outlook loads before Act! and the add-in either is disabled or doesn't show at all. So I created the following batch command:

@ECHO OFF

echo "Starting Act! Integration for Outlook..

"C:\Program Files (x86)\ACT\ACT for Web\ClientSrvs\Office\Outlook\ACT!.Integration.exe" W

timeout /t 10 > nul

echo Starting Outlook..

"C:\Program Files (x86)\Microsoft Office\root\Office16\OUTLOOK.EXE"

Don't forget to remove the shortcuts you are replacing!

-2

Use WinPatrol (right-click manage startups or service), then move one to delay startup.

2
  • Please read the question again carefully. Your answer does not answer the original question. OP says in the question "WinPatrol (which is not I'm willing to use)"
    – DavidPostill
    Nov 25 '16 at 11:34
  • This makes more sense as a comment, not an answer, as ~90% of the original text was non-applicable info for an answer. @jellybean Please checkout How do I write a good answer? when you have time.
    – JW0914
    May 31 '20 at 12:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.