Policies for the Windows startup management

Политики для управления автозапуском программ в Windows

The article describes the System Policies, which allow to manage the application startup in Windows 98/ME/2000/XP.
This article describes four system policies managing the startup lists, which contents are processed by Windows during the initial system boot. The talk will be about four lists, which values, containing the documents or applications names, are stored in the following keys: В этой статье будут описаны четыре системные политики, управляющие списками автоматического запуска, содержимое которых Windows отрабатывает при начальной загрузке системы. Речь пойдет об управлении четырьмя списками, параметры которых, хранящие имена приложений или документов, находятся в следующих ключах:
  1. HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
  2. HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
  3. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
  4. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
Here are few notes of these lists. The lists, which are located in HKEY_LOCAL_MACHINE hive, as it follows from the name, are common for all the system, and the HKEY_CURRENT_USER lists are worked through only for the current user registered in the system. The lists stored in HKEY_LOCAL_MACHINE hive are processed before the lists, stored in HKEY_CURRENT_USER hive. As it follows from the very name of key, the launch of document or application, registered in the key "RunOnce" occurs one time, notwithstanding whether the launch has been successful or not. The value stored in key "RunOnce", is deleted before the launch of application, which name it contains. Несколько замечаний по этим спискам. Списки, которые находятся в разделе HKEY_LOCAL_MACHINE, как следует из названия, являются общими для всей системы, а списки HKEY_CURRENT_USER отрабатываются только для текущего пользователя зарегистрировавшегося в системе. Списки, хранящиеся в разделе HKEY_LOCAL_MACHINE отрабатываются раньше соответствующих списков, хранящихся в разделе HKEY_CURRENT_USER. Как следует из самого названия ключа, запуск приложения или документа, прописанного в ключе "RunOnce" происходит один раз независимо от того, был он успешным или нет. Параметр, находящийся в ключе "RunOnce", удаляется до запуска приложения, имя которого он содержит.
To avoid the reiteration I introduce the features common for all the policies. All the policies are applicable for Windows versions 98, ME, 2000 and XP. Their states are stored in numeric values of DWORD type. The values can be of binary type for Windows 98, ME. All the policies are of Boolean type. For the DWORD-values the value "1" stands for the active state, the value "0" blocks the policy, turning it to the disabled state. Two values "01 00 00 00" and "00 00 00 00" will represent the corresponding states of policy for the values of binary type. "By default" the policies are not enabled in the system. The missing of corresponding value in the system registry is equivalent to the disabled state of the policy. All the values must be stored in "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" key. Чтобы избежать повторений приведу свойства общие для всех политик. Все политики применимы для Windows версий 98, ME, 2000 или XP. Их состояние хранится в целочисленных параметрах типа DWORD. Для Windows версий 98, ME параметры могут быть бинарного типа. Все политики - булевого типа. Для DWORD-параметров значение "1" - отвечает за активное состояние, значение "0" - блокирует политику, приводя ее в неактивное состояние. Два значения "01 00 00 00" и "00 00 00 00" будут представлять соответствующие состояния политики для параметров бинарного типа. "По умолчанию" политики не задействованы в системе. Отсутствие соответствующего параметра в системном реестре эквивалентно неактивному состоянию политику. Все параметры должны храниться в ключе "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer".
The values standing for the state of the policy can be in both HKEY_LOCAL_MACHINE and HKEY_CURRENT_USER hive. The value, located in HKEY_LOCAL_MACHINE hive, has an effect on the whole system, in comparison with value in HKEY_CURRENT_USER affecting the current user. If the same policy appears in both hives of the system registry, the policy, which value is in HKEY_LOCAL_MACHINE hive, has the priority over the policy with the value in HKEY_CURRENT_USER. Параметры, отвечающие за состояние политики, могут находиться как в разделе HKEY_LOCAL_MACHINE, так и в разделе HKEY_CURRENT_USER. Параметр, находящийся в разделе HKEY_LOCAL_MACHINE действует на всю систему в целом, в отличие от параметра в HKEY_CURRENT_USER, действующего на текущего пользователя. Если одна и та же политика появилась в обоих разделах системного реестра, то политика, параметр которой находится в разделе HKEY_LOCAL_MACHINE имеет приоритет над политикой, с параметром в HKEY_CURRENT_USER.

Disable the LOCAL MACHINE Run list

Запрет списка Run для LOCAL MACHINE

The state of this policy is stored in the "DisableLocalMachineRun" value. When the policy is in active state, the system ignores the content of "Run" list, locating in LOCAL MACHINE. Состояние этой политики хранится в параметре "DisableLocalMachineRun". Когда политика в активном состоянии, система игнорирует содержимое списка "Run", находящегося в LOCAL MACHINE.

Disable the LOCAL MACHINE Run Once list

Запрет списка Run Once для LOCAL MACHINE

The value "DisableLocalMachineRunOnce" is responsible for the state of this policy. If the policy is in active state, the system ignores the "RunOnce" content in LOCAL MACHINE. За состояние этой политики отвечает параметр "DisableLocalMachineRunOnce". Если политика в активном состоянии, то система игнорирует содержимое "RunOnce" в LOCAL MACHINE.

Disable the CURRENT USER Run list

Запрет списка Run для CURRENT USER

"DisableCurrentUserRun" value represents the state of this not documented policy. This policy is directed to prohibit the system from processing the content of "Run" list, locating in the HKEY_CURRENT_USER hive of the system registry. Состояние этой недокументированной политики представляет параметр "DisableCurrentUserRun". Политика нацелена на запрет для системы обработки содержимого списка "Run", находящегося в разделе HKEY_CURRENT_USER системного реестра.

Disable the CURRENT USER Run Once list

Запрет списка Run Once для CURRENT USER

Microsoft does not document this system policy either. Its state is stored in the "DisableCurrentUserRunOnce" value. When the policy is enabled, the system ignores the content of "RunOnce", storing in HKEY_CURRENT_USER. Эта системная политика также недокументирована Microsoft. Ее состояние хранится в параметре "DisableCurrentUserRunOnce". Когда политика в активном состоянии, то система игнорирует содержимое "RunOnce", хранящееся в HKEY_CURRENT_USER.
Valient Newman

Publications Top Page Projects