2013-04-19 3 views
0

Что самое страшное, что может случиться? Предположим, что приложение удалено с жесткого диска, но библиотеки DLL не получают незарегистрированных файлов, а затем установлена ​​более новая версия приложения.Последствия НЕ отменить регистрацию dll при удалении во время удаления?

Может ли регистрация для старых DLL в конечном итоге указывать на новые, но содержать неверные данные типа?

Если новые DLL-файлы размещены где-то в другом месте, может ли регистрация для старых вызвать вызов (зарегистрированных) новых, чтобы сбой?

+2

«Я планирую сделать что-то не так, когда я знаю, как правильно это делать. Что может произойти?» –

+0

* Это зависит *. Если установка обнаруживает старую регистрацию и не обновляет ее, то да, она укажет на старые DLL. Если он просто перезаписывает регистрацию, то он укажет на новые dll. Но что для вас значит «регистрация»? –

+0

@ Damien Хорошо продолжайте, тогда умная задница, скажите мне :-) –

ответ

2

Для COM-зарегистрированных DLL я определенно рекомендую отменять регистрацию перед копированием новых файлов. Процесс незарегистрации (когда выполняется с установщиком) обнаруживает используемые DLL-файлы и предупреждает вас о необходимости перезагрузки. Кроме того, это также означает, что библиотеки DLL не могут быть загружены (один раз незарегистрирован) , а вы копируете новые файлы или регистрируете новые файлы.

+0

Это хорошие моменты. Если предположить, что пользователь не пытается это сделать, будут ли старые регистрации оставлены «свисающими» и помешать новым? –

+0

С компонентами COM вы никогда не уверены, когда/как они будут использоваться. Это может быть не прямое действие пользователя. –

Смежные вопросы