Здраствуйте, K.A.V. Я задавал вопрос о трех деинсталляторах. Вы мне предложили следущий код:
читать дальше »
Section "Sec1" Sec1
...
WriteUninstaller "$INSTDIR\Sec1\uninstall.exe"
SectionEnd
Section "Sec2" Sec2
...
WriteUninstaller "$INSTDIR\Sec2\uninstall.exe"
SectionEnd
Section "Sec3" Sec3
...
WriteUninstaller "$INSTDIR\Sec3\uninstall.exe"
SectionEnd
!include "FileFunc.nsh"
Section Uninstall
${GetParent} "$EXEPATH" $R0
StrCmp $R0 "$INSTDIR\Sec1" 0 +2
call UnInstall_SEC1
StrCmp $R0 "$INSTDIR\Sec2" 0 +2
call UnInstall_SEC2
StrCmp $R0 "$INSTDIR\Sec3" 0 +2
call UnInstall_SEC3
SetAutoClose true
SectionEnd
Function UnInstall_SEC1
...
FunctionEnd
Function UnInstall_SEC2
...
FunctionEnd
Function UnInstall_SEC3
...
FunctionEnd
Но 3 последних функции не вызываются.
Проверил значение $EXEPATH. Там совсем не тот путь: C:\Users\836D~1\AppData\Local\Temp\~nsu.tmp
То есть условие не срабатывает((((