Почему не рекомендуется использовать ключ реестра HKCR root в Inno Setup? - PullRequest
1 голос
/ 30 апреля 2020

Я должен записать значение в ключ HKEY_CLASSES_ROOT. Для этого я написал бы:

RegWriteStringValue(HKCR, '<Root>', '<SubKey>', '<Value>');

Но когда я посмотрел в документации, я увидел это:

Использование HKCR не рекомендуется, используйте HKA с параметром Subkey вместо этого установите «Software \ Classes».

Я хотел бы знать, в чем разница между этими двумя?

Кроме того, я заметил, что в примерах в документации они используют HKEY_AUTO вместо HKA. Это то же самое?

1 Ответ

2 голосов
/ 30 апреля 2020

Вероятно, оно основано на рекомендациях Microsoft о том, что следует избегать использования HKEY_CLASSES_ROOT:

. В первую очередь оно предназначено для совместимости с реестром в 16-разрядных Windows.

Чтобы изменить настройки для интерактивного пользователя, сохраните изменения в HKEY_CURRENT_USER \ Software \ Classes вместо HKEY_CLASSES_ ROOT.

Чтобы изменить настройки по умолчанию, сохраните изменения в HKEY_LOCAL_MACHINE \ Software \ Classes

Процессы, запущенные в контексте безопасности кроме интерактивного пользователя не следует использовать ключ HKEY_CLASSES_ ROOT с функциями реестра.

...