Многие из моих конфигураций программного обеспечения хранятся в HKEY_USERS\S-1-5-21-2715202203-4090495733-1863141328-1000\Software
папке reg. Для разработки портативных приложений я хочу знать переменную окружения, чтобы S-1-5-21-2715202203-4090495733-1863141328-1000
иметь возможность динамически ссылаться на нее с любого компьютера, который мне нужен.
Вышеуказанная последовательность, очевидно, отличается для разных пользователей.
скриншот моего реестра
1:
решение1
Ключи в HKEY_USERS — это SID (Security IDentifier). Есть некоторые известные SID, которые одинаковы для всех систем. У Microsoft естьдокументописывая их. В том же документе говорится, что S-1-5-21 — неуникальные SID. Поэтому SID, начинающиеся с S-1-5-21, создаются динамически и не являются одинаковыми в разных системах.
Короче говоря: такой же ключ реестра, скорее всего, не будет ни на одном другом компьютере, который вы получите.
Если раздел реестра относится к вашей учетной записи пользователя, то вы можете использовать HKEY_CURRENT_USER. HKEY_CURRENT_USER — это ярлык для вашего раздела реестра HKEY_USERS\S-1-5-21-....
Если вы не уверены в своем SID, вы можете узнать его с помощью whoami /user
.
решение2
Чтобы добавить отсутствующую информацию о реестре из старой программы, которая ожидает, что данные находятся в ключе HKEY_USERS//Software/
Вы не можете создать новый SID, содержащийся в файле слияния .reg, вы не можете создавать новые SID независимо от разрешений.
Таким образом, размещение ключей в существующем SID решит проблему.
Или просто измените SID в файле реестра на SID в редакторе системного реестра.
Например, вы хотите объединить файл реестра, содержащий: [HKEY_USERS\S-1-5-21-1960408961-1202660629-1177238915-1005\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU\exe]
SID в файле: [S-1-5-21-1960408961-1202660629-1177238915-1005]
в то время как SID в редакторе системного реестра отличается
HKEY_USERS\S-1-5-21-1956030832-895603407-332460711-1000\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePidlMRU\exe
SID в reg.editor — [S-1-5-21-1956030832-895603407-332460711-1000]
Поэтому просто отредактируйте файл .reg и замените SID на SID в редакторе реестра.
Надеюсь, я ясно выразился.
И вот ссылка, которая привела меня к этому решению:
[[[Подразделы реестра в HKEY_USERS
Вот пример того, что вы можете найти в кусте HKEY_USERS:
HKEY_USERS\.DEFAULT
HKEY_USERS\S-1-5-18
HKEY_USERS\S-1-5-19
HKEY_USERS\S-1-5-20
HKEY_USERS\S-1-5-21-0123456789-012345678-0123456789-1004
HKEY_USERS\S-1-5-21-0123456789-012345678-0123456789-1004_Classes
...
Идентификаторы безопасности, которые вы видите в списке HKEY_USERS, наверняка будут отличаться от списка, который я привел выше.
Хотя у вас, скорее всего, будут .DEFAULT, S-1-5-18, S-1-5-19 и S-1-5-20, которые соответствуют встроенным системным учетным записям, ваши ключи S-1-5-21-xxx будут уникальными для вашего компьютера, поскольку они соответствуют «реальным» учетным записям пользователей в Windows.]]]
Спасибо, с наилучшими пожеланиями...