added information about $INSTDIR not having the same value in installer and uninstaller

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3777 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2004-11-23 20:10:40 +00:00
parent 4462ab3fa5
commit 2115d8ce1c
2 changed files with 5 additions and 1 deletions

View file

@ -9,4 +9,6 @@ A special Section named 'Uninstall' must be created in order to generate an unin
\c DeleteRegKey HKLM SOFTWARE\myApp
\c SectionEnd
The first \R{delete}{Delete} instruction works (deleting the uninstaller), because the uninstaller is transparently copied to the system temporary directory for the uninstall.
The first \R{delete}{Delete} instruction works (deleting the uninstaller), because the uninstaller is transparently copied to the system temporary directory for the uninstall.
Note that in uninstaller code, $INSTDIR contains the directory where the uninstaller lies. It does \\<b\\>not\\</b\\> necessarily contain the same value it contained in the installer.

View file

@ -24,6 +24,8 @@ Registers. These variables can be used just like user variables, but are usually
The installation directory ($INSTDIR is modifiable using \R{StrCpy}{StrCpy}, \R{readregstr}{ReadRegStr}, \R{readinistr}{ReadINIStr}, etc. - This could be used, for example, in the \R{oninit}{.onInit} function to do a more advanced detection of install location).
Note that in uninstaller code, $INSTDIR contains the directory where the uninstaller lies. It does \\<b\\>not\\</b\\> necessarily contain the same value it contained in the installer. For example, if you write the uninstaller to $WINDIR and the user doesn't move it, $INSTDIR will be $WINDIR in the uninstaller. If you write the uninstaller to another location, you should keep the installer's $INSTDIR in the registry or an alternative storing facility and read it in the uninstaller.
\e{$OUTDIR}
The current output directory (set implicitly via \R{setoutpath}{SetOutPath} or explicitly via \R{StrCpy}{StrCpy}, \R{readregstr}{ReadRegStr}, \R{readinistr}{ReadINIStr}, etc)