簡體   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