Archive: Only uninstall files installed with ifnewer


Only uninstall files installed with ifnewer
Is there a way to only uninstall files installed with ifnewer set? The closest thread I found was here
http://forums.winamp.com/showthread....all+AND+delete

but that is to create a list of files at the time the installer is created. What I need is a list of files that passed the ifnewer test at the time of installation, then they are logged to a file which is then read by the uninstaller and they are deleted on uninstall.

I don't think this would be very hard and I could probably do it, I just thought I'd ask if anyone already has a script like this that they could post.

Also integrating "uninstalling only installed files" into the base uninstaller might be a good feature to add as when searching for it a lot of posts came up, and honestly most poeple think this is how uninstall works by default, plus many other installers have this option.

Another question, I created the following macro
!macro FileLog dst src name
File "/oname=$SYSDIR\${dst}" "${name}\${src}"
!system 'echo Delete "$SYSDIR\${dst}" >> $INSTDIR\uninstaller.nsh'
!macroend

But when called from the main section such as
Section "MainSection" SEC01
FileLog "dst.exe" "src.exe" "Source Dir"
SectionEnd

I get the following error
Invalid command: FileLog
Error in script "stdin" on line 175 -- aborting creation process


Macros are called using the !insertmacro command, not using their name directly.