2013-08-15 3 views
0

В настоящее время я поддерживаю/разрабатываю вид Legacy System (VC++ 6.0). Но это не проблема.NSIS: Должен ли я перезаписывать файлы System .dll?

Программа зависит от некоторых старых системных DLL-файлов (которые у меня также есть).

Я начал строительство нового установщика с использованием NSIS, НО что мне делать со старыми файлами .dll.

Могу ли я каким-то образом определить, являются ли текущие системные файлы (я запускаю Win7), новее, чем у старой программы?

Я не уверен, что я должен просто перезаписать «новые» системные файлы со старым, не проверяя «отметку времени»?

+0

Какие DLLS мы говорим? – Anders

ответ

0

99% времени ответ будет «НЕ перезаписывать». В Windows XP и новее уже есть файлы DLL, которые вам нужны. Если эти файлы являются критическими системными файлами, Windows даже не позволит вам перезаписывать их из-за System File Protection.

То, что я обычно делается это с помощью NSIS построен в SetOverwrite функции ifnewer (что будет - правильно - не трогайте DLL файлов на современных версиях Windows)

Ссылка на SetOverwrite: http://nsis.sourceforge.net/mediawiki/index.php?title=Reference/SetOverwrite