У нас есть устаревшее приложение VB6, которое обновляется при запуске, извлекая последние файлы и регистрируя компоненты COM.Это работает как для локальных (regsvr32) COM-компонентов ActiveX, так и для удаленных (clireg32) COM-компонентов ActiveX, зарегистрированных в COM + на другом компьютере.
Новые требования не позволяют нам записывать в HKEY_LOCAL_MACHINE (HKLM) по соображениям безопасности, чточто очевидно происходит по умолчанию при вызове regsvr32 и clireg32.
Мы придумали способ регистрации локального COM-компонента в HKEY_CURRENT_USER \ Software \ Classes (HKCU) с помощью RegOverridePredefKey метода Windows API.Это работает путем перенаправления вставок в реестр в расположение HKCU.Затем, когда создаются экземпляры COM-компонентов, Windows сначала обращается к HKCU, а затем ищет информацию о компонентах в HKLM.Это заменяет то, что делает regsvr32.
Проблема, с которой мы сталкиваемся в это время, заключается в том, что когда мы пытаемся зарегистрировать VBR / TLB с помощью clireg32, этот процесс регистрации также добавляет регистрационные ключи в HKEY_LOACL_MACHINE.
IsЕсть ли способ перенаправить clireg32.exe для регистрации компонента HKEY_CURRENT_USER?Существуют ли какие-либо другие методы, которые позволили бы нам зарегистрировать эти компоненты COM + на клиентском компьютере с ограниченным доступом к безопасности?
На данный момент единственным нашим решением будет ручная запись регистрационной информации в реестр, но это не так.идеально и будет проблема с обслуживанием.