我目前正在支持/开发一种遗留系统(VC ++ 6.0)。但那不是问题所在。
该程序依赖于一些旧的系统.dll文件(我也有)。
我已经开始使用NSIS构建一个新的安装程序,但是我应该如何处理旧系统.dll文件?
我可以以某种方式确定当前系统文件(我运行Win7)是否比旧程序更新?
我不确定我是否应该覆盖"更新的"系统文件与旧的,没有检查任何"时间戳"?
答案 0 :(得分:1)
99%的时间,答案是“不要覆盖”。 Windows XP和更新版本已经拥有您需要的DLL文件。如果这些文件是关键系统文件,则Windows甚至不允许您因系统文件保护而覆盖它们。
我通常做的是使用内置在SetOverwrite函数中的NSIS来ifnewer(这将 - 正确 - 不触及现代版Windows上的DLL文件)
链接到SetOverwrite:http://nsis.sourceforge.net/mediawiki/index.php?title=Reference/SetOverwrite