Ключи реестра Windows для приложений для всех пользователей компьютера - PullRequest
0 голосов
/ 08 февраля 2011

Если я установлю приложение в Windows XP и оно запишет некоторые ключи в реестр HKCU, будут ли эти ключи скопированы в HKCU для других пользователей?

Я попытался установить одно приложение и проверил, что некоторые ключи создаютсяв HKCU.Теперь я вошел в систему под другим пользователем и могу найти те же ключи в HKCU для этого пользователя.

Оба пользователя были в одной группе администраторов.

Я повторил те же шаги в образе VMWare оконxp, но мне не удалось найти ключи реестра у других пользователей в образе vmware.

Я хочу знать, что это особенность Windows - копировать все ключи реестра в HKCU всех пользователей?

Ответы [ 4 ]

4 голосов
/ 08 февраля 2011

Нет, и это очень хорошая вещь.В больших компаниях есть корпоративные машины, которые могут использовать 100 000 других пользователей (без шуток).HKCU там роуминг.Если приложение получит все эти 100 000 профилей со всего мира, буквально администраторы будут более чем раздражены.

Обратите внимание, что HKCU обычно является ссылкой на HKEY_USERS\S-1-5-21-{UserID}

3 голосов
/ 08 февраля 2011

Есть одна приятная особенность 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.

1 голос
/ 08 февраля 2011

Нет, ты не можешь сделать это. Более того, если бы вы могли, это была бы гигантская дыра в безопасности. Профили являются приватными для каждого пользователя.

0 голосов
/ 08 февраля 2011

Нет.Там нет такой функции.HKCU хранится в файле в профиле пользователя.Приложения, хранящие данные о пользователе в реестре, создают данные при первом запуске для этого пользователя.

...