Applications startup in Windows

Автозапуск программ в Windows

The article gives the systematisation of the places in the system registry and ini-files, which are for the placements of the application to be launched during Windows-system startup.
In «Komputernaya Gazeta» #10 (200) for 16 March 1999 I made my debut with the article «Breaking into Windows via registry». The talk in the article was about the places in the system registry, in initialization files, where the program can be registered to launch during the Windows boot. Since that time several new Windows versions have been released, new version have own features, and the amount of my knowledge has increased. It is high time to fill up the gaps. В «Компьютерной газете» в № 10 (200) за 16 марта 1999 года я дебютировал со статьей «Взлом Windows через реестр». В статье речь шла о местах в системном реестре, в файлах инициализации, где можно прописать программу для автоматического запуска при загрузке Windows. С тех пор было выпущено несколько новых версий Windows, у новых версий появились свои особенности, да и объем моих знаний вырос. Пришло время восполнить недостающие пробелы.

The utility for system configuration MSConfig.exe

Утилита системной конфигурации MSConfig.exe

Beginning from Windows version 98, Microsoft supplies with utility «MSConfig.exe», which gives the convenient interface for management of files starting up while Windows boots. It is placed in Windows installation folder. One can launch it from «Run» dialog box. There is no option to add new item with the application or document name to start-up, but there is an option to turn off, not deleting, any of items present in the lists. There is another interesting option - to check the validity of the path corresponding to given start-up item, and to delete from the lists the items, which paths are not correct. In spite of the rather miserable functionality of this application, it fits for the users of system, but not for the administrators. I will refer to this utility under necessity further in the article. Начиная с Windows версии 98, Microsoft поставляет утилиту «MSConfig.exe», предоставляющую удобный интерфейс для управления файлами запускающимися при загрузке Windows. Она находится в каталоге установки Windows. Ее можно запустить из диалогового окна «Выполнить». В ней нет возможности добавлять новый элемент с именем приложения или документа для автозапуска, но можно отключать, не удаляя, любой пункт из находящихся в списках. Есть еще одна интересная возможность - проверка правильности пути соответствующего элементу автозапуска, и удаления из списков элементов, пути к которым не верны. Хотя я бы возможности этого приложение достаточно убогие, и оно годится для пользователей системы, но ни как не администраторов. Далее в статье я, по необходимости, буду ссылаться на эту утилиту.

Startup from the initialization files

Автозапуск из файлов инициализации

