Имеет ли эта команда только мягкие ссылки на x.dll
, скажем, удаляю ли я x.dll
вещи не будут работать?О regsvr32 x.dll
ответ
Программа regsvr32
вызывает DllRegisterServer
entry point в DLL.
Regsvr32 вызывает известную функцию, экспортируемую DLL, называемую DllRegisterServer. Цель этого - разрешить DLL регистрировать в реестре любые COM-компоненты, реализованные DLL.
Точное влияние удаления dll зависит от того, существуют ли клиентские приложения, которые пытаются создать и использовать экземпляр COM-объектов, реализованных в dll. Если ни одно приложение не пытается это сделать, ничего плохого не произойдет. если приложение пытается это сделать, плохие эффекты будут ограничены только этим приложением и зависят от того, насколько хорошо приложение имеет дело с кодом ошибки, который COM API вернет к нему. Если приложение хорошо себя ведет, а объект COM не имеет решающего значения для его функциональности, приложение будет продолжать работать, хотя и с уменьшенной функциональностью. Если приложение плохо написано, оно может потерпеть крах. Если объект COM имеет решающее значение, приложение может выбрать, чтобы показать ошибку пользователю и выйти или просто быстро выйти из строя.
Сохраняет ли 'regsvr32' другую копию' dll'? – wamp
@wamp: Нет, это не так. Сама DLL может, но, вероятно, не будет. – SLaks
Так должно оставить 'dll' там, где это было, чтобы заставить его работать как COM-компонент, не так ли? – wamp