Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Неполучается зарегистрировать Dll библиотеку (http://forum.oszone.net/showthread.php?t=321853)

ufooo000 19-12-2016 00:05 2696738

Неполучается зарегистрировать Dll библиотеку
 
После запуска этого скрипта в контекстном меню появляется опция [ Registry OCX Files и Abort Registration ].
В этом скрипте срабатывает строка регистрации библиотек OCX, а при отмене регистрации происходит ошибка: 080040200.
Код:

@Echo Off
Reg.exe add "HKCR\ocxfile\Shell\Registry OCX Files\command" /ve /t REG_SZ /d "regsvr32.exe \"%%1\"" /f
Reg.exe add "HKCR\ocxfile\Shell\Abort Registration\command" /ve /t REG_SZ /d "regsvr32.exe /u \"%%1\"" /f
Exit

После запуска этого скрипта в контекстном меню появляется опция [ Registry Dll Files и Abort Registration ].
В этом скрипте выскакивает только ошибки
Код:

@Echo Off
Reg.exe add "HKCR\dllfile\Shell\Registry Dll Files\command" /ve /t REG_SZ /d "regsvr32.exe \"%%1\"" /f
Reg.exe add "HKCR\dllfile\Shell\Abort Registration\command" /ve /t REG_SZ /d "regsvr32.exe /u \"%%1\"" /f
Exit

B чем тут проблема...
l

Serguei Kouzmine 19-12-2016 00:30 2696743

по-моему
опции /f нету у c:\Windows\system32\regsvr32.exe
- надо /i и/или /s
и несколько ошибок с кавычками и знаком процента (
и порядок аргументов

ну и dll должна быть правильная

Iska 19-12-2016 00:30 2696744

Цитата:

Цитата ufooo000
B чем тут проблема... »

Ваш код не умеет повышать свои привилегии с обычных до административных (ключевые слова: UAC, Run as Administrator). При использовании глаголов посредством файлового менеджера, запущенного с административными привилегиями, проблем не должно быть. Речь, разумеется, про ОС Vista+.

P.S. Делаете — делайте полноценно: текст, описание, команда. И не оставляйте Abort Registration как глагол по умолчанию.

ufooo000 19-12-2016 01:46 2696757

Вот этих файлов я зарегистрировал:
Код:

NPSWF32_23_0_0_185.dll
atitmmxx.dll
atitmmxx.dll
midas.dll
xactengine3_7.dll
XAudio2_7.dll
CapiCom.dll

А вот этого не получается:
Код:

FlashUtil32_23_0_0_185_Plugin.dll

Iska 19-12-2016 02:01 2696759

Цитата:

Цитата ufooo000
Вот этих файлов я зарегистрировал: »

Без разницы какие. Лишь бы функции соответствующие содержали.

ufooo000 19-12-2016 02:23 2696761

Цитата:

Цитата Iska
Без разницы какие. »

А тогда что на этого ругается:
Код:

FlashUtil32_23_0_0_185_Plugin.dll

Iska 19-12-2016 03:01 2696763

Я же написал выше:
Цитата:

Цитата Iska
Лишь бы функции соответствующие содержали. »

Не каждую библиотеку можно зарегистрировать таким образом. Вы представляете, что это за процесс, и для чего он, собственно, нужен? Или просто пробуете регистрировать/де-регистрировать всё подряд?!

INFO: How Regsvr32.exe Registers and Unregisters COM DLLs:
Цитата:

Your DLL must implement DllRegisterServer and DllUnregisterServer, which contain the logic that is necessary to add or delete the required registry entries for the COM component. RegSvr32.exe finds the entry point to these functions, and calls them appropriately.
Указанная библиотека не экспортирует перечисленные функции. Вот, можете сравнить:
Скрытый текст

Слева — FlashUtil64_22_0_0_209_Plugin.dll, справа — AutoItX3_x64.dll.


Время: 18:31.

Время: 18:31.
© OSzone.net 2001-