Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.
Keywords: registry regedit Run RunOnce goto param1 if param0 then goto param1
Reason being, I'm using WinBatch to install a product and I need to do a reboot after installation before beginning the configuration procedures, also via WinBatch.
Startup Sequence:
You can start various applications or events at controlled time in Windows, by dictating when the 32-bit process should be activated. Here is the areas in which you should assign tasks, based on when you want them to start:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunService(Once)- As soon as Windows enters 32-bit mode, these applications/services are started - these are running prior to the logon script, or logon box
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run(Once)- run after a user logs on, after the logon script finishes, but before the desktop is fully loaded in.
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run(Once)- once the logon script is finished, and Windows has loaded the desktop STARTUP folder from the Start Menu - last place Windows starts programs from
Here's an example (for both Windows 95 and NT):
RegSetValue(@REGMACHINE, "Software\Microsoft\Windows\CurrentVersion\RunOnce[wbfile]","c:\whatever\wbapp.exe parm1 parm2 ...")On the next boot, c:\whatever\wbapp.exe parm 1 ... will be run.
I used a parameter and had wbapp.exe work so that if param1 existed, to do a goto to that value, eg:
;==============snip==================== ; wbapp.wbt if param0 then goto %param1% :Start ... :Reboot ; come back to here after reboot ;==============snip====================and put the app into RunOnce with the parameter "Reboot".
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceIf you write a script like:
key="SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce[mystuff]" RegSetValue(@REGMACHINE,key,"notepad.exe")and restart windows it ought to:
We'll assume the @regmachine here:
key="Software\Microsoft\Windows\CurrentVersion\RunOnce" fullkey=strcat(key,"[MYFIRST]") RegSetValue(@REGMACHINE,fullkey,"notepad.exe") fullkey=strcat(key,"[MYSECOND]") RegSetValue(@REGMACHINE,fullkey,"calc.exe") fullkey=strcat(key,"[THIRD]") RegSetValue(@REGMACHINE,fullkey,"explorer.exe")
(@Regmachine,"Microsoft\Windows\CurrentVersion\Runonce")What this does is it will run a recovery compiled wbt if Windows was shutdown etc before the original program had a chance to restore certain settings. For some reason it works fine under Run, but not under Runonce, or RunonceServices.
Any thoughts? BTW on some PCs it will run under Runonce, mainly slower PCs below 166MHZ Pentium.
You might try adding a:
TimeDelay(20)at the top of the script and see if that helps.
Or worse yet, have a stript with a TimeDelay in it launch the real script.
There are a lot of strange things that happen during Windows startup, so I usually put a Time delay in scripts that run at startup.
Winlogon[Userinit] allows you to kick off a script each time someone logs on without having to add an icon to the startup group or reboot the machine. Append your script onto the existing string uner NT in:
HKLM\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon[Userinit]so when you logon as a new user, the script automatically will launch.
Article last modified on 09-27-1995 ------------------------------------------ The information in this article applies to: - Microsoft Windows 95 ---------------------------------------------- SUMMARY ======= There are seven Run keys in the registry that cause programs to be run automatically: 1. HKEY_LOCAL_MACHINE\Software\Microsoft\ Windows\CurrentVersion\Run 2. HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Run 3. HKEY_LOCAL_MACHINE\Software\Microsoft\ Windows\CurrentVersion\RunOnce 4. HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\RunOnce 5. HKEY_LOCAL_MACHINE\Software\Microsoft\ Windows\CurrentVersion\RunServices 6. HKEY_LOCAL_MACHINE\Software\Microsoft\ Windows\CurrentVersion\RunServicesOnce 7. HKEY_LOCAL_MACHINE\Software\Microsoft\ Windows\CurrentVersion\RunOnce\Setup MORE INFORMATION ================ Keys 1-4 are run each time a new user logs in. Keys 5-6 are run in the background when the logon dialog box first appears,or at this stage of the boot process if there is no logon. These keys are for background services such as remote registry service and are run only once per boot. Key 7 is run as part of Setup's first-boot activities, or after you use the Add/Remove Programs Wizard. Under each of these keys is a series of subkeys. The subkeys are used to allow multiple sub-entries to exist without overwriting one another. The value for a subkey is a command line. For keys 1-4, the command line can be prefixed with an asterisk to indicate that it should be run even in Safe mode. By default, Run keys are ignored in Safe mode. For keys 3-4, the command line can be prefixed with an exclamation point to defer deletion of the subkey until after the command has been completed. You cannot combine the two prefixes. For keys 3, 4, and 6, the subkey is deleted before the command line is run unless overridden as noted above. As a result, if a RunOnce operation fails to run properly, the component that failed will not be asked to run again when the next time you start the computer. Key 7 is used only by Setup. This key displays the progress dialog box as the keys are run one at a time. For key 7, the name of the subkey is the name that is displayed in the dialog box. KBCategory: kbsetup KBSubcategory: win95 Additional reference words: 95 ============================================================================= Copyright Microsoft Corporation 1995.
Article ID: W13732
Filename: Registry Run Keys - Run and Runonce.txt
File Created: 2003:02:27:16:13:16
Last Updated: 2003:02:27:16:13:16