The description of places for startup will be delivered in chronological order, beginning from the first Windows version and obsolete technologies. The initialization files were inherited from 16-bit Windows versions, Microsoft declared several times about getting rid of obsolete files, but up to now they are actually processed during boot. Изложение мест автозапуска будет вестись в хронологическом порядке, начиная с первых версий Windows и устаревших технологий. Файлы инициализации достались в наследство от 16-битных версий Windows 3.x. Microsoft несколько раз декларировала, что она избавляется от устаревших файлов, но на самом деле, они до сих пор обрабатываются при запуске.
There are two values in «Win.ini» file in «[windows]» section, which can be the place for startup. The first value is «load», the second one - «run». Their content «by default» is an empty string. The file names in them must contain no blanks; the composing of full file name in quotes is not admissible. In these values several file names can be enumerated by comma. Usually they are used for drivers loading, but can load «Trojan horses» or «keyboard spies». В файле «Win.ini» в разделе «[windows]» есть два параметра, которые могут служить местом для автозапуска. Первый параметр это «load», второй - это «run». Содержимое «по умолчанию» для них - это пустая строка. Имена файлов в них не должны содержать пробелов, указание полного имени файла в двойных кавычках не допускается. В них можно перечислить несколько имен файлов через запятую. Обычно они используются для загрузки драйверов, но могут загружать «троянских коней» или «клавиатурных шпионов».
Another initialization file, which can be used for applications startup is the «System.ini» file. There is a value «shell» in this file in «[boot]» section, which stores the name of Windows shell. The content «by default» of this value is «Explorer.exe». The value «shell» can contain the applications list for startup as command line parameters for «Explorer.exe». The «Explorer.exe» application processes the command line and tries to launch the applications or documents, enumerated in the command line. The requirements to the «shell» value format are the same as to above-mentioned values of «Win.ini» file. Last time this value is wide used for the network worms launch. This makes the localisation hard to reveal, as the administrators forget to check this value as a place for destructive applications startup. Еще один файл инициализации, который может быть использован для автоматического запуска программ - это файл «System.ini». В этом файле в разделе «[boot]» есть параметр «shell», который хранит имя оболочки Windows. Значение «по умолчанию» этого параметра - «Explorer.exe». Значение «shell» может содержать список приложений для автоматического запуска как параметры командной строки «Explorer.exe». Приложение «Explorer.exe» обрабатывает командную строку и пытается запускать приложения или документы, перечисленные в командной строке. Требования к формату параметра «shell» такие же, как и у вышеупомянутых параметров файла «Win.ini». В последнее время этот параметр начал широко использоваться для запуска сетевых червей. Это делает локализацию трудно обнаруживаемой, т.к. администраторы забывают просматривать этот параметр, как место для запуска деструктивных приложений.
«MSConfig.exe» utility allows checking the state and modifying the content of these three values: «load», «run», «shell», which are located in initialization files. Утилита «MSConfig.exe» позволяет просматривать состояние и редактировать содержимое этих трех параметров: «load», «run», «shell», находящихся в файлах инициализации.

Startup folders

Папки автозапуска

