繁体   English   中英

NSIS:我应该覆盖系统.dll文件吗?

[英]NSIS: Should I overwrite System .dll Files?

我目前正在支持/开发一种传统系统(VC ++ 6.0)。 但这不是真正的问题。

该程序取决于一些旧系统.dll文件(我也有)。

我已经开始使用NSIS构建新的安装程序,但是旧系统.dll文件应该怎么办?

我能以某种方式确定当前系统文件(我正在运行Win7)是否比旧程序中的文件新?

我不太确定是否只用旧文件覆盖“较新的”系统文件,而不检查任何“时间戳”?

在99%的时间里,答案将是“不要覆盖”。 Windows XP和更高版本已具有所需的DLL文件。 如果这些文件是关键系统文件,则由于系统文件保护,Windows甚至不允许您覆盖它们。

我通常要做的是使用内置于SetOverwrite函数中的NSIS到ifnewer(它将-正确-不会接触现代版本Windows上的DLL文件)

链接到SetOverwrite: http ://nsis.sourceforge.net/mediawiki/index.php?title=Reference/SetOverwrite

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM