[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[vidalia-svn] r1728: Big bundle installer changes: Go back to the "one uninstalle (trunk/pkg/win32)



Author: edmanm
Date: 2007-05-10 05:08:47 -0400 (Thu, 10 May 2007)
New Revision: 1728

Modified:
   trunk/pkg/win32/vidalia-bundle.nsi
Log:
Big bundle installer changes: Go back to the "one uninstaller to uninstall
them all" strategy, install the applications to
$INSTDIR\{Vidalia|Tor|Privoxy}, and put the shortcuts under a single program
group. The individual components can still be uninstalled separately, but
we only clean up the uninstaller and program group once all three
components have been removed.


Modified: trunk/pkg/win32/vidalia-bundle.nsi
===================================================================
--- trunk/pkg/win32/vidalia-bundle.nsi	2007-05-10 09:05:58 UTC (rev 1727)
+++ trunk/pkg/win32/vidalia-bundle.nsi	2007-05-10 09:08:47 UTC (rev 1728)
@@ -18,19 +18,16 @@
 !define VIDALIA_EXEC        "vidalia.exe"
 !define VIDALIA_APPVERSION  "0.0.12-svn"
 !define VIDALIA_DESC        "${VIDALIA_NAME} ${VIDALIA_APPVERSION}"
-!define VIDALIA_UNINST      "uninstall.exe"
 
 !define TOR_NAME            "Tor"
 !define TOR_EXEC            "tor.exe"
 !define TOR_APPVERSION      "0.1.2.7-alpha"
 !define TOR_DESC            "${TOR_NAME} ${TOR_APPVERSION}"
-!define TOR_UNINST          "Uninstall.exe"
 
 !define PRIVOXY_NAME        "Privoxy"
 !define PRIVOXY_EXEC        "privoxy.exe"
 !define PRIVOXY_APPVERSION  "3.0.6"
 !define PRIVOXY_DESC        "${PRIVOXY_NAME} ${PRIVOXY_APPVERSION}"
-!define PRIVOXY_UNINST      "privoxy_uninstall.exe"
 
 !define TORBUTTON_NAME      "Torbutton"
 !define TORBUTTON_APPVERSION "1.0.4-fx+tb"
@@ -46,6 +43,8 @@
 !define BUNDLE_PRODVERSION  "${VIDALIA_APPVERSION}.${BUNDLE_REVISION}" ; Product version must be x.x.x.x
 !define BUNDLE_DESC         "${BUNDLE_NAME} ${BUNDLE_APPVERSION}"
 !define INSTALLFILE         "vidalia-bundle-${BUNDLE_APPVERSION}.exe"
+!define UNINSTALLER         "Uninstall.exe"
+!define SHORTCUTS           "$SMPROGRAMS\${BUNDLE_NAME}"
 
 ;--------------------------------
 ; Installer file details
@@ -61,7 +60,8 @@
 Caption         "$(BundleSetupCaption)"
 BrandingText    "${BUNDLE_DESC} (Rev. ${BUNDLE_REVISION})"
 OutFile         "${INSTALLFILE}"
-InstallDir      "$PROGRAMFILES"
+InstallDir      "$PROGRAMFILES\Vidalia Bundle"
+InstallDirRegKey HKCU "Software" "${BUNDLE_NAME}"
 SetOverWrite    ifnewer
 AutoCloseWindow false
 ShowInstDetails show
@@ -73,7 +73,9 @@
 !define MUI_WELCOMEPAGE_TITLE "$(BundleWelcomeTitle)"
 !define MUI_WELCOMEPAGE_TEXT  "$(BundleWelcomeText)"
 !define MUI_ABORTWARNING
+!define MUI_FINISHPAGE_NOAUTOCLOSE
 !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\win-install.ico"
+!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\win-uninstall.ico"
 !define MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\win.bmp"
 !define MUI_HEADERIMAGE
 !define MUI_FINISHPAGE_TEXT "$(BundleFinishText)"
@@ -91,6 +93,12 @@
 !insertmacro MUI_PAGE_INSTFILES
 !insertmacro MUI_PAGE_FINISH
 
+!insertmacro MUI_UNPAGE_WELCOME
+!insertmacro MUI_UNPAGE_COMPONENTS
+!insertmacro MUI_UNPAGE_CONFIRM
+!insertmacro MUI_UNPAGE_INSTFILES
+!insertmacro MUI_UNPAGE_FINISH
+
 ;--------------------------------
 ; Available languages
 !insertmacro MUI_LANGUAGE "English"
@@ -141,7 +149,6 @@
        SetOutPath "$INSTDIR\Tor"
        File "tor\${TOR_APPVERSION}\tor.exe"
        File "tor\${TOR_APPVERSION}\tor-resolve.exe"
-       File "tor\${TOR_APPVERSION}\${TOR_UNINST}"
        WriteIniStr "$INSTDIR\Tor\Tor Website.url" "InternetShortcut" "URL" "http://tor.eff.org";
 
        StrCpy $configfile "torrc"
@@ -158,13 +165,13 @@
           StrCpy $configfile "torrc.sample"
        endiftorrc:
        File /oname=$configfile "tor\${TOR_APPVERSION}\torrc.sample"
-
-       ; Write the uninstall keys for Windows
-       WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tor" "DisplayName" "${TOR_DESC}"
-       WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tor" "UninstallString" '"$INSTDIR\Tor\${TOR_UNINST}"'
-       WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tor" "NoModify" 1
-       WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tor" "NoRepair" 1
        
+        ; Write the uninstall keys for Windows
+        WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tor" "DisplayName" "${TOR_DESC}"
+        WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tor" "UninstallString" '"$INSTDIR\${UNINSTALLER}"'
+        WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tor" "NoModify" 1
+        WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tor" "NoRepair" 1
+       
        IntOp $bInstallTor 0 + 1
     SectionEnd
 
@@ -191,20 +198,20 @@
       SectionIn 1
         SetShellVarContext all ; (Add to "All Users" Start Menu if possible)
         SetOutPath "$INSTDIR\Tor"
-        IfFileExists "$SMPROGRAMS\Tor\*.*" "" +2
-           RMDir /r "$SMPROGRAMS\Tor"
+        IfFileExists "${SHORTCUTS}\Tor\*.*" "" +2
+           RMDir /r "${SHORTCUTS}\Tor"
         
-        CreateDirectory "$SMPROGRAMS\Tor"
-        CreateShortCut "$SMPROGRAMS\Tor\Tor.lnk" "$INSTDIR\Tor\tor.exe"
-        CreateShortCut "$SMPROGRAMS\Tor\Torrc.lnk" "Notepad.exe" "$configdir\torrc"
-        CreateShortCut "$SMPROGRAMS\Tor\Tor Website.lnk" "$INSTDIR\Tor\Tor Website.url"
-        CreateShortCut "$SMPROGRAMS\Tor\Uninstall.lnk" "$INSTDIR\Tor\${TOR_UNINST}"
+        CreateDirectory "${SHORTCUTS}\Tor"
+        CreateShortCut  "${SHORTCUTS}\Tor\Tor.lnk" "$INSTDIR\Tor\tor.exe"
+        CreateShortCut  "${SHORTCUTS}\Tor\Torrc.lnk" "Notepad.exe" "$configdir\torrc"
+        CreateShortCut  "${SHORTCUTS}\Tor\Tor Website.lnk" "$INSTDIR\Tor\Tor Website.url"
+        CreateShortCut "${SHORTCUTS}\Uninstall.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\${UNINSTALLER}" 0
         
         IfFileExists "$INSTDIR\Tor\Documents\*.*" "" endifdocs
-          CreateDirectory "$SMPROGRAMS\Tor\Documents"
-          CreateShortCut "$SMPROGRAMS\Tor\Documents\Tor Manual.lnk" "$INSTDIR\Tor\Documents\tor-reference.html"
-          CreateShortCut "$SMPROGRAMS\Tor\Documents\Tor Documentation.lnk" "$INSTDIR\Tor\Documents"
-          CreateShortCut "$SMPROGRAMS\Tor\Documents\Tor Specification.lnk" "$INSTDIR\Tor\Documents\tor-spec.txt"
+          CreateDirectory "${SHORTCUTS}\Tor\Documents"
+          CreateShortCut  "${SHORTCUTS}\Tor\Documents\Tor Manual.lnk" "$INSTDIR\Tor\Documents\tor-reference.html"
+          CreateShortCut  "${SHORTCUTS}\Tor\Documents\Tor Documentation.lnk" "$INSTDIR\Tor\Documents"
+          CreateShortCut  "${SHORTCUTS}\Tor\Documents\Tor Specification.lnk" "$INSTDIR\Tor\Documents\tor-spec.txt"
         endifdocs:
     SectionEnd
 SectionGroupEnd
@@ -222,14 +229,13 @@
       ; Set output path to the installation directory.
       SetOutPath "$INSTDIR\Vidalia"
       File "Vidalia\${VIDALIA_APPVERSION}\${VIDALIA_EXEC}"
-      File "Vidalia\${VIDALIA_APPVERSION}\${VIDALIA_UNINST}"
       File "Vidalia\${VIDALIA_APPVERSION}\mingwm10.dll"
       File "Vidalia\${VIDALIA_APPVERSION}\README"
       File "Vidalia\${VIDALIA_APPVERSION}\CHANGELOG"
       File "Vidalia\${VIDALIA_APPVERSION}\LICENSE"
       File "Vidalia\${VIDALIA_APPVERSION}\COPYING"
       File "Vidalia\${VIDALIA_APPVERSION}\AUTHORS"
-      File "BUNDLE_LICENSE"
+
       
       ; Include a prebuilt GeoIP cache
       SetShellVarContext current
@@ -247,14 +253,13 @@
       Pop $R0 ; contains the modified version of $INSTDIR
       WriteINIStr "$APPDATA\Vidalia\vidalia.conf" Tor TorExecutable "$R0\\Tor\\${TOR_EXEC}"
 
-
       ; Write the uninstall keys for Windows  
       SetShellVarContext all
       WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Vidalia" "DisplayName" "${VIDALIA_DESC}"
-      WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Vidalia" "UninstallString" '"$INSTDIR\Vidalia\${VIDALIA_UNINST}"'
+      WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Vidalia" "UninstallString" '"$INSTDIR\${UNINSTALLER}"'
       WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Vidalia" "NoModify" 1
       WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Vidalia" "NoRepair" 1
-      
+     
       IntOp $bInstallVidalia 0 + 1
     SectionEnd
 
@@ -263,9 +268,11 @@
     Section "$(VidaliaShortcuts)" VidaliaShortcuts
       SectionIn 1
       SetShellVarContext all ; (Add to "All Users" Start Menu if possible)
-      CreateDirectory "$SMPROGRAMS\Vidalia"
-      CreateShortCut "$SMPROGRAMS\Vidalia\Uninstall.lnk" "$INSTDIR\Vidalia\uninstall.exe" "" "$INSTDIR\Vidalia\${VIDALIA_UNINST}" 0
-      CreateShortCut "$SMPROGRAMS\Vidalia\Vidalia.lnk" "$INSTDIR\Vidalia\${VIDALIA_EXEC}" "" "$INSTDIR\Vidalia\${VIDALIA_EXEC}" 0
+      CreateShortCut "${SHORTCUTS}\Uninstall.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\${UNINSTALLER}" 0
+      CreateShortCut "${SHORTCUTS}\Vidalia.lnk" "$INSTDIR\Vidalia\${VIDALIA_EXEC}" "" "$INSTDIR\Vidalia\${VIDALIA_EXEC}" 0
+      
+      WriteIniStr "$INSTDIR\Vidalia\Vidalia Website.url" "InternetShortcut" "URL" "http://www.vidalia-project.net";
+      CreateShortCut "${SHORTCUTS}\Vidalia Website.lnk" "$INSTDIR\Vidalia\Vidalia Website.url"
     SectionEnd
 
     ;--------------------------------
@@ -299,10 +306,9 @@
 
         ; Write the uninstall keys for Windows
         WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Privoxy" "DisplayName" "${PRIVOXY_DESC}"
-        WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Privoxy" "UninstallString" '"$INSTDIR\Privoxy\${PRIVOXY_UNINST}"'
+        WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Privoxy" "UninstallString" '"$INSTDIR\${UNINSTALLER}"'
         WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Privoxy" "NoModify" 1
         WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Privoxy" "NoRepair" 1
-               
        
         IntOp $bInstallPrivoxy 0 + 1
     SectionEnd
@@ -312,25 +318,28 @@
     Section "$(PrivoxyShortcuts)" PrivoxyShortcuts
         SectionIn 1
         SetShellVarContext all ; (Add to "All Users" Start Menu if possible)
-        RMDir /r "$SMPROGRAMS\Privoxy"
-        CreateDirectory "$SMPROGRAMS\Privoxy"
-        CreateShortCut "$SMPROGRAMS\Privoxy\Privoxy.lnk" "$INSTDIR\Privoxy\privoxy.exe"
-        WriteINIStr "$SMPROGRAMS\Privoxy\Web-based Configuration.url" "InternetShortcut" "URL" "http://config.privoxy.org/";
-        CreateShortCut "$SMPROGRAMS\Privoxy\Web-based Feedback.lnk" "$INSTDIR\Privoxy\doc\user-manual\contact.html"
-        CreateDirectory "$SMPROGRAMS\Privoxy\Edit Config"
-        CreateShortCut "$SMPROGRAMS\Privoxy\Edit Config\Main Configuration.lnk" "Notepad.exe" '"$INSTDIR\Privoxy\config.txt"'
-        CreateShortCut "$SMPROGRAMS\Privoxy\Edit Config\Default Actions.lnk" "Notepad.exe" '"$INSTDIR\Privoxy\default.action"'
-        CreateShortCut "$SMPROGRAMS\Privoxy\Edit Config\User Actions.lnk" "Notepad.exe" '"$INSTDIR\Privoxy\user.action"'
-        CreateShortCut "$SMPROGRAMS\Privoxy\Edit Config\Filters.lnk" "Notepad.exe" '"$INSTDIR\Privoxy\default.filter"'
-        CreateShortCut "$SMPROGRAMS\Privoxy\Edit Config\Trust list.lnk" "Notepad.exe" '"$INSTDIR\Privoxy\trust.txt"'
-        CreateDirectory "$SMPROGRAMS\Privoxy\Documentation"
-        CreateShortCut "$SMPROGRAMS\Privoxy\Documentation\User Manual.lnk" "$INSTDIR\Privoxy\doc\user-manual\index.html"
-        CreateShortCut "$SMPROGRAMS\Privoxy\Documentation\Frequently Asked Questions.lnk" "$INSTDIR\Privoxy\doc\faq\index.html"
-        CreateShortCut "$SMPROGRAMS\Privoxy\Documentation\Credits.lnk" "Notepad.exe" '"$INSTDIR\Privoxy\AUTHORS.txt"'
-        CreateShortCut "$SMPROGRAMS\Privoxy\Documentation\License.lnk" "Notepad.exe" '"$INSTDIR\Privoxy\LICENSE.txt"'
-        CreateShortCut "$SMPROGRAMS\Privoxy\Documentation\ReadMe file.lnk" "Notepad.exe" '"$INSTDIR\Privoxy\README.txt"'
+        RMDir /r "${SHORTCUTS}\Privoxy"
+        CreateDirectory "${SHORTCUTS}\Privoxy"
+        CreateShortCut "${SHORTCUTS}\Privoxy\Privoxy.lnk" "$INSTDIR\Privoxy\privoxy.exe"
+        CreateShortCut "${SHORTCUTS}\Privoxy\Web-based Feedback.lnk" "$INSTDIR\Privoxy\doc\user-manual\contact.html"
+        WriteINIStr "${SHORTCUTS}\Privoxy\Web-based Configuration.url" "InternetShortcut" "URL" "http://config.privoxy.org/";
+        
+        CreateDirectory "${SHORTCUTS}\Privoxy\Edit Config"
+        CreateShortCut "${SHORTCUTS}\Privoxy\Edit Config\Main Configuration.lnk" "Notepad.exe" '"$INSTDIR\Privoxy\config.txt"'
+        CreateShortCut "${SHORTCUTS}\Privoxy\Edit Config\Default Actions.lnk" "Notepad.exe" '"$INSTDIR\Privoxy\default.action"'
+        CreateShortCut "${SHORTCUTS}\Privoxy\Edit Config\User Actions.lnk" "Notepad.exe" '"$INSTDIR\Privoxy\user.action"'
+        CreateShortCut "${SHORTCUTS}\Privoxy\Edit Config\Filters.lnk" "Notepad.exe" '"$INSTDIR\Privoxy\default.filter"'
+        CreateShortCut "${SHORTCUTS}\Privoxy\Edit Config\Trust list.lnk" "Notepad.exe" '"$INSTDIR\Privoxy\trust.txt"'
+        
+        CreateDirectory "${SHORTCUTS}\Privoxy\Documentation"
+        CreateShortCut "${SHORTCUTS}\Privoxy\Documentation\User Manual.lnk" "$INSTDIR\Privoxy\doc\user-manual\index.html"
+        CreateShortCut "${SHORTCUTS}\Privoxy\Documentation\Frequently Asked Questions.lnk" "$INSTDIR\Privoxy\doc\faq\index.html"
+        CreateShortCut "${SHORTCUTS}\Privoxy\Documentation\Credits.lnk" "Notepad.exe" '"$INSTDIR\Privoxy\AUTHORS.txt"'
+        CreateShortCut "${SHORTCUTS}\Privoxy\Documentation\License.lnk" "Notepad.exe" '"$INSTDIR\Privoxy\LICENSE.txt"'
+        CreateShortCut "${SHORTCUTS}\Privoxy\Documentation\ReadMe file.lnk" "Notepad.exe" '"$INSTDIR\Privoxy\README.txt"'
         WriteINIStr "$SMPROGRAMS\Privoxy\Documentation\Web Site.url" "InternetShortcut" "URL" "http://privoxy.org/";
-        CreateShortCut "$SMPROGRAMS\Privoxy\Privoxy Uninstall.lnk" "$INSTDIR\Privoxy\${PRIVOXY_UNINST}"
+        
+        CreateShortCut "${SHORTCUTS}\Uninstall.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\${UNINSTALLER}" 0
     SectionEnd
  
     ;--------------------------------
@@ -362,6 +371,13 @@
   SectionEnd
 SectionGroupEnd
 
+Section "" end
+  SetOutPath "$INSTDIR"
+  File "BUNDLE_LICENSE"
+  
+  WriteUninstaller "$INSTDIR\${UNINSTALLER}"
+SectionEnd
+
 ;--------------------------------
 ; Functions
 Function .onInit
@@ -404,6 +420,84 @@
     done:
 FunctionEnd
 
+;-------------------------
+; Uninstaller
+Section "-Uninstall" Uninstall
+SectionEnd
+   
+Section "un.Tor ${TOR_APPVERSION}" UninstallTor
+  SetShellVarContext current
+  RMDir /r "$APPDATA\Tor"
+  SetShellVarContext all
+  RMDir /r "$INSTDIR\Tor"
+  RMDir /r "$APPDATA\Tor"
+  RMDir /r "${SHORTCUTS}\Tor"
+  DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Tor"
+SectionEnd
+
+Section "un.Vidalia ${VIDALIA_APPVERSION}" UninstallVidalia
+  SetShellVarContext current
+  RMDir /r "$APPDATA\Vidalia"
+  SetShellVarContext all
+  RMDir /r "$INSTDIR\Vidalia"
+  RMDir /r "$APPDATA\Vidalia"
+  Delete "${SHORTCUTS}\Vidalia.lnk"
+  Delete "${SHORTCUTS}\Vidalia Website.lnk"
+  DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Run\Vidalia"
+  DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Vidalia"
+SectionEnd
+
+Section "un.Privoxy ${PRIVOXY_APPVERSION}" UninstallPrivoxy
+  SetShellVarContext all
+  RMDir /r "$INSTDIR\Privoxy"
+  RMDir /r "${SHORTCUTS}\Privoxy"
+  Delete "$SMSTARTUP\Privoxy.lnk"
+  DeleteRegKey HKEY_CLASSES_ROOT ".action"
+  DeleteRegKey HKEY_CLASSES_ROOT "PrivoxyActionFile"
+  DeleteRegKey HKEY_CLASSES_ROOT ".filter"
+  DeleteRegKey HKEY_CLASSES_ROOT "PrivoxyFilterFile"
+  DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Privoxy"
+SectionEnd
+
+; XXX: We still need to find a way to actually remove Torbutton from Firefox
+;Section "un.Torbutton ${TORBUTTON_APPVERSION}" UninstallTorbutton
+;  RMDir /r "$INSTDIR\Torbutton"
+;  DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Tor"
+;SectionEnd
+
+Function un.onInit
+  !insertmacro MUI_LANGDLL_DISPLAY
+
+  IfFileExists "$INSTDIR\Tor\*.*" CheckVidalia
+    SectionGetFlags ${UninstallTor} $0
+    IntOp $0 $0 & ${SECTION_OFF}
+    SectionSetFlags ${UninstallTor} $0
+
+  CheckVidalia:
+  IfFileExists "$INSTDIR\Vidalia\*.*" CheckPrivoxy
+    SectionGetFlags ${UninstallVidalia} $0
+    IntOp $0 $0 & ${SECTION_OFF}
+    SectionSetFlags ${UninstallVidalia} $0
+
+  CheckPrivoxy:
+  IfFileExists "$INSTDIR\Privoxy\*.*" Done
+    SectionGetFlags ${UninstallPrivoxy} $0
+    IntOp $0 $0 & ${SECTION_OFF}
+    SectionSetFlags ${UninstallPrivoxy} $0
+
+  Done:
+FunctionEnd
+
+Function un.onUninstSuccess
+  SetShellVarContext all
+  IfFileExists "$INSTDIR\Tor\*.*" DontRemoveTheUninstaller
+  IfFileExists "$INSTDIR\Vidalia\*.*" DontRemoveTheUninstaller
+  IfFileExists "$INSTDIR\Privoxy\*.*" DontRemoveTheUninstaller
+  RMDir /r "$INSTDIR"
+  RMDir /r "${SHORTCUTS}"
+  DontRemoveTheUninstaller:
+FunctionEnd
+
 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
   !insertmacro MUI_DESCRIPTION_TEXT ${Tor} "$(TorAppDesc)"
   !insertmacro MUI_DESCRIPTION_TEXT ${TorGroup} "$(TorGroupDesc)"