Archive: Uninstall from alternate folder bug?


Uninstall from alternate folder bug?
Using NSIS v1.96

I have reason (it's a long story) to place my UNINSTALL.EXE into a different folder (not the $INSTDIR). However during the uninstall process it does not seem to honor the true $INSTDIR folder, instead it believes the $INSTDIR is the folder where the UNINSTALL.EXE is located.

I was able to fix this in the script by using a "ReadRegStr" command (it won't let me use "InstallDirRegKey" a second time), but I wanted to report this issue (bug?) in case I'm wrong or there is a better work around.

Thanks,

mmullikin


I have had the same problem. It seems to use EXEDIR as the INSTDIR. What I did was read the install dir from the registry. Then used that for all of my deletes.


It assumes that $EXEDIR of the uninstall is the $INSTDIR.
If you do something like put the uninstaller in $INSTDIR\MiscCrap,
you can always do something like this:

Function un.onInit
Push $INSTDIR
Call un.GetParent ; see functions.nsi :)
Pop $INSTDIR ; update $INSTDIR with parent dir.
FunctionEnd

Justin