# HG changeset patch # User Andre Heinecke # Date 1407167802 -7200 # Node ID df6f3b1cc41c8b57a82ec7bac9b98135796e3543 # Parent 4dfb6f543a05100d8bb6d87f7470c055de089678 (issue53) Uninstall list-installed if requested. diff -r 4dfb6f543a05 -r df6f3b1cc41c packaging/trustbridge.nsi --- a/packaging/trustbridge.nsi Mon Aug 04 15:06:33 2014 +0200 +++ b/packaging/trustbridge.nsi Mon Aug 04 17:56:42 2014 +0200 @@ -46,6 +46,7 @@ VIAddVersionKey "FileVersion" "${version_number}" Var StartMenuFolder +Var douninstcertificates Var uninstCertificates ;-------------------------------- ; General @@ -103,24 +104,25 @@ !insertmacro MUI_PAGE_FINISH !ifdef WRITE_UNINSTALLER - !define MUI_PAGE_CUSTOMFUNCTION_SHOW un.ModifyUnInstfiles - !define MUI_PAGE_CUSTOMFUNCTION_LEAVE un.LeaveUnInstfiles + !define MUI_PAGE_CUSTOMFUNCTION_SHOW un.ModifyUnWelcome + !define MUI_PAGE_CUSTOMFUNCTION_LEAVE un.LeaveUnWelcome + !insertmacro MUI_UNPAGE_WELCOME !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES - !define MUI_UNCONFIRMPAGE_TEXT_TOP "HALLO" - Function un.ModifyUnInstfiles + Function un.ModifyUnWelcome ${NSD_CreateCheckbox} 120u -18u 50% 12u "Verwaltete Zertifikate entfernen." Pop $uninstCertificates SetCtlColors $uninstCertificates "" ${MUI_BGCOLOR} - ;${NSD_Check} $uninstCertificates ; Check it by default + ${NSD_Check} $uninstCertificates ; Check it by default FunctionEnd - Function un.LeaveUnInstfiles + Function un.LeaveUnWelcome ${NSD_GetState} $uninstCertificates $0 + StrCpy $douninstcertificates "FALSE" ${If} $0 <> 0 - MessageBox mb_ok "Do the uninstall1" + StrCpy $douninstcertificates "TRUE" ${EndIf} FunctionEnd !endif @@ -235,6 +237,10 @@ !ifdef WRITE_UNINSTALLER Section "Uninstall" + StrCmp "$douninstcertificates" "TRUE" 0 skip_certs + ExpandEnvStrings $0 %LOCALAPPDATA% + nsExec::ExecToLog '"$INSTDIR\cinst.exe" "list=$0\BSI\TrustBridge\list-installed.txt" "choices=uninstall"' +skip_certs: RMDir /r "$INSTDIR" ; TODO include uninstall files ; !include "filelist-un.nsh" ; Delete "$INSTDIR\Uninstall.exe"