Upgrade Code Explanation
Ok, so my installer can detect if it is already installed, and can launch the uninstaller from the previous version before the new files are installed. The uninstall process launches in an Upgrade section.
Now here's the crazy thing, it wasnt working using
nsExec::Exec '"$INSTDIR\uninstall.exe" /S'
But I found this code in the archive here to do this very thing, and the code shows the upgrade process like this:
ExecWait '$R0 _?=$INSTDIR'
So I changed my code accordingly, and now the upgrade magically works. So what on earth does this _?=$INSTDIR option do??