В более поздних версиях Windows приложение, работающее от имени обычного пользователя, при записи в ключ HKLM действительно выполняет запись в ключ, сопоставленный с другим Root (ключ переводится в нечто, не являющееся действительно HKLM). Итак, без повышенных привилегий я не знаю, есть ли смысл в написании HKLM для каких-либо настроек, в частности для регистрации приложения (см. Мой другой связанный вопрос, на который вы ответили). Вот что привело меня к попытке понять, что действительно является лучшим / правильным / рекомендуемым использованием реестра пользовательским приложением. Я не мог найти полное руководство MSDN по этой теме.

я WiX для написания установщика, я многому научился из документации и руководств по настройке программы во время установки и установке или считыванию значений реестра. Однако параметры реестра в упомянутой документации и учебных пособиях не содержат объяснения требований к таким параметрам.

В качестве конкретного примера у меня есть установщик WiX для простого приложения сInstallScope установлен вperMachine, Я хотел добавить диалоговое окно «зарегистрированный пользователь» в мой установщик WiX. Я нашел пример, который позволяет пользователю вводить свое имя, организацию и регистрационный ключ. Для них заданы предопределенные свойства WiX: USERNAME, COMPANYNAME и PIDKEY соответственно. Когда они проверены, под капотом WiX записывает их в следующую папку реестра:

HKLM > Software > Microsoft > Windows > CurrentVersion > Installer > UserData > S-1-5-18 > Products > {GUID} > InstallProperties

Я провел много исследований, пытаясь найти ответ на следующие вопросы, и не смог найти ответы.

Каковы минимальные требования (или, по крайней мере, минимальные рекомендации Microsoft) для каких записей реестра необходимо установить при установке простейшего приложения Windows? Я знаю, что это в некоторой степени зависит от того, предназначена ли установка для всех пользователей (компьютеров) или конкретных пользователей, поэтому будет два разных ответа.

Где находятся стандартные места, где простая информация о приложении должна храниться в реестре?

Чтобы соответствовать рекомендациям / требованиям № 1, какие параметры реестра WiX всегда создает внутри, без явных записей XML, чтобы они возникали?

После того как определенные элементы реестра установлены, как в приведенном выше примере, как приложение находит их правильно с помощью API реестра? В частности, например, если после установки я хочу, чтобы мое приложение могло считывать информацию о зарегистрированном пользователе, буквально ли оно должно знать и открывать весь ключ, как показано выше, или существует вызов Windows API, который обрабатывает часть этого ?

Я нашел многообещающую информацию в MSDN в статье под названиемРегистрация приложения, но у меня возникли проблемы с сопоставлением специфики этой статьи с тем, что WiX делает с реестром для установки. В частности, например, они предлагают использоватьHKEY_LOCAL_MACHINE or HKEY_CURRENT_USER > SOFTWARE > Microsoft > Windows > CurrentVersion > App Paths > ... но в моей системе (под управлением Windows 10) этот ключ даже не существует. Так что другие приложения даже не используют его. Это возвращает нас к моему вопросу № 1.

Ответы на вопрос(2)

Ваш ответ на вопрос