[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[vidalia-svn] r1813: Don't put a torrc in %APPDATA%\Tor if the user is also insta (trunk/pkg/win32)
Author: edmanm
Date: 2007-07-22 17:14:47 -0400 (Sun, 22 Jul 2007)
New Revision: 1813
Modified:
trunk/pkg/win32/vidalia-bundle.nsi
Log:
Don't put a torrc in %APPDATA%\Tor if the user is also installing Vidalia,
since they'll just get confused. (I had to shift the installer sections around
to get NSIS to recognize ${Vidalia}. Sorry Tor.)
Modified: trunk/pkg/win32/vidalia-bundle.nsi
===================================================================
--- trunk/pkg/win32/vidalia-bundle.nsi 2007-07-21 17:03:04 UTC (rev 1812)
+++ trunk/pkg/win32/vidalia-bundle.nsi 2007-07-22 21:14:47 UTC (rev 1813)
@@ -138,14 +138,79 @@
;InstType /COMPONENTSONLYONCUSTOM
!endif
+;--------------------------------
+; Vidalia
+var bInstallVidalia
+SectionGroup "${VIDALIA_DESC}" VidaliaGroup
+ ;--------------------------------
+ ; Vidalia application binaries
+ Section "${VIDALIA_NAME}" Vidalia
+ SectionIn 1 2
+ ; Set output path to the installation directory.
+ SetOutPath "$INSTDIR\Vidalia"
+ File "Vidalia\${VIDALIA_APPVERSION}\${VIDALIA_EXEC}"
+ 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"
+
+ ; Include a prebuilt GeoIP cache
+ SetShellVarContext current
+ CreateDirectory "$APPDATA\Vidalia"
+ SetOutPath "$APPDATA\Vidalia"
+ File "Vidalia\${VIDALIA_APPVERSION}\geoip-cache"
+
+ ; Tor gets installed to $INSTDIR\Tor, so let's remember it
+ ; But first, we have to replace all the '\'s with '\\'s in the $INSTDIR
+ ; Does NSIS make this easy by providing the ability to replace substrings? No.
+ Push $INSTDIR
+ Push "\"
+ Push "\\"
+ Call StrRep
+ 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\${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
+
+ ;--------------------------------
+ ; Vidalia Start menu shortcuts
+ Section "$(VidaliaShortcuts)" VidaliaShortcuts
+ SectionIn 1
+ SetShellVarContext all ; (Add to "All Users" Start Menu if possible)
+ 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
+
+ ;--------------------------------
+ ; Run Vidalia at startup
+ Section "$(VidaliaStartup)" VidaliaStartup
+ SectionIn 1
+ WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "${VIDALIA_NAME}" '"$INSTDIR\Vidalia\${VIDALIA_EXEC}"'
+ SectionEnd
+SectionGroupEnd
+
+
;--------------------------------
; Tor
Var configdir
Var configfile
var bInstallTor
-SectionGroup "!${TOR_DESC}" TorGroup
+SectionGroup "${TOR_DESC}" TorGroup
;--------------------------------
; Tor application binaries
Section "${TOR_NAME}" Tor
@@ -157,6 +222,12 @@
File "tor\${TOR_APPVERSION}\tor-resolve.exe"
WriteIniStr "$INSTDIR\Tor\Tor Website.url" "InternetShortcut" "URL" "http://tor.eff.org"
+ ; If the user is also installing Vidalia, then don't confuse them by
+ ; an extra torrc in %APPDATA%\Tor
+ SectionGetFlags ${Vidalia} $0
+ IntOp $0 $0 & ${SF_SELECTED}
+ IntCmp $0 ${SF_SELECTED} skiptorrc
+
StrCpy $configfile "torrc"
StrCpy $configdir $APPDATA\Tor
SetOutPath $configdir
@@ -172,6 +243,7 @@
endiftorrc:
File /oname=$configfile "tor\${TOR_APPVERSION}\torrc.sample"
+ skiptorrc:
; 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}"'
@@ -224,73 +296,6 @@
;--------------------------------
-; Vidalia
-var bInstallVidalia
-SectionGroup "${VIDALIA_DESC}" VidaliaGroup
- ;--------------------------------
- ; Vidalia application binaries
- Section "${VIDALIA_NAME}" Vidalia
- SectionIn 1 2
-
- ; Set output path to the installation directory.
- SetOutPath "$INSTDIR\Vidalia"
- File "Vidalia\${VIDALIA_APPVERSION}\${VIDALIA_EXEC}"
- 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"
-
-
- ; Include a prebuilt GeoIP cache
- SetShellVarContext current
- CreateDirectory "$APPDATA\Vidalia"
- SetOutPath "$APPDATA\Vidalia"
- File "Vidalia\${VIDALIA_APPVERSION}\geoip-cache"
-
- ; Tor gets installed to $INSTDIR\Tor, so let's remember it
- ; But first, we have to replace all the '\'s with '\\'s in the $INSTDIR
- ; Does NSIS make this easy by providing the ability to replace substrings? No.
- Push $INSTDIR
- Push "\"
- Push "\\"
- Call StrRep
- 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\${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
-
- ;--------------------------------
- ; Vidalia Start menu shortcuts
- Section "$(VidaliaShortcuts)" VidaliaShortcuts
- SectionIn 1
- SetShellVarContext all ; (Add to "All Users" Start Menu if possible)
- 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
-
- ;--------------------------------
- ; Run Vidalia at startup
- Section "$(VidaliaStartup)" VidaliaStartup
- SectionIn 1
- WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "${VIDALIA_NAME}" '"$INSTDIR\Vidalia\${VIDALIA_EXEC}"'
- SectionEnd
-SectionGroupEnd
-
-
-;--------------------------------
; Privoxy
var bInstallPrivoxy
SectionGroup "${PRIVOXY_DESC}" PrivoxyGroup