The first folder, which is worked through after the Windows booting finished, is the folder «StartUp», which can stores the list of applications or documents shortcuts (*.lnk). One can see its state, passed by the «Start» into the submenu «Programs». This is the folder, corresponding to the «Current User». Первая папка, которая отрабатывается после завершения загрузки Windows - это папка «Автозагрузка», которая может хранить список ярлыков (*.lnk) приложений или документов. Ее состояние можно увидеть, выйдя из меню «Пуск» в подменю «Программы». Это - папка, относящаяся к «Текущему пользователю».
In order to find its location, one must to find in the system registry the «HKEY_CURRENT_USER \SOFTWARE\Microsoft\Windows\CurrentVersion \Explorer\User Shell Folders» key storing the locations of all the changed folders and to search out the value «Startup» of string type. If the needed value is missing, that its location on hard drive «by default» is registered in the system registry in «Startup» value of «HKEY_CURRENT_USER \SOFTWARE\Microsoft\Windows\CurrentVersion \Explorer\Shell Folders» key. Чтобы найти ее размещение, сначала надо найти в системном реестре ключ «HKEY_CURRENT_USER \SOFTWARE\Microsoft\Windows\CurrentVersion \Explorer\User Shell Folders», хранящий размещение всех измененных папок, и отыскать там параметр «Startup» строкового типа. Если искомый параметр отсутствует, то ее размещение «по умолчанию» на жестком диске прописано в системном реестре в параметре «Startup» ключа «HKEY_CURRENT_USER \SOFTWARE\Microsoft\Windows\CurrentVersion \Explorer\Shell Folders».
The utility for the system tuning «MSConfig.exe» shows the shortcuts to applications, which are located in «StartUp» folder. If any item is turned off using the «MSConfig.exe», that the folder named «Disabled Startup Items» will be created in «Programs» folder (it is the submenu in the «Start» menu), where «MSConfig.exe» will move the disabled item. In order to temporarily exclude the shortcut from the startup I resort to much simpler method: I set the attribute «hidden» on the needed shortcut and it will be omitted during the next booting. Ярлыки к приложениям находящимся в папке «Автозагрузка» отображаются в программе для настройки системы «MSConfig.exe». Если отключить автоматический запуск какого-нибудь элемента через «MSConfig.exe», то в папке «Программы» (она же и подменю в меню «Пуск») будет создана папка с названием «Отключенные элементы запуска», куда «MSConfig.exe» и переместит отключенный элемент. Для того, чтобы временно исключить ярлык из автоматической загрузки я прибегаю к более простому способу: у необходимого ярлыка я выставлю атрибут «скрытый» и при следующей загрузке он пропускается.
The next folder is «Common» for all users - folder «StartUp» (Common Startup Folder), which is also processed after Windows booting to search the shortcuts to documents or applications. One can see it in submenu «Start» in Windows NT or 2000. Its content is not shown in Windows 9.x, ME. It must store the shortcuts common for all users' profiles. This folder created for multi-users mode as reported in Microsoft documentation (MSDN). However, its content is processed, even Windows 95, 98, ME work in single-user mode. Следующая папка - это «Общая» для всех пользователей папка «Автозагрузки» (Common Startup Folder), которая также отрабатывается после загрузки Windows в поисках ярлыков с документами или приложениями. Увидеть ее в подменю «Пуск» можно в Windows NT или 2000. В Windows 9.x, ME ее содержимое не отображается. Она должна хранить ярлыки общие для профилей всех пользователей. В документации Microsoft (MSDN) сказано, что эта папка создавалась для многопользовательского режима Windows. Однако ее содержимое отрабатывается, даже если Windows 95, 98, ME работают в однопользовательском режиме.
The value «Common Startup» in «HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\Windows\CurrentVersion \Explorer\User Shell Folders» system registry key, which store the locations of all the changed folders, stores its registered location on the hard drive. If this value is missing, one must search this folder location «by default» in «Common Startup» in «HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\Windows\CurrentVersion \Explorer\Shell Folders» key. В системном реестре ее размещение на жестком диске прописано в строковом параметре «Common Startup» ключа «HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\Windows\CurrentVersion \Explorer\User Shell Folders», который хранит измененные пути папок. При отсутствии этого параметра следует посмотреть размещение этой папки «по умолчанию» в параметре «Common Startup» ключа «HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\Windows\CurrentVersion \Explorer\Shell Folders».
«MSConfig.exe» also shows the list of executables located in «Common» (general for all the users) «StartUp» folder. If using the «MSConfig.exe» turns off any item, the folder with name «Disabled Startup Items» will be created in the same, where the «Common StartUp» folder is located, folder, and the disabled item will be moved there. Список исполнимых файлов находящихся в «Общей» (для профилей всех пользователей) папке «Автозагрузка» также показываются «MSConfig.exe». Если отключить автоматический запуск какого-нибудь элемента через «MSConfig.exe», то в той же папке, где находится папка «Общего запуска» будет создана папка с названием «Отключенные элементы запуска», куда утилитой «MSConfig.exe» будет перемещен отключенный элемент запуска.
The administrators are to pay attention to this folder content as to place of possible application startup. Администраторам следует обращать внимание на содержимое этой папки, как место для возможного запуска приложений.

System registry: startup, common for all Windows versions

Системный реестр: автозапуск, общий для всех версий Windows

There is the branch «SOFTWARE\Microsoft\Windows\CurrentVersion» in the Windows system registry containing several groups for applications startup. All these groups can be in the both HKEY_LOCAL_MACHINE hive and HKEY_CURRENT_USER hive. The description is general; all can be extrapolated for both these hives. If Windows is used in multi-user mode, in other words, this is either Windows version NT/2000/XP, or 95, 98, ME with user profiles enabled, one must also search these groups in «HKEY_USERS\.Default» hive. This branch is common for all the users of system. If Windows 95, 98, ME work in single-user mode, the «HKEY_USERS\.Default» branch is identical to the HKEY_CURRENT_USER branch. В системном реестре Windows есть ветвь «SOFTWARE\Microsoft\Windows\CurrentVersion» содержащая несколько групп для автоматического запуска приложений. Все эти группы могут быть как в разделе HKEY_LOCAL_MACHINE так и в разделе HKEY_CURRENT_USER. Изложение будет общим, и все может быть экстраполировано на оба этих раздела. Если Windows используется как многопользовательская среда, другими словами, это либо Windows версий NT/2000/XP, либо 95, 98, ME с задействованными профилями пользователей, то группы запуска следует искать также в разделе «HKEY_USERS\.Default». Это раздел - общий для всех пользователей системы. Если Windows 95, 98, ME работают в однопользовательском режиме, то раздел «HKEY_USERS\.Default» идентичен разделу HKEY_CURRENT_USER.
So then, I give the full paths to keys: Итак, я приведу полные пути к ключам:
«SOFTWARE\Microsoft\Windows\CurrentVersion\Run»,
«SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce»,
«SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx»,
«SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\Setup»,
«SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices»,
«SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce»,
which can contain the string values with applications or documents names launching during the system starts. The «RunOnce» branch is not supported in Windows NT 3.5. The names of string values, which are located in these keys, can be arbitrary. которые могут содержать строковые параметры, с именами приложений или документов запускающиеся при старте системы. Раздел реестра «RunOnce» не поддерживается в Windows NT 3.5. Имена строковых параметров, содержащихся в этих ключах, могут быть произвольными.
Further I deliver few rules, orientated on which one can better understand the process and the order of applications launch registered in those or other places for startup: Далее я приведу несколько правил, ориентируясь на которые можно лучше понять процесс и очередность запуска приложений, прописанных в тех или иных местах автозапуска:
  1. The keys, located in HKEY_LOCAL_MACHINE hive, are processed earlier than corresponding keys, located in HKEY_CURRENT_USER hive.
  2. The content of «RunServices», «RunServicesOnce» system registry keys is processed earlier than values in «Run», «RunOnce» keys.
  3. The launch of «RunServices» and «RunServicesOnce» happens before the displaying of user logon dialog box, further goes asynchronously with logon dialog box and can continue after successful registration. The applications, registered in system registry values, located in «RunServices» and «RunServicesOnce» are launched asynchronously, and therefore there can be the situation when they work simultaneously.
  4. The launch of applications or documents, as it follows from the very name, registered in «RunOnce» and «RunServicesOnce» keys, happens one time irrespective whether it is successful or not. The value, located in «RunOnce» or «RunServicesOnce» key, is removed before the launch of application, which name it contains.
  5. The values, stored in «Run», «RunOnce» keys, are launched synchronously and in indefinite order, but only, when the content of «RunServices» and «RunServicesOnce» finishes loading.
  1. Ключи, содержащиеся в разделе HKEY_LOCAL_MACHINE отрабатываются раньше соответствующих ключей, находящихся в разделе HKEY_CURRENT_USER.
  2. Содержимое ключей системного реестра «RunServices», «RunServicesOnce» обрабатывается раньше параметров ключей «Run», «RunOnce».
  3. Запуск «RunServices» и «RunServicesOnce» происходит до выдачи окна регистрации пользователя, далее идет асинхронно с диалогом регистрации и может продолжаться и после успешно проведенной регистрации. Приложения, прописанные в параметры системного реестра, содержащиеся в ключах «RunServices» и «RunServicesOnce» запускаются асинхронно и, поэтому, может быть ситуация, когда они будут работать одновременно.
  4. Запуск приложений или документов, как это следует из самого названия, прописанных в ключах «RunOnce» и «RunServicesOnce» происходит один раз не зависимо был он успешным или нет. Параметр, находящийся в ключе «RunOnce» или «RunServicesOnce», удаляется до запуска приложения, имя которого он содержит.
  5. Параметры, содержащиеся в ключах «Run», «RunOnce» запускаются синхронно и в неопределенном порядке, но после того, как закончило загрузку содержимое «RunServices» и «RunServicesOnce».
