Есть одна приятная особенность Windows, которая может быть использована для реализации сценария, который очень близок к тому, что вам нужно. Название функции - «Активная настройка». Эту функцию используют многие администраторы корпоративной сети, чтобы внести некоторые изменения в установленное программное обеспечение, что будет сделано с учетом изменений в профиле пользователя или HKCU.
После представления Internet Explorer 4 (надеюсь, это был IE4), Microsoft обнаружила, что иногда нужно запускать небольшие настройки, которые могут изменить настройку HKCU или некоторые файлы из профиля пользователя. Так что Microsoft сделала несколько компонентов IE4, которые делают это. Позже компоненты (Active Setup) стали частью операционной системы Windows.
Со времени можно использовать следующие ключи реестра, чтобы сделать это
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\[Guid]
и
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Active Setup\Installed Components\[Guid]
Основная настройка программного обеспечения запускается в административном контексте и создает ключ HKLM SOFTWARE\Microsoft\Active Setup\Installed Components\[Guid]
с некоторыми значениями. Наиболее важными являются значение REG_EXPAND_SZ с именем StubPath
и значением Version
. StubPath
определяет путь к мини-настройке, которая должна быть запущена, если пользователь входит в систему, и у него нет SOFTWARE\Microsoft\Active Setup\Installed Components\[Guid]
в его части HKCU . После запуска мини-установки она копирует значения SOFTWARE\Microsoft\Active Setup\Installed Components\[Guid]
из HKLM в HKCU, поэтому настройка не будет запущена при следующем входе в систему. Таким образом, значения HKLM определяют мини-настройку, а значения HKCU используются для проверки необходимости запуска / повторной настройки мини-установки. При увеличении значения Version
в части HKLM мини-настройка будет перезапущена один раз, и значение HKCU Version
будет обновлено.
Таким образом, основная настройка программного обеспечения может не только создавать некоторые настройки HKCU, но также, например, экспортировать их в reg-файл, и он может использовать regedit.exe / s TheRegFile.reg в качестве значения StubPath
.
Если можете прочитать здесь краткое описание Active Setup.