gifts2017

Регистрация ActiveX, решение проблемы админских прав

Опубликовал Андрей (Ukrandruha) в раздел Программирование - Внешние компоненты

Регистрация ActiveX, решение проблемы админских прав

Столкнулся с проблемой автоматической установки ActiveX из 1С - регистрация должна быть под админскими правами.

Покопавшись в документациях, написал приложение.

Данное консольное приложение принимает в качестве параметров 1. Имя регистрируемое компоненты 2. Имя пользователя 3. Пароль 4. Домен (если нужно) и регистрирует компоненту.

Пример запуска из внешней обработки;

	ИмяВременногоФайлаZIP = ПолучитьИмяВременногоФайла("zip");
	ДвоичныеДанные = ПолучитьМакет("Архив");
	ДвоичныеДанные.Записать(ИмяВременногоФайлаZIP);
	
	// Извлекаем из ZIP-архива все сохраняем во временный файл
	ЧтениеZIP = Новый ЧтениеZipФайла(ИмяВременногоФайлаZIP,);
	Каталог =  КаталогВременныхФайлов()+ "_aMap";
	ЧтениеZIP.ИзвлечьВсе(Каталог, РежимВосстановленияПутейФайловZIP.НеВосстанавливать);
	ЧтениеZIP.Закрыть();
	
	ЗапуститьПриложение(Каталог + "\reg.exe --component.dll --user --pass");	
	
	Предупреждение("Была установлена новаябиблиотека Программу следует перезагрузить");
        ЗавершитьРаботуСистемы();

Скачать файлы

Наименование Файл Версия Размер
reg.exe 2
.exe 6,50Kb
04.03.14
2
.exe 6,50Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Франко Деллиани (Franco) 05.03.14 10:08
То есть всё равно - само собой - имя пользователя и пароль администратора?
2. Андрей (Ukrandruha) 05.03.14 10:33
(1) Franco, Да, имя и пароль администратора. У нас он одинаковый на всех компьютерах.
3. Tpylalist (Операция1Ы) 05.03.14 12:05
4. Vlad (KillHunter) 05.03.14 12:10
Неплохое решение, а зачем тебе исходники там же усе описанно, берешь да встраиваешь.
5. Артур Аюханов (artbear) 05.03.14 12:11
Регистрирует именно АктивИкс или ДотНет-компоненты?
6. Андрей (Ukrandruha) 05.03.14 12:22
(5) artbear, Регистрирует activex и связанные сборки, все должно быть упаковано в архив и помещено в макет
7. Артур Аюханов (artbear) 05.03.14 12:54
8. Александр Зубцов (iov) 08.03.14 02:35
запустить неизвестное приложение без исходников на боевом сервере?
кто последний в очереди будет? я за вами...
9. Андрей (Ukrandruha) 11.03.14 10:22
(8) iov, это net приложение, при желании можете посмотреть код в рефлекторе. Не вижу проблем
10. Alex Melnichuk (Amel2010) 14.11.16 11:27
У меня дает ошибку "неверное имя или пароль". Отсюда вопрос: нужно ли указывать имя домена в имени пользователя?
И, если да, то в каком виде? И как передать служебные символы в пароле?

Сейчас только заметил, что домен указывается 4-м параметром... Но это не помогло - ругается так же.
11. Alex Melnichuk (Amel2010) 14.11.16 11:52
Разобрался - не нужно указывать "--" перед аргументами - так выполнилось без ошибок. НО!
Компонента все равно не регистрируется. Подозреваю, проблема в том, что компонента 32-битная, а регистрируется в 64-битной среде.
Нужно вызывать в таком случае %SystemRoot%\SysWoW64\regsvr32, а не %SystemRoot%\System32\regsvr32.
Автор, можно ли как-то устранить данный момент?
Коллеги, может кто подскажет, как автоматически регистрировать ActiveX в таком случае?
12. Роберт В е р т и н с к и й (v3rter) 14.11.16 14:30
Имя файла, совпадающее с консольной командой REG, считаю неудачным. Что-нибудь вроде xregsvr было бы уместнее.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа