Зарегистрировать Dll в LOCAL_MACHINE

Я хочу зарегистрировать мой Dll по определенному пути в реестре, а не по умолчанию путь, который обычно занимает .. Я новичок в Windows и не знаю много об этом. Может ли кто-нибудь сказать мне, что все, что мне нужно упомянуть в моем фрагменте кода, или есть что-нибудь, что можно добавить к нему, чтобы мои dll получили регистры в HKEY_LOCAL_MACHINE.

-2

Решение

Почему вы хотите это сделать? COM dll должны быть зарегистрированы в HKEY_CLASSES_ROOT, все остальное не имеет смысла.

Причина в том, что когда некоторым другим компонентам нужно создать экземпляр вашего COM-сервера, они обычно CoCreateInstance API, который будет искать информацию о классе в кусте HKCR реестра, а не где-то еще. Если вы зарегистрируете свой класс где-то еще, никакой другой компонент не сможет найти его, который был бы таким же, как если бы он вообще не был зарегистрирован.

1

Другие решения

Вам нужно использовать Функции реестра Win32 API:

  1. Создать (открыть, если существует) ключ с RegCreateKeyEx
  2. Установить значение с RegSetValueEx
  3. Закройте ключ реестра с помощью RegCloseKey

Смотрите также пример кода.

0

Вам необходимо уточнить, что вы подразумеваете под «регистрация».

COM — это спецификация, и если вы хотите зарегистрировать свой компонент для COM, вы должны следовать спецификации. Это означает HKEY_LOCAL_MACHINE\SOFTWARE\Classes, Нет смысла регистрировать COM-сервер где-либо еще, потому что ничто его не найдет.

Если вы имеете в виду что-то еще под «зарегистрироваться», пожалуйста, уточните.

0
По вопросам рекламы [email protected]