Jump to content

[Proof] Which runs first or last?


Recommended Posts

I ran 4 tests on my VMWare instance and this is the result:

:===========:=============:=============:=========:============:
:-CMD from--:-Start Time--:-Finish Time-:-Desktop-:-CMD runs---:
:===========:=============:=============:=========:============:
:-1-LM-ROEX-:-12:29:46.46-:-------------:-NO------:-Alone------:
:-1-LM-ROEX-:-------------:-12:30:13.64-:-NO------:-Alone------:
:-----------:-------------:-------------:---------:------------:
:-2-CU-ROEX-:-12:30:15.34-:-------------:-NO------:-Alone------:
:-2-CU-ROEX-:-------------:-12:30:44.67-:-NO------:-Alone------:
:-----------:-------------:-------------:---------:------------:
:-3-LM-RO---:-12:30:46.87-:-------------:-NO------:-Alone------:
:-3-LM-RO---:-------------:-12:31:17.31-:-NO------:-Alone------:
:-----------:-------------:-------------:---------:------------:
:-4-LM-RUN--:-12:31:25.10-:-------------:-YES-----:-Alone------:
:-4-LM-RUN--:-------------:-12:33:10.01-:-YES-----:-in company-:
:-----------:-------------:-------------:---------:------------:
:-5-CU-RUN--:-12:31:29.73-:-------------:-YES-----:-in company-:
:-5-CU-RUN--:-------------:-12:33:10.00-:-YES-----:-in company-:
:-----------:-------------:-------------:---------:------------:
:-6-STRTP-A-:-12:31:36.96-:-------------:-YES-----:-in company-:
:-6-STRTP-A-:-------------:-12:33:09.39-:-YES-----:-in company-:
:-----------:-------------:-------------:---------:------------:
:-7-STRTP-U-:-12:31:38.03-:-------------:-YES-----:-in company-:
:-7-STRTP-U-:-------------:-12:33:10.56-:-YES-----:-in company-:
:-----------:-------------:-------------:---------:------------:
:-8-CU-RO---:-12:31:38.70-:-------------:-YES-----:-in company-:
:-8-CU-RO---:-------------:-12:33:10.68-:-YES-----:-in company-:
:-----------:-------------:-------------:---------:------------:

I think that closely matches what you were getting.

Link to comment
Share on other sites


mazin: I haven't abandoned this. I've started testing using UACD iso.

You're not interested in including the extra keys mentioned previously?

For your tests, do you have anything else to run/install in RunOnceEx apart from the exe?

I find that having something else in ROE would change the order slightly.

Your method involves outputting to individual txt files, right?

Link to comment
Share on other sites

Just done a few more tests with the new keys suggested by crahak and Takeshi.

The following keys are tested. Only those with arrow worked.

I don't know whether the remaining keys can execute only during Windows Setup.

However, the results are summarized below.

:: CU

xxxx CULOAD=HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\load

xxxx CURUNT=HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\Run

xxxx CUINIT=HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit

---> CUPOL=HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\Run

xxxx CUROS=HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnceSetup

xxxx CURS=HKCU\Software\Microsoft\Windows\CurrentVersion\RunServices

xxxx CURSO=HKCU\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce

:: LM

xxxx LMLOAD=HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows\load

xxxx LMRUNT=HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows\Run

xxxx LMINIT=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit

---> LMPOL=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\Run

xxxx LMROS=HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceSetup

xxxx LMRS=HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices

xxxx LMRSO=HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce

:===========:=============:=============:=========:============:
:-CMD from--:-Start Time--:-Finish Time-:-Desktop-:-CMD runs---:
:===========:=============:=============:=========:============:
:-1-LM-ROEX-:-11:33:45.59-:-------------:-NO------:-Alone------:
:---LM-ROEX-:-------------:-11:33:57.00-:-NO------:-Alone------:
:-----------:-------------:-------------:---------:------------:
:-2-CU-ROEX-:-11:34:03.79-:-------------:-NO------:-Alone------:
:---CU-ROEX-:-------------:-11:34:18.78-:-NO------:-Alone------:
:-----------:-------------:-------------:---------:------------:
:-3-LM-RO---:-11:34:23.24-:-------------:-NO------:-Alone------:
:---LM-RO---:-------------:-11:34:32.12-:-NO------:-Alone------:
:-----------:-------------:-------------:---------:------------:
:-4-LM-POL--:-11:35:02.26-:-------------:-YES-----:-Alone------:
:---LM-POL--:-------------:-11:35:44.30-:-YES-----:-in company-:
:-----------:-------------:-------------:---------:------------:
:-5-LM-RUN--:-11:35:05.60-:-------------:-YES-----:-in company-:
:---LM-RUN--:-------------:-11:35:46.56-:-YES-----:-in company-:
:-----------:-------------:-------------:---------:------------:
:-6-CU-POL--:-11:35:05.83-:-------------:-YES-----:-in company-:
:---CU-POL--:-------------:-11:35:44.33-:-YES-----:-in company-:
:-----------:-------------:-------------:---------:------------:
:-7-CU-RUN--:-11:35:10.04-:-------------:-YES-----:-in company-:
:---CU-RUN--:-------------:-11:35:54.45-:-YES-----:-Alone------:
:-----------:-------------:-------------:---------:------------:
:-8-STRTP-A-:-11:35:59.92-:-------------:-YES-----:-Alone------:
:---STRTP-A-:-------------:-11:36:47.36-:-YES-----:-in company-:
:-----------:-------------:-------------:---------:------------:
:-9-STRTP-U-:-11:36:00.99-:-------------:-YES-----:-in company-:
:---STRTP-U-:-------------:-11:36:47.36-:-YES-----:-in company-:
:-----------:-------------:-------------:---------:------------:
:10-CU-RO---:-11:36:01.92-:-------------:-YES-----:-in company-:
:---CU-RO---:-------------:-11:36:47.36-:-YES-----:-in company-:
:-----------:-------------:-------------:---------:------------:

@ Takeshi

++ For your tests, do you have anything else to run/install in RunOnceEx apart from the exe?

++ Only this command once prior to testing: rundll32.exe iernonce.dll,RunOnceExProcess

++ Your method involves outputting to individual txt files, right?

++ Yes, so I ensure everything runs independently.

Link to comment
Share on other sites

  • 3 weeks later...

Startup sequence in 9/11 tests (abbreviations used in parenthesis) leaving out the timings, using the same method I used before, but now in UA setup in VMWare:

1.HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows

NT\CurrentVersion\Winlogon\Userinit (LU)

2. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce (LRO)

3. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx (LROE)

4. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnceEx (CROE)

5. HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\load (CL)

6. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run (LR)

7. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run (CR)

8. %AllUsersProfile%\Start Menu\Programs\Startup (AUPSM)

9. %UserProfile%\Start Menu\Programs\Startup (UPSM)

10. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce

Summary for 11 tests that all the keys (except the ones listed below) execute:

1. LU is the first to start every time.

2. In nine out of 11 tests the sequence is identical (see above).

3. Except for one test, CRO is the last to start. The exception in one test is UPSM last to finish.

4. Except for one test, LU, LRO, LROE, CROE executed alone and finished before

the next started. In one test, LU started and LROE started before LU finished.

5. In all the tests, LU, LRO, LROE and CROE are always the first four to execute.

6. In all the tests, LROE always started and finished before CROE. This may be useful for UA installs.

Keys that did not execute from previous tests:

1. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceSetup

2. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run

3. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices

4. HKEY_LOCAL_MACHINE\SOFTWARE\MicrosoftWindows\CurrentVersion\RunServicesOnce

5. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run

6. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices

7. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce

8. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnceSetup

Where my results differ from yours:

• I couldn't get the HKCU and HKLM policies key to run.

• I could get HKCU load and HKLM userinit keys to run.

• Not sure if HKCU ... userinit key exists at all; I didn't test it.

Edited by Takeshi
Link to comment
Share on other sites

  • 7 months later...

OK, i'm very sorry for posting in such an old thread, but i just wanted to add something important, so that ppl like me, which finds this thread during searching, will be informed about this issue...

In this thread it is stated that e.g. 'HKCU\...\RunOnce' and other reg keys will start after the desktop has shown, but that is not always the case... If testing this in a ready installed Windows environment, then you will get defferent results than if doing an unattended install. If doing an unattended install, then all the reg keys will run before the desktop shows, except if another reg key has been used before, which then will make some keys to first start after the desktop has shown. By this i mean that e.g. if you set a batchfile to run from 'HKCU\...\RunOnce', then the batchfile will load before the desktop shows(in an unattended environment, only!), but if setting the RunOnceEx key up to install some apps and then also having 'HKCU\...\RunOnce' setup to run that batch file, then the batch file will load after the desktop shows.

Maybe you're saying to yourself now; Why should i care if the desktop has been shown or not... Well, the answer to that is that for some things to be done right, then it's vital that the desktop is shown first(or more technically correct - Explorer.exe has been fully loaded first). Two examples i have found untill now : If adding the reg keys needed to disable all of windows system sounds, then if the reg keys has been run before explorer.exe has been fully loaded, then there will still be sounds enabled for IE pop-ups + IE's InformationBar. Another thing is if wanting to delete the 'Links' folder in '%userprofile%\Favorites\'(yes, i know that it also takes a reg tweak to stop IE from recreasting it) + the 'MSN.com' and 'Radio Station Guide' *.url shortcuts in the '%userprofile%\Favorites\' folder, then that dosen't work either if done before explorer.exe has been fully loaded.

I have personally done a bunch of VMware installs by now to find these things out and get a working solution for my setup... I then now use RunOnceEx to install my apps and then i run 'cleanup.cmd' from 'HKCU\...\RunOnce', which then merges my regtweaks, delete various files/folders and reboots after explorer.exe has been fully loaded...

RunOnceEx.cmd :

set key=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx

reg add %key% /v title /d "Installing Applications" /f

[...]

reg add HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce /v cleanup /d "%systemdrive%\install\hidcon.exe -nw %systemdrive%\install\cleanup.cmd" /f

Just an FYI :)

Link to comment
Share on other sites

Thank you, Martin H!

It's, probably, a bad habit of mine when posting in MSFN forums.

I, basically, assume every one reading my post knows that I'm working in an unattended environment.

Thank you, again, for clearing things up.

Link to comment
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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...