HKEY_CLASSES_ROOT
- псевдоним, объединение двух других местоположений:
HKEY_CURRENT_USER\Software\Classes
HKEY_LOCAL_MACHINE\Software\Classes
У вас естьрешить, почему вы регистрируете файл.Предполагается ли регистрация файла для всех пользователей?Если это так, вы хотите зарегистрировать ассоциацию с помощью HKEY_CLASSES_ROOT
(что неявно запишет ее в HKEY_LOCAL_MACHINE
.
Или регистрация предназначена только для текущего пользователя? Если это так, зарегистрируйте свой файл в HKEY_CURRENT_USER
.
Имейте в виду, что если один пользователь устанавливает вашу программу, это не означает, что все пользователи хотят ее иметь, поэтому подумайте, для чего она нужна.
В любом случае, правильноевремя регистрации файловой ассоциации было во время установки с помощью установщика MSI. Установщики MSI знают, как запрашивать повышение прав во время установки - если это необходимо. Не все программное обеспечение должно входить в Program Files
, некоторые могут входить в %APPDATA%
(т.е.) где для установки не требуются права администратора, и она устанавливается только для одного пользователя.