Моя утилита - RegsvrEx - позволяет частично обойти эту проблему. А именно: регистрировать компоненту не для системы в целом, а только для текущего пользователя. Естественно, в этом случае под остальными пользователями компонента работать не будет (пока ее и под ними тоже не зарегистрировать), но зато для данной операции пользовательских прав достаточно.
Утилита отличается от regsvr32 наличием дополнительного ключа запуска (остальные ключи сохранены) /c, который и включает режим регистрации под пользователем.
Приблизительный пример использования. Нужно создать объект Cool.object из библиотеки cool.ocx. И библиотека, и regsvrex лежат в каталоге базы.
Попытка
Объект=СоздатьОбъект("cool.object");
Исключение
ИмяДЛЛ=КаталогИБ()+"cool.ocx";
КомандаСистемы(КаталогИБ()+"regsvrex /s /c "+ИмяДЛЛ);
Попытка
Объект=СоздатьОбъект("cool.object");
Исключение
Сообщить("Таки не удалося :(");
КонецПопытки;
КонецПопытки;
Кроме того, таким же образом ( КомандаСистемы(КаталогИБ()+"regsvrex /s /c "+ИмяДЛЛ); ) можно регистрировать и внешние компонеты 1С перед их "загрузкой". Не все правда, v7plus например прокатит, а 1С++ - нет.
Вступайте в нашу телеграмм-группу Инфостарт