I was thinking of using SetOverwrite to have the installer skip installing files which already exist in the destination directory... this is to save the user some time because I have a few fairly large files, so I don't want it unnecessarily overwriting large files that already exist.
But there's this problem with SetOverwrite.
If I'm installing a bunch of files with SetOverwrite ifdiff (overwrite only if older/newer), eg:
code:
SetOverwrite ifdiff
File X
File Y
Let's say File X is 500mb, File Y is 1kb.
The destination folder already has an identical File X, but a different File Y.
Thus File X would get skipped, but File Y would be overwritten.
But here's what happens:
File X gets skipped - now that's about 15-20 seconds saved.
But when it comes to overwriting File Y, it then spends that saved 15-20s of install time to overwrite this measly 1kb file!!
This makes no sense to me! Am I missing something here?
I'm still relatively inexperienced at NSIS, so could someone suggest an alternative for overwriting files if they are found to be older/newer than the ones being installed?
Thanks
----------------
Edit:
I find that placing the SetOverwrite and large file at the very end of the script works fine (it installs Y quickly, and skips X as intended):
code:
File Y
SetOverwrite ifdiff
File X
But this doesn't help when you have multiple large files.