diff packaging/trustbridge.nsi @ 1242:e4aff35ef8fd

(issue143) Make uninstallation of nss-installer conditional on Windows
author Andre Heinecke <andre.heinecke@intevation.de>
date Wed, 24 Sep 2014 17:55:14 +0200
parents c072dda0b541
children 94685a66950a
line wrap: on
line diff
--- a/packaging/trustbridge.nsi	Wed Sep 24 17:50:23 2014 +0200
+++ b/packaging/trustbridge.nsi	Wed Sep 24 17:55:14 2014 +0200
@@ -272,17 +272,35 @@
 !ifdef WRITE_UNINSTALLER
 Section "Uninstall"
   StrCmp "$douninstcertificates" "TRUE" 0 skip_certs
-    ExpandEnvStrings $0 %LOCALAPPDATA%
-    nsExec::ExecToLog '"$INSTDIR\trustbridge-certificate-installer.exe" "list=$0\BSI\TrustBridge\list-installed.txt" "choices=uninstall"'
-    Delete "$0\BSI\TrustBridge\list*.txt"
-    Delete "$0\BSI\TrustBridge\SW*.exe"
-    RmDir "$0\BSI\TrustBridge"
-    RmDir "$0\BSI"
-    ExpandEnvStrings $0 %APPDATA%
-    Delete "$0\BSI\TrustBridge.ini"
-    RmDir "$0\BSI"
+  ExpandEnvStrings $0 %LOCALAPPDATA%
+  nsExec::ExecToLog '"$INSTDIR\trustbridge-certificate-installer.exe" "list=$0\BSI\TrustBridge\list-installed.txt" "choices=uninstall"'
+  Delete "$0\BSI\TrustBridge\list*.txt"
+  Delete "$0\BSI\TrustBridge\SW*.exe"
+  RmDir "$0\BSI\TrustBridge"
+  RmDir "$0\BSI"
+  ExpandEnvStrings $0 %APPDATA%
+  Delete "$0\BSI\TrustBridge.ini"
+  RmDir "$0\BSI"
 
+  UserInfo::GetAccountType
+  pop $0
+  ${If} $0 == "admin"
+      MessageBox MB_ICONINFORMATION|MB_YESNO "\
+      Zertifikate die für andere Nutzer im Zertifikatsspeicher von Firefox und Thunderbird installiert wurden können erst beim nächsten \
+      Login dieser Nutzer deinstalliert werden. \
+      $\r$\n$\r$\n\
+      Die deinstallation der Zertifikate wird von der folgenden Anwendung durchgeführt: $\r$\n '$INSTDIR\trustbridge-nss-installer.exe' $\r$\n$\r$\n\
+      Wenn Zertifikate auch aus den Thunderbird und Firefox Speichern anderer Nutzer deinstalliert werden sollen wählen \
+      sie bitte 'Nein' und löschen Sie den 'trustbridge-nss-installer.exe' manuell nachdem andere Nutzer Gelegenheit hatten sich einzuloggen.$\r$\n \
+      $\r$\n\
+      Soll '$INSTDIR\trustbridge-nss-installer.exe' jetzt entfernt werden?" /SD IDYES IDYES deleteNSSInstaller IDNO dontDeleteNSS
+  ${Else}
+    Delete "$INSTDIR\trustbridge-nss-installer.exe"
+  ${EndIf}
 skip_certs:
+  deleteNSSInstaller:
+    Delete "$INSTDIR\trustbridge-nss-installer.exe"
+dontDeleteNSS:
   !include "filelist_un.nsh"
   Delete "$INSTDIR\Uninstall.exe"
   RMDir "$INSTDIR"

http://wald.intevation.org/projects/trustbridge/