Что может случиться в худшем случае? Предположим, что приложение удалено с жесткого диска, но библиотеки DLL не отменяются, а затем устанавливается более новая версия приложения.

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

Если новые библиотеки DLL помещены в другое место, может ли регистрация старых привести к сбою вызова (зарегистрированных) новых?

0
Sideshow Bob 19 Апр 2013 в 17:03
2
«Я планирую поступать неправильно, когда знаю, что делать правильно. Что может случиться?»
 – 
Damien_The_Unbeliever
19 Апр 2013 в 17:18
это зависит . Если установка обнаруживает старую регистрацию и не обновляет ее, тогда да, она будет указывать на старые библиотеки DLL. Если он просто перезаписывает регистрацию, он будет указывать на новые библиотеки DLL. Но что для вас значит «регистрация»?
 – 
Peter Ritchie
19 Апр 2013 в 17:30
Ну давай тогда умная задница, скажи :-)
 – 
Sideshow Bob
19 Апр 2013 в 17:31
(извините, ошибочная идентификация!) Для меня регистрация означает, что собственные библиотеки DLL регистрируются с помощью regsvr32 и .NET с помощью regasm.
 – 
Sideshow Bob
19 Апр 2013 в 17:32
regasm /codebase, даже.
 – 
Sideshow Bob
19 Апр 2013 в 17:40

1 ответ

Лучший ответ

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

2
Peter Ritchie 19 Апр 2013 в 17:36
Это хорошие моменты. Если предположить, что пользователь не пытается этого сделать, останутся ли старые регистрации «болтающимися» и будут ли мешать новым?
 – 
Sideshow Bob
19 Апр 2013 в 17:39
С COM-компонентами никогда нельзя быть уверенным, когда и как они будут использоваться. Это не может быть прямым действием пользователя.
 – 
Peter Ritchie
19 Апр 2013 в 18:12