The system registry keys are processed in the following order. At first, the «RunServices» and «RunServicesOnce» content of HKEY_LOCAL_MACHINE hive is processed. Further the logon dialog box for user registration in system appears. After this the operating system start processing the «RunOnce» and «Run» keys of HKEY_LOCAL_MACHINE hive, further «Run» of HKEY_CURRENT_USER hive. The items stored in «StartUp» folder are the next to get launched. After this is the turn of values in «RunOnce» key of HKEY_CURRENT_USER hive. Ключи системного реестра обрабатываются в следующем порядке. Первыми отрабатывается содержимое «RunServices» и «RunServicesOnce» раздела HKEY_LOCAL_MACHINE. Далее выдается окно регистрации пользователя в системе. После этого операционная система переходит к обработке ключей «RunOnce» и «Run» раздела HKEY_LOCAL_MACHINE, далее «Run» раздела HKEY_CURRENT_USER. Следующими запускаются элементы, содержащиеся в папке «Автозагрузка». После этого наступает очередь параметров ключа «RunOnce» раздела HKEY_CURRENT_USER.
The list located in «RunServices» and «Run» keys, which automatically startup while Windows boots, can be controlled with the application for the system tuning «MSConfig.exe». If any item form the list is disabled, the «MSConfig.exe» will move this item to «RunServices-» or «Run-» correspondingly. Списками параметров, автоматически запускающих приложения при старте Windows, находящихся в ключах «RunServices» и «Run», можно управлять с помощью приложения для настройки системы «MSConfig.exe». Если отключить какой-либо элемент из списка, то «MSConfig.exe» переместит этот элемента в ключ «RunServices-» или «Run-» соответственно.
The «Setup» key, which can be stored in «RunOnce» key both in HKEY_LOCAL_MACHINE hive and HKEY_CURRENT_USER hive, is worthy attention. This key is used by either the Windows Setup Wizard or «Add/Remove Programs» Wizard. While working through the values containing in this key, dialog box with the progress bar is displayed. The name of item is used as a name of item in dialog box. Analogously to the content «RunOnce» key, the item of the «RunOnce\Setup» are deleted and launched one time. Следует обратить внимание на ключ «Setup», который может содержаться в ключе «RunOnce» как в разделе HKEY_LOCAL_MACHINE, так и в разделе HKEY_CURRENT_USER. Этот ключ используется как мастером установки Windows, так и мастером «установки - удаления» программ. При отработке параметров, содержащихся в этом ключе, отображается диалоговое окно с индикатором прогресса. Имя параметра используется как имя пункта в диалоговом окне. Аналогично содержимому ключа «RunOnce», пункты ключа «RunOnce\Setup» удаляются и запускаются один раз.
Another system registry key, which is worthy attention, is «RunOnceEx». I will give the differences in launch for the values located in «RunOnceEx» and «RunOnce» from the launch of values located in system registry key «Run». Еще один ключ системного реестра, на который следует обратить внимание - это «RunOnceEx». Приведу отличия запуска параметров находящихся в «RunOnceEx» и «RunOnce» от запуска параметров содержащихся в ключе системного реестра «Run».
The values located in «RunOnceEx» key will not be launched. For the automatic processing the registry sub-key must be created in it and, this sub-key, which is to contain values with applications names. The keys and values located in «RunOnceEx» key are sorted in alphabetical order to force them to definite startup order compulsorily. In other words, the item higher by alphabet would be launched earlier, not depending when it was added to «RunOnceEx» key. The applications or scripts must either finish themselves or not require the definite action for finishing. While one item is not finished either further list processing stops or Windows booting stops waiting for compulsory terminating of the launched application. The separate processes are not created for the applications launched from «RunOnceEx» key in contrast to the «RunOnce» и «Run» keys. Параметры, находящиеся в ключе «RunOnceEx», запускаться не будут. Для автоматической отработки необходимо создать в нем ключ реестра, и уже в нем должны быть параметрами с именами приложений. Ключи и параметры, находящиеся в ключе «RunOnceEx» сортируются в алфавитном порядке для того, чтобы принудительно придать им строго определенный порядок запуска. Другими словами, элемент находящийся выше по алфавиту будет запущен раньше, не зависимо от того, когда он был добавлен в ключ «RunOnceEx». Приложения или файлы сценариев должны или сами себя завершать или не требовать отдельного вмешательства для завершения. Пока не завершится один элемент запуска или остановится дальнейшая отработка списка, или загрузка Windows остановится в ожидании принудительного завершения запущенного приложения. Для приложений запущенных из ключа «RunOnceEx» в отличие от ключей «RunOnce» и «Run» отдельные процессы не создаются.
«MSConfig.exe» application for the system tuning does not show the content of the keys «RunOnce», «RunOnceEx», «RunOnce\Setup» and «RunServicesOnce» Содержимое ключей «RunOnce», «RunOnceEx», «RunOnce\Setup» и «RunServicesOnce» приложением настройки системы «MSConfig.exe» не отображается.

Startup features in Windows NT/2000/XP

Особенности автозапуска в Windows NT/2000/XP

As an addition to above-listed keys, the another key «Software\Microsoft\Windows NT\CurrentVersion \Windows\Run» is specific for Windows versions NT, 2000 and XP, which can be in hives LOCAL_MACHINE or HKEY_CURRENT_USER. В добавление к вышеперечисленным ключам, для Windows версий NT, 2000 и XP специфичен еще один ключ системного реестра - «Software\Microsoft\Windows NT\CurrentVersion \Windows\Run», который может находиться в разделах LOCAL_MACHINE или HKEY_CURRENT_USER.
There can be two string values «Load» and «Run» in «Software\Microsoft\Windows NT\CurrentVersion \Windows» key, which can store the list of applications for automatic startup. В ключе «Software\Microsoft\Windows NT\CurrentVersion\ Windows» могут находиться два строковых параметра «Load» и «Run», которые могут хранить списки приложений для автоматического запуска.
These values are analogies to values of the same name from the initialisation file «Win.ini». When Windows NT (2000) is installed over Windows 95, 98 the values content from section «[windows]» of «Win.ini» are transferred to the corresponding values of «Software\Microsoft\Windows NT\CurrentVersion\ Windows» key. If several files are registered in the value, their names must be separated with space chars. Therefore the path to file containing the space char can not be written to them, the quotation marks are not accepted. The content «by default» for these values is the space char. The programs, which launched from «Load» value, are minimised during launch. Эти параметры аналогичны одноименным параметрам из файла инициализации «Win.ini». При установке Windows NT (2000) поверх Windows 95, 98 значения параметров из «Win.ini» раздела «[windows]» переносятся в соответствующие параметры ключа «Software\Microsoft\Windows NT\CurrentVersion\ Windows». Если в параметре указывается несколько файлов, то имена должны быть разделены пробелами. Поэтому в них невозможно прописать путь к файлу, содержащим пробелы, - двойные кавычки не принимаются. «Значение по умолчанию» для этих параметров - пробел. Программы, запущенные из параметра «Load», минимизируются при запуске.

Startup features in Windows ME/2000/XP

Особенности автозапуска в Windows ME/2000/XP

Windows versions has another one list for documents or applications startup, launching after the user registration in the system, which can be located both in HKEY_LOCAL_MACHINE hive and HKEY_CURRENT_USER hive. It is stored in string values of «Software\Microsoft\Windows\CurrentVersion \Policies\Explorer\Run» key. The names of values for this key have one distinctive feature: they must be represented in the form of ordinal numbers, beginning at «1». The list located in HKEY_LOCAL_MACHINE hive will be processed before the list of HKEY_CURRENT_USER hive. У Windows версий ME, 2000 и XP появляется еще один список автозагрузки программ или документов, запускающихся после регистрации пользователя в системе, который может размещаться как в разделе HKEY_LOCAL_MACHINE, так и в разделе HKEY_CURRENT_USER. Он размещается в строковых параметрах ключа «Software\Microsoft\Windows\CurrentVersion \Policies\Explorer\Run». Имена параметров для этого ключа имеют особенность: они должны быть представлены в виде порядковых номеров, начиная с «1». Список, находящийся в разделе HKEY_LOCAL_MACHINE будет отработан раньше списка раздела HKEY_CURRENT_USER.

Startup while Windows Logon

Автозапуск при отработке Windows Logon

The separate group Windows Logon for the control over the initialisation during the user registration appears in Windows NT and is developed further by Microsoft for Windows version 2000 and XP. The Winlogon values are located in the system registry in «SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon» key of HKEY_LOCAL_MACHINE hive. All the described in the article values, related to Winlogon, have the string type. Отдельная группа Windows Logon для управления инициализацией при регистрации пользователя появляется в Windows NT и далее развивается Microsoft для Windows версий 2000 и XP. Параметры Winlogon находятся в системном реестре в ключе «SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon» раздела HKEY_LOCAL_MACHINE. Все описываемые в статье параметры, относящиеся к Winlogon, имеют строковый тип.

Shell value

Параметр Shell

The «Shell» value standing for the program shell, is present in the system registry branch «Winlogon» in Windows versions NT, 2000 and XP. Параметр «Shell», отвечающий за программную оболочку, присутствует в ветви реестра «Winlogon» в версиях Windows NT, 2000 и XP.
This string value determines the list of executable files providing the operating system with the user interface, and which must be launched together with the program shell. Этот строковый параметр определяет список исполнимых файлов, обеспечивающих для операционной системы интерфейс пользователя, и которые должны быть запущены вместе с программной оболочкой.
«By default» Windows launches the programs, enlisted in «Userinit» value, located in «Winlogon» branch, and including very «Userinit.exe». If, by any reason, «Winlogon» process could not launch the programs defined in «Userinit» value, then «Winlogon» would directly go to process the executable files, which name are registered in «Shell» value. «По умолчанию» Windows запускает программы, перечисленные в параметре «Userinit», расположенным в ветви «Winlogon», включая и сам «Userinit.exe». Если же, по какой-то причине «Winlogon» процесс не смог запустить программы определенные в параметре «Userinit», тогда «Winlogon» переходит непосредственно к обработке исполнимых файлов, имена которых записаны в параметре «Shell».
The «value by default» of «Shell» can vary. This is «taskman, progman, wowexec» for Windows NT and «Explorer.exe» for Windows 2000, XP. «Значение по умолчанию» параметра «Shell», может варьироваться. Это - «taskman, progman, wowexec» для Windows NT, и «Explorer.exe» для Windows 2000, XP.

System value

Параметр System

This value is present in Windows versions NT, 2000 and XP. It contains the list of executable files launched by Winlogon in the system context during the system initialisation. This list can be varied by modification of this value. Этот параметр присутствует в Windows версий NT, 2000 и XP. Он содержит список имен исполнимых файлов запускаемых Winlogon в системном контексте во время инициализации системы. Этот список можно варьировать, редактируя значение этого параметра.
The «value by default» is «lsass.exe, spoolss.exe» for Windows NT and «lsass.exe» for Windows 2000, XP. The note by Microsoft given in MSDN is interesting: «This entry appears in the registry, but it is not used by Windows». «Значение по умолчанию» этого параметра - «lsass.exe, spoolss.exe» для Windows NT, и «lsass.exe» для Windows 2000, XP. Интересно замечание Microsoft приведенное в MSDN: «Этот параметр появляется, но не используется самой Windows 2000».

VmApplet value

Параметр VmApplet

«VmApplet» value launching the «Control Panel» application for the system configuration is specific for Windows versions 2000 и XP. Параметр «VmApplet», запускающий приложение «Панели управления» для настройки конфигурации системы, специфичен для Windows версий 2000 и XP.
It stores the list or one executable file, which is launched by Winlogon process to let user to adjust the virtual memory settings, if the system volume misses the paging swap-file. The file extensions for the file name are not obligatory. Он содержит список или один исполнимый файл, которые Winlogon-процесс запускает для того, чтобы пользователь мог скорректировать настройки виртуальной памяти, если на системном томе отсутствует страничный файл подкачки. В этом параметре не обязательно указывать расширения для имен файлов.
The «value by default» for it is «rundll32 shell32, Control_RunDLL "sysdm.cpl"». One must not change the content of this value without need, because it can lead to the change of virtual memory settings in Windows 2000, XP. «Значение по умолчанию» этого параметра - «rundll32 shell32, Control_RunDLL "sysdm.cpl"». Не стоит без нужды и изменять значение этого параметра, потому что это может привести к изменению настроек виртуальной памяти в Windows 2000, XP.

Userinit value

Параметр Userinit

«Userinit» (user initialization) is specific for Windows versions NT, 2000 and XP. «Userinit» (инициализация пользователя) специфичен для версий Windows NT, 2000 и XP.
The content of this value contains the executables, which are launched by WinLogon process in user context, during the user registration in the system. Значение этого параметра содержит исполнимые файлы, которые запускаются процессом WinLogon в контексте пользователя, при регистрации пользователя в системе.
«By default» Winlogon launches «Userinit.exe», which is responsible for the launch of program shell, and executes the script files for registration, re-establishes the network connections and then launches the «Explorer.exe». «По умолчанию» Winlogon запускает «Userinit.exe», который ответственен за запуск программной оболочки и исполняет файлы сценариев для регистрации, переустанавливает сетевые соединения и затем запускает «Explorer.exe».
The «value by default» for «Userinit» is «userinit, nddeagnt.exe» for Windows NT, «userinit» for Windows 2000, XP. «nddeagnt.exe» application is necessary for the NetDDE launch - network dynamic data exchange. «Значение по умолчанию» параметра «Userinit»: «userinit, nddeagnt.exe» для Windows NT, «userinit» для Windows 2000, XP. Приложение «nddeagnt.exe» необходимо для запуска NetDDE - сетевого динамического обмена данными.
The extensions in file name enumerated in this value are not obligatory. Расширения в именах файлов перечисленных в этом параметре - не обязательны.
One may change the content of this value by adding or removing the programs from the list. «Userinit.exe» can be changed to the name of one's own program, not having forgotten to include in application the code for «Userinit.exe» launch, if it is necessary to launch the application before the user interface together with the Windows «explorer» is loaded. Or make much simpler, creating the executable file for batch processing named «userinit.bat» with the list of programs for launch and registering in one of the lines the very «Userinit.exe» file. Значение этого параметра можно изменять, добавляя или убирая программы из списка. Если необходимо запустить приложение до загрузки интерфейса пользователя вместе с «проводником» Windows, то для этого можно заменить «Userinit.exe» на имя своей программ, не забыв включить в приложение код для запуска «Userinit.exe». Или поступить еще проще, создав файл исполнимый файл для пакетной обработки с именем «userinit.bat», со списком программ для запуска и в одной из строк прописать собственно «Userinit.exe».
P.S. These are administrators, but not hackers, who were addressed with the information, systematised in this article. The official Microsoft documentation contains in such or other form all the knowledge given in the article. P.S. Информация, систематизированная в этой статье была адресована в первую очередь администраторам Windows-систем, а не хакерам. Все сведения, приведенные в статье содержатся в том или ином виде в официальной документации Microsoft.
Valient Newman aka Black Prince

Publications Top Page Projects