[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[vidalia-svn] r2202: Configure the packaging scripts and Windows .rc file with ve (in trunk: . pkg pkg/win32 src/vidalia src/vidalia/res)
Author: edmanm
Date: 2007-12-08 02:23:26 -0500 (Sat, 08 Dec 2007)
New Revision: 2202
Added:
trunk/pkg/CMakeLists.txt
trunk/pkg/win32/vidalia-bundle.nsi.in
trunk/pkg/win32/vidalia.nsi.in
trunk/src/vidalia/res/vidalia_win.rc.in
Removed:
trunk/pkg/win32/vidalia-bundle.nsi
trunk/pkg/win32/vidalia.nsi
trunk/src/vidalia/res/vidalia_win.rc
Modified:
trunk/
trunk/CMakeLists.txt
trunk/src/vidalia/CMakeLists.txt
Log:
r2278@lysithea: edmanm | 2007-12-08 02:23:13 -0500
Configure the packaging scripts and Windows .rc file with version numbers
defined in the root CMakeLists.txt file.
Property changes on: trunk
___________________________________________________________________
svk:merge ticket from /local/vidalia/trunk [r2278] on 0108964c-5b0b-4c9e-969f-e2288315d100
Modified: trunk/CMakeLists.txt
===================================================================
--- trunk/CMakeLists.txt 2007-12-08 05:45:58 UTC (rev 2201)
+++ trunk/CMakeLists.txt 2007-12-08 07:23:26 UTC (rev 2202)
@@ -23,7 +23,10 @@
project(Vidalia)
-set(VERSION "0.1.0-svn")
+set(VER_MAJOR "0")
+set(VER_MINOR "1")
+set(VER_PATCH "0")
+set(VERSION "${VER_MAJOR}.${VER_MINOR}.${VER_PATCH}-svn")
## Specify the minimim required CMake version
cmake_minimum_required(VERSION 2.4.0)
@@ -47,6 +50,7 @@
## Add the actual source directories
add_subdirectory(src)
add_subdirectory(doc)
+add_subdirectory(pkg)
## The 'confclean' target removes cached CMake configuration information
if (WIN32)
Added: trunk/pkg/CMakeLists.txt
===================================================================
--- trunk/pkg/CMakeLists.txt (rev 0)
+++ trunk/pkg/CMakeLists.txt 2007-12-08 07:23:26 UTC (rev 2202)
@@ -0,0 +1,66 @@
+#####################################################################
+# $Id$
+#
+# Vidalia is distributed under the following license:
+#
+# Copyright (C) 2006-2007, Matt Edman, Justin Hipple
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#####################################################################
+
+
+## RPM Spec File
+configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/rpm/vidalia.spec.in
+ ${CMAKE_CURRENT_SOURCE_DIR}/rpm/vidalia.spec
+)
+
+## OS X Packaging Files
+configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/osx/builddmg.sh.in
+ ${CMAKE_CURRENT_SOURCE_DIR}/osx/builddmg.sh
+)
+configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/osx/buildmpkg.sh.in
+ ${CMAKE_CURRENT_SOURCE_DIR}/osx/buildmpkg.sh
+)
+configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/osx/VidaliaBundleDesc.plist.in
+ ${CMAKE_CURRENT_SOURCE_DIR}/osx/VidaliaBundleDesc.plist
+)
+configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/osx/VidaliaBundleInfo.plist.in
+ ${CMAKE_CURRENT_SOURCE_DIR}/osx/VidaliaBundleInfo.plist
+)
+configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/osx/VidaliaDesc.plist.in
+ ${CMAKE_CURRENT_SOURCE_DIR}/osx/VidaliaDesc.plist
+)
+configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/osx/VidaliaInfo.plist.in
+ ${CMAKE_CURRENT_SOURCE_DIR}/osx/VidaliaInfo.plist
+)
+
+## Windows Packages
+configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/win32/vidalia.nsi.in
+ ${CMAKE_CURRENT_SOURCE_DIR}/win32/vidalia.nsi
+)
+configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/win32/vidalia-bundle.nsi.in
+ ${CMAKE_CURRENT_SOURCE_DIR}/win32/vidalia-bundle.nsi
+)
+
Property changes on: trunk/pkg/CMakeLists.txt
___________________________________________________________________
Name: svn:keywords
+ Id
Name: svn:eol-style
+ native
Deleted: trunk/pkg/win32/vidalia-bundle.nsi
Added: trunk/pkg/win32/vidalia-bundle.nsi.in
===================================================================
--- trunk/pkg/win32/vidalia-bundle.nsi.in (rev 0)
+++ trunk/pkg/win32/vidalia-bundle.nsi.in 2007-12-08 07:23:26 UTC (rev 2202)
@@ -0,0 +1,633 @@
+;--------------------------------------------------------------------
+; $Id: $
+;
+; Vidalia is distributed under the following license:
+;
+; Copyright (C) 2006-2007, Matt Edman, Justin Hipple
+;
+; This program is free software; you can redistribute it and/or
+; modify it under the terms of the GNU General Public License
+; as published by the Free Software Foundation; either version 2
+; of the License, or (at your option) any later version.
+;
+; This program is distributed in the hope that it will be useful,
+; but WITHOUT ANY WARRANTY; without even the implied warranty of
+; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+; GNU General Public License for more details.
+;
+; You should have received a copy of the GNU General Public License
+; along with this program; if not, write to the Free Software
+; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+; 02110-1301, USA.
+;--------------------------------------------------------------------
+!include "MUI.nsh"
+
+SetCompressor /SOLID lzma
+!packhdr header.dat "upx --best header.dat"
+
+;---------------------------------
+; Global definitions
+!define VIDALIA_NAME "Vidalia"
+!define VIDALIA_EXEC "vidalia.exe"
+!define VIDALIA_APPVERSION "@VERSION@"
+!define VIDALIA_DESC "${VIDALIA_NAME} ${VIDALIA_APPVERSION}"
+
+!define TOR_NAME "Tor"
+!define TOR_EXEC "tor.exe"
+!define TOR_APPVERSION "0.2.0.12-alpha"
+!define TOR_DESC "${TOR_NAME} ${TOR_APPVERSION}"
+
+!define PRIVOXY_NAME "Privoxy"
+!define PRIVOXY_EXEC "privoxy.exe"
+!define PRIVOXY_APPVERSION "3.0.6"
+!define PRIVOXY_DESC "${PRIVOXY_NAME} ${PRIVOXY_APPVERSION}"
+
+!define TORBUTTON_NAME "Torbutton"
+!define TORBUTTON_APPVERSION "1.1.9.1-alpha"
+!define TORBUTTON_DESC "${TORBUTTON_NAME} ${TORBUTTON_APPVERSION}"
+
+!define BUNDLE_NAME "Vidalia Bundle"
+!define BUNDLE_APPVERSION "${TOR_APPVERSION}-${VIDALIA_APPVERSION}"
+!define BUNDLE_REVISION "1"
+!define BUNDLE_PRODVERSION "@VER_MAJOR@.@VER_MINOR@.@VER_PATCH@.${BUNDLE_REVISION}"
+!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
+VIAddVersionKey "ProductName" "${BUNDLE_NAME}"
+VIAddVersionKey "Comments" "${BUNDLE_DESC}"
+VIAddVersionKey "FileVersion" "${BUNDLE_APPVERSION}"
+VIAddVersionKey "FileDescription" "${BUNDLE_DESC}"
+VIProductVersion "${BUNDLE_PRODVERSION}"
+
+;--------------------------------
+; Basic installer information
+Name "${BUNDLE_NAME}"
+Caption "$(BundleSetupCaption)"
+BrandingText "${BUNDLE_DESC} (Rev. ${BUNDLE_REVISION})"
+OutFile "${INSTALLFILE}"
+InstallDir "$PROGRAMFILES\Vidalia Bundle"
+InstallDirRegKey HKCU "Software" "${BUNDLE_NAME}"
+SetOverWrite ifnewer
+AutoCloseWindow false
+ShowInstDetails show
+CRCCheck on
+XPStyle on
+
+;--------------------------------
+; MUI Options
+!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)"
+!define MUI_FINISHPAGE_RUN
+!define MUI_FINISHPAGE_RUN_FUNCTION CustomFinishFn
+!define MUI_FINISHPAGE_RUN_TEXT "$(BundleRunNow)"
+!define MUI_FINISHPAGE_LINK "$(BundleLinkText)"
+!define MUI_FINISHPAGE_LINK_LOCATION "http://tor.eff.org/docs/tor-doc-win32.html"
+
+;--------------------------------
+; Pages
+!insertmacro MUI_PAGE_WELCOME
+!insertmacro MUI_PAGE_COMPONENTS
+!insertmacro MUI_PAGE_DIRECTORY
+!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 "Czech"
+!insertmacro MUI_LANGUAGE "Dutch"
+!insertmacro MUI_LANGUAGE "English"
+!insertmacro MUI_LANGUAGE "Farsi"
+!insertmacro MUI_LANGUAGE "Finnish"
+!insertmacro MUI_LANGUAGE "French"
+!insertmacro MUI_LANGUAGE "German"
+!insertmacro MUI_LANGUAGE "Italian"
+!insertmacro MUI_LANGUAGE "Polish"
+!insertmacro MUI_LANGUAGE "PortugueseBR"
+!insertmacro MUI_LANGUAGE "Russian"
+!insertmacro MUI_LANGUAGE "Spanish"
+!insertmacro MUI_LANGUAGE "SimpChinese"
+!insertmacro MUI_LANGUAGE "Swedish"
+!insertmacro MUI_LANGUAGE "TradChinese"
+!include "vidalia_cs.nsh"
+!include "vidalia_de.nsh"
+!include "vidalia_en.nsh"
+!include "vidalia_es.nsh"
+!include "vidalia_fa.nsh"
+!include "vidalia_fi.nsh"
+!include "vidalia_fr.nsh"
+!include "vidalia_it.nsh"
+!include "vidalia_nl.nsh"
+!include "vidalia_pl.nsh"
+!include "vidalia_pt-br.nsh"
+!include "vidalia_ru.nsh"
+!include "vidalia_sv.nsh"
+!include "vidalia_zh-cn.nsh"
+!include "vidalia_zh-tw.nsh"
+
+;--------------------------------
+; Install types
+!ifndef NOINSTTYPES ; only if not defined
+ InstType "Full"
+ InstType "Base"
+ ;InstType /COMPONENTSONLYONCUSTOM
+!endif
+
+;--------------------------------
+; Vidalia
+Var configfile
+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"
+
+ ;If there's already a torrc config file, ask if they want to
+ ;overwrite it with the new one.
+ StrCpy $configfile "torrc"
+ IfFileExists "$APPDATA\Vidalia\torrc" "" endiftorrc
+ MessageBox MB_ICONQUESTION|MB_YESNO "$(TorAskOverwriteTorrc)" IDNO noreplace
+ Delete "$APPDATA\Vidalia\torrc"
+ Goto endiftorrc
+ noreplace:
+ StrCpy $configfile "torrc.sample"
+ endiftorrc:
+ File /oname=$configfile "tor\${TOR_APPVERSION}\torrc.sample"
+
+ ; 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)
+ CreateDirectory "${SHORTCUTS}"
+ 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 bInstallTor
+SectionGroup "${TOR_DESC}" TorGroup
+ ;--------------------------------
+ ; Tor application binaries
+ Section "${TOR_NAME}" Tor
+ ;Files that have to be installed for tor to run and that the user
+ ;cannot choose not to install
+ SectionIn 1 2
+ SetShellVarContext current
+ SetOutPath "$INSTDIR\Tor"
+ File "tor\${TOR_APPVERSION}\tor.exe"
+ 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"
+ SetOutPath "$APPDATA\Tor"
+
+ ; If there's already a torrc config file, ask if they want to
+ ; overwrite it with the new one.
+ IfFileExists "$APPDATA\Tor\torrc" "" endiftorrc
+ MessageBox MB_ICONQUESTION|MB_YESNO "$(TorAskOverwriteTorrc)" IDNO noreplace
+ Delete "$APPDATA\Tor\torrc"
+ Goto endiftorrc
+ noreplace:
+ StrCpy $configfile "torrc.sample"
+ 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}"'
+ 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
+
+ ;--------------------------------
+ ; Tor documentation
+ Section "$(TorDocumentation)" TorDocs
+ SectionIn 1
+ SetOutPath "$INSTDIR\Tor\Documents"
+ File "tor\${TOR_APPVERSION}\Documents\*.*"
+ SectionEnd
+
+ ;--------------------------------
+ ; Tor Start menu shortcuts
+ Section "$(TorShortcuts)" TorShortcuts
+ SectionIn 1
+ SetShellVarContext all ; (Add to "All Users" Start Menu if possible)
+ SetOutPath "$INSTDIR\Tor"
+ IfFileExists "${SHORTCUTS}\Tor\*.*" "" +2
+ RMDir /r "${SHORTCUTS}\Tor"
+
+ CreateDirectory "${SHORTCUTS}\Tor"
+ CreateShortCut "${SHORTCUTS}\Tor\Tor.lnk" "$INSTDIR\Tor\tor.exe"
+ 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 "${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:
+
+ ; If the user is installing Vidalia, then make the shortcut link to
+ ; %APPDATA%\Vidalia\torrc instead of %APPDATA%\Tor\torrc
+ SetShellVarContext current
+ SectionGetFlags ${Vidalia} $0
+ IntOp $0 $0 & ${SF_SELECTED}
+ IntCmp $0 ${SF_SELECTED} use_vidalia_torrc use_tor_torrc
+ use_vidalia_torrc:
+ StrCpy $configfile "$APPDATA\Vidalia\torrc"
+ goto torrc_shortcut
+ use_tor_torrc:
+ StrCpy $configfile "$APPDATA\Tor\torrc"
+ torrc_shortcut:
+ SetShellVarContext all
+ CreateShortCut "${SHORTCUTS}\Tor\Torrc.lnk" "Notepad.exe" $configfile
+ SectionEnd
+SectionGroupEnd
+
+
+;--------------------------------
+; Privoxy
+var bInstallPrivoxy
+SectionGroup "${PRIVOXY_DESC}" PrivoxyGroup
+ ;--------------------------------
+ ; Privoxy application binaries
+ Section "${PRIVOXY_NAME}" Privoxy
+ SectionIn 1 2
+ ; add files / whatever that need to be installed here.
+ SetOutPath "$INSTDIR\Privoxy"
+ File /r Privoxy\${PRIVOXY_APPVERSION}\*.*
+
+ WriteRegStr HKEY_CLASSES_ROOT "PrivoxyActionFile\shell\open\command" "" 'Notepad.exe "%1"'
+ WriteRegStr HKEY_CLASSES_ROOT ".action" "" "PrivoxyActionFile"
+ WriteRegStr HKEY_CLASSES_ROOT "PrivoxyFilterFile\shell\open\command" "" 'Notepad.exe "%1"'
+ WriteRegStr HKEY_CLASSES_ROOT ".filter" "" "PrivoxyFilterFile"
+
+ ; Write the installation path into the registry
+ WriteRegStr HKCU SOFTWARE\Privoxy "Install_Dir" "$INSTDIR"
+
+ ; 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\${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
+
+ ;--------------------------------
+ ; Privoxy Start menu shortcuts
+ Section "$(PrivoxyShortcuts)" PrivoxyShortcuts
+ SectionIn 1
+ SetShellVarContext all ; (Add to "All Users" Start Menu if possible)
+ 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 "${SHORTCUTS}\Uninstall.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\${UNINSTALLER}" 0
+ SectionEnd
+
+ ;--------------------------------
+ ; Run Privoxy at startup
+ Section "$(PrivoxyStartup)" PrivoxyStartup
+ SectionIn 1
+ CreateShortCut "$SMSTARTUP\Privoxy.lnk" "$INSTDIR\Privoxy\privoxy.exe" "" "" 0 SW_SHOWMINIMIZED
+ SectionEnd
+SectionGroupEnd
+
+;--------------------------------
+; Torbutton
+SectionGroup "${TORBUTTON_DESC}" TorbuttonGroup
+ Section "${TORBUTTON_NAME}" Torbutton
+ SectionIn 1 2
+ SetOutPath "$INSTDIR\Torbutton"
+ File torbutton\${TORBUTTON_APPVERSION}\LICENSE
+ File torbutton\${TORBUTTON_APPVERSION}\torbutton-${TORBUTTON_APPVERSION}.xpi
+ SectionEnd
+
+ Section "$(TorbuttonAddToFirefox)" TorbuttonAddToFirefox
+ SectionIn 1 2
+ ReadRegStr $1 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\firefox.exe" ""
+ StrCmp $1 "" FirefoxNotFound 0 ; if Path is empty or null, then skip to an error, otherwise proceed
+ Exec '"$1" -install-global-extension "$INSTDIR\Torbutton\torbutton-${TORBUTTON_APPVERSION}.xpi"'
+ Goto TorbuttonInstalled
+ FirefoxNotFound:
+ MessageBox MB_OK|MB_ICONSTOP "$(TorbuttonFirefoxNotFound)"
+ TorbuttonInstalled:
+ SectionEnd
+SectionGroupEnd
+
+Section "" end
+ SetOutPath "$INSTDIR"
+ WriteUninstaller "$INSTDIR\${UNINSTALLER}"
+SectionEnd
+
+;--------------------------------
+; Functions
+Function .onInit
+ !insertmacro MUI_LANGDLL_DISPLAY
+FunctionEnd
+
+Function .onSelChange
+ Push $0
+
+ ; Check if the Torbutton option was unchecked
+ SectionGetFlags ${Torbutton} $0
+ IntOp $0 $0 & ${SF_SELECTED}
+ IntCmp $0 0 0 SelChangeDone SelChangeDone
+
+ ; Uncheck the "Add to Firefox" box
+ SectionGetFlags ${TorbuttonAddToFirefox} $0
+ IntOp $0 $0 & ${SECTION_OFF}
+ SectionSetFlags ${TorbuttonAddToFirefox} $0
+
+ SelChangeDone:
+ Pop $0
+FunctionEnd
+
+Function CustomFinishFn
+ IntCmp $bInstallVidalia 1 run_vidalia check_tor check_tor
+ run_vidalia:
+ Exec '"$INSTDIR\Vidalia\${VIDALIA_EXEC}"'
+ goto check_privoxy
+
+ check_tor:
+ IntCmp $bInstallTor 1 run_tor check_privoxy check_privoxy
+ run_tor:
+ Exec '"$INSTDIR\Tor\${TOR_EXEC}"'
+
+ check_privoxy:
+ IntCmp $bInstallPrivoxy 1 run_privoxy done done
+ run_privoxy:
+ SetOutPath "$INSTDIR\Privoxy"
+ ExecShell "" '"$INSTDIR\Privoxy\${PRIVOXY_EXEC}"' "" SW_SHOWMINIMIZED
+ done:
+FunctionEnd
+
+;-------------------------
+; Uninstaller
+Section "-Uninstall" Uninstall
+SectionEnd
+
+SectionGroup "un.Tor ${TOR_APPVERSION}" UninstallTorGroup
+ Section "un.Tor" UninstallTor
+ SetShellVarContext all
+ RMDir /r "$INSTDIR\Tor"
+ RMDir /r "${SHORTCUTS}\Tor"
+ DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Tor"
+ SectionEnd
+
+ Section "un.$(AppData)" UninstallTorAppData
+ SetShellVarContext current
+ RMDir /r "$APPDATA\Tor"
+ SectionEnd
+SectionGroupEnd
+
+SectionGroup "un.Vidalia ${VIDALIA_APPVERSION}" UninstallVidaliaGroup
+ Section "un.Vidalia" UninstallVidalia
+ SetShellVarContext all
+ RMDir /r "$INSTDIR\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.$(AppData)" UninstallVidaliaAppData
+ SetShellVarContext current
+ RMDir /r "$APPDATA\Vidalia"
+ SectionEnd
+SectionGroupEnd
+
+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
+ SetShellVarContext current
+
+ IfFileExists "$INSTDIR\Tor\*.*" CheckTorAppData
+ SectionGetFlags ${UninstallTor} $0
+ IntOp $0 $0 & ${SECTION_OFF}
+ SectionSetFlags ${UninstallTor} $0
+
+ CheckTorAppData:
+ IfFileExists "$APPDATA\Tor\*.*" CheckVidalia
+ SectionGetFlags ${UninstallTorAppData} $0
+ IntOp $0 $0 & ${SECTION_OFF}
+ SectionSetFlags ${UninstallTorAppData} $0
+
+ CheckVidalia:
+ IfFileExists "$INSTDIR\Vidalia\*.*" CheckVidaliaAppData
+ SectionGetFlags ${UninstallVidalia} $0
+ IntOp $0 $0 & ${SECTION_OFF}
+ SectionSetFlags ${UninstallVidalia} $0
+
+ CheckVidaliaAppData:
+ IfFileExists "$APPDATA\Vidalia\*.*" CheckPrivoxy
+ SectionGetFlags ${UninstallVidaliaAppData} $0
+ IntOp $0 $0 & ${SECTION_OFF}
+ SectionSetFlags ${UninstallVidaliaAppData} $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)"
+ !insertmacro MUI_DESCRIPTION_TEXT ${TorDocs} "$(TorDocumentationDesc)"
+ !insertmacro MUI_DESCRIPTION_TEXT ${TorShortcuts} "$(TorShortcutsDesc)"
+
+ !insertmacro MUI_DESCRIPTION_TEXT ${Vidalia} "$(VidaliaAppDesc)"
+ !insertmacro MUI_DESCRIPTION_TEXT ${VidaliaGroup} "$(VidaliaGroupDesc)"
+ !insertmacro MUI_DESCRIPTION_TEXT ${VidaliaStartup} "$(VidaliaStartupDesc)"
+ !insertmacro MUI_DESCRIPTION_TEXT ${VidaliaShortcuts} "$(VidaliaShortcutsDesc)"
+
+ !insertmacro MUI_DESCRIPTION_TEXT ${Privoxy} "$(PrivoxyAppDesc)"
+ !insertmacro MUI_DESCRIPTION_TEXT ${PrivoxyGroup} "$(PrivoxyGroupDesc)"
+ !insertmacro MUI_DESCRIPTION_TEXT ${PrivoxyStartup} "$(PrivoxyStartupDesc)"
+ !insertmacro MUI_DESCRIPTION_TEXT ${PrivoxyShortcuts} "$(PrivoxyShortcutsDesc)"
+
+ !insertmacro MUI_DESCRIPTION_TEXT ${Torbutton} "$(TorbuttonAppDesc)"
+ !insertmacro MUI_DESCRIPTION_TEXT ${TorbuttonGroup} "$(TorbuttonGroupDesc)"
+ !insertmacro MUI_DESCRIPTION_TEXT ${TorbuttonAddToFirefox} "$(TorbuttonAddToFirefoxDesc)"
+!insertmacro MUI_FUNCTION_DESCRIPTION_END
+
+!insertmacro MUI_UNFUNCTION_DESCRIPTION_BEGIN
+ !insertmacro MUI_DESCRIPTION_TEXT ${UninstallTor} "$(TorUninstDesc)"
+ !insertmacro MUI_DESCRIPTION_TEXT ${UninstallTorAppData} "$(AppDataUninstDesc)"
+ !insertmacro MUI_DESCRIPTION_TEXT ${UninstallVidalia} "$(VidaliaUninstDesc)"
+ !insertmacro MUI_DESCRIPTION_TEXT ${UninstallVidaliaAppData} "$(AppDataUninstDesc)"
+ !insertmacro MUI_DESCRIPTION_TEXT ${UninstallPrivoxy} "$(PrivoxyUninstDesc)"
+!insertmacro MUI_UNFUNCTION_DESCRIPTION_END
+
+
+Function StrRep
+
+ ;Written by dirtydingus 2003-02-20 04:30:09
+ ; USAGE
+ ;Push String to do replacement in (haystack)
+ ;Push String to replace (needle)
+ ;Push Replacement
+ ;Call StrRep
+ ;Pop $R0 result
+
+ Exch $R4 ; $R4 = Replacement String
+ Exch
+ Exch $R3 ; $R3 = String to replace (needle)
+ Exch 2
+ Exch $R1 ; $R1 = String to do replacement in (haystack)
+ Push $R2 ; Replaced haystack
+ Push $R5 ; Len (needle)
+ Push $R6 ; len (haystack)
+ Push $R7 ; Scratch reg
+ StrCpy $R2 ""
+ StrLen $R5 $R3
+ StrLen $R6 $R1
+loop:
+ StrCpy $R7 $R1 $R5
+ StrCmp $R7 $R3 found
+ StrCpy $R7 $R1 1 ; - optimization can be removed if U know len needle=1
+ StrCpy $R2 "$R2$R7"
+ StrCpy $R1 $R1 $R6 1
+ StrCmp $R1 "" done loop
+found:
+ StrCpy $R2 "$R2$R4"
+ StrCpy $R1 $R1 $R6 $R5
+ StrCmp $R1 "" done loop
+done:
+ StrCpy $R3 $R2
+ Pop $R7
+ Pop $R6
+ Pop $R5
+ Pop $R2
+ Pop $R1
+ Pop $R4
+ Exch $R3
+
+FunctionEnd
+
Property changes on: trunk/pkg/win32/vidalia-bundle.nsi.in
___________________________________________________________________
Name: svn:keywords
+ Id
Name: svn:eol-style
+ native
Deleted: trunk/pkg/win32/vidalia.nsi
Added: trunk/pkg/win32/vidalia.nsi.in
===================================================================
--- trunk/pkg/win32/vidalia.nsi.in (rev 0)
+++ trunk/pkg/win32/vidalia.nsi.in 2007-12-08 07:23:26 UTC (rev 2202)
@@ -0,0 +1,228 @@
+;--------------------------------------------------------------------
+; $Id: $
+;
+; Vidalia is distributed under the following license:
+;
+; Copyright (C) 2006-2007, Matt Edman, Justin Hipple
+;
+; This program is free software; you can redistribute it and/or
+; modify it under the terms of the GNU General Public License
+; as published by the Free Software Foundation; either version 2
+; of the License, or (at your option) any later version.
+;
+; This program is distributed in the hope that it will be useful,
+; but WITHOUT ANY WARRANTY; without even the implied warranty of
+; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+; GNU General Public License for more details.
+;
+; You should have received a copy of the GNU General Public License
+; along with this program; if not, write to the Free Software
+; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+; 02110-1301, USA.
+;--------------------------------------------------------------------
+!include "MUI.nsh"
+
+SetCompressor /SOLID lzma
+!packhdr header.dat "upx --best header.dat"
+
+;---------------------------------
+; Global definitions
+!define VIDALIA_NAME "Vidalia"
+!define VIDALIA_EXEC "vidalia.exe"
+!define VIDALIA_APPVERSION "@VERSION@"
+!define VIDALIA_PRODVERSION "@VER_MAJOR@.@VER_MINOR@.@VER_PATCH@.0"
+!define VIDALIA_AUTHORS "Matt Edman, Justin Hipple"
+!define VIDALIA_INSTALLFILE "vidalia-${VIDALIA_APPVERSION}.exe"
+!define VIDALIA_DESC "${VIDALIA_NAME} ${VIDALIA_APPVERSION}"
+
+;--------------------------------
+; Installer file details
+VIAddVersionKey "ProductName" "${VIDALIA_NAME}"
+VIAddVersionKey "Comments" "${VIDALIA_DESC}"
+VIAddVersionKey "CompanyName" "${VIDALIA_AUTHORS}"
+VIAddVersionKey "LegalTrademarks" "${VIDALIA_AUTHORS}"
+VIAddVersionKey "LegalCopyright" "${VIDALIA_AUTHORS}"
+VIAddVersionKey "FileVersion" "${VIDALIA_APPVERSION}"
+VIAddVersionKey "FileDescription" "${VIDALIA_DESC}"
+VIProductVersion "${VIDALIA_PRODVERSION}"
+
+;--------------------------------
+; Basic installer information
+Name "${VIDALIA_NAME}"
+Caption "$(VidaliaSetupCaption)"
+BrandingText "${VIDALIA_DESC}"
+OutFile "${VIDALIA_INSTALLFILE}"
+InstallDir "$PROGRAMFILES\${VIDALIA_NAME}"
+InstallDirRegKey HKCU "Software" "${VIDALIA_NAME}"
+SetOverWrite ifnewer
+AutoCloseWindow false
+ShowInstDetails show
+CRCCheck on
+XPStyle on
+
+;--------------------------------
+; Install types
+!ifndef NOINSTTYPES ; only if not defined
+ InstType "Full"
+ InstType "Base"
+ ;InstType /COMPONENTSONLYONCUSTOM
+!endif
+
+;--------------------------------
+; MUI Options
+!define MUI_WELCOMEPAGE_TITLE "$(VidaliaWelcomeTitle)"
+!define MUI_WELCOMEPAGE_TEXT "$(VidaliaWelcomeText)"
+!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_RUN "$INSTDIR\${VIDALIA_EXEC}"
+!define MUI_FINISHPAGE_RUN_TEXT "$(VidaliaRunNow)"
+!define MUI_FINISHPAGE_LINK "$(VidaliaLinkText)"
+!define MUI_FINISHPAGE_LINK_LOCATION "http://www.vidalia-project.net"
+
+;--------------------------------
+; Pages
+!insertmacro MUI_PAGE_WELCOME
+!insertmacro MUI_PAGE_COMPONENTS
+!insertmacro MUI_PAGE_DIRECTORY
+!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 "Czech"
+!insertmacro MUI_LANGUAGE "Dutch"
+!insertmacro MUI_LANGUAGE "English"
+!insertmacro MUI_LANGUAGE "Farsi"
+!insertmacro MUI_LANGUAGE "Finnish"
+!insertmacro MUI_LANGUAGE "French"
+!insertmacro MUI_LANGUAGE "German"
+!insertmacro MUI_LANGUAGE "Italian"
+!insertmacro MUI_LANGUAGE "Polish"
+!insertmacro MUI_LANGUAGE "PortugueseBR"
+!insertmacro MUI_LANGUAGE "Russian"
+!insertmacro MUI_LANGUAGE "Spanish"
+!insertmacro MUI_LANGUAGE "SimpChinese"
+!insertmacro MUI_LANGUAGE "Swedish"
+!insertmacro MUI_LANGUAGE "TradChinese"
+!include "vidalia_cs.nsh"
+!include "vidalia_de.nsh"
+!include "vidalia_en.nsh"
+!include "vidalia_es.nsh"
+!include "vidalia_fa.nsh"
+!include "vidalia_fi.nsh"
+!include "vidalia_fr.nsh"
+!include "vidalia_it.nsh"
+!include "vidalia_nl.nsh"
+!include "vidalia_pl.nsh"
+!include "vidalia_pt-br.nsh"
+!include "vidalia_ru.nsh"
+!include "vidalia_sv.nsh"
+!include "vidalia_zh-cn.nsh"
+!include "vidalia_zh-tw.nsh"
+
+;--------------------------------
+; Functions
+Function .onInit
+ !insertmacro MUI_LANGDLL_DISPLAY
+FunctionEnd
+
+;--------------------------------
+; Required Components
+Section "${VIDALIA_DESC}" Vidalia
+ SectionIn RO
+
+ ; Set output path to the installation directory.
+ SetOutPath $INSTDIR
+ File "..\..\release\${VIDALIA_EXEC}"
+ File "..\..\release\mingwm10.dll"
+ File "..\..\AUTHORS"
+ File "..\..\CHANGELOG"
+ File "..\..\LICENSE"
+ File "..\..\COPYING"
+ File "..\..\README"
+
+ ; Include a prebuilt GeoIP cache
+ SetOutPath "$APPDATA\Vidalia"
+ File "..\geoip-cache"
+
+ ; Write the uninstall keys for Windows
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${VIDALIA_NAME}" "DisplayName" "${VIDALIA_DESC}"
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${VIDALIA_NAME}" "UninstallString" '"$INSTDIR\uninstall.exe"'
+ WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${VIDALIA_NAME}" "NoModify" 1
+ WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${VIDALIA_NAME}" "NoRepair" 1
+ WriteUninstaller "uninstall.exe"
+SectionEnd
+
+;--------------------------------
+; Start Menu Shortcuts
+; Optional section (can be disabled by the user)
+Section "$(VidaliaShortcuts)" Shortcuts
+ SectionIn 1
+ SetShellVarContext all
+ CreateDirectory "$SMPROGRAMS\${VIDALIA_NAME}"
+ CreateShortCut "$SMPROGRAMS\${VIDALIA_NAME}\${VIDALIA_NAME}.lnk" "$INSTDIR\${VIDALIA_EXEC}" "" "$INSTDIR\${VIDALIA_EXEC}" 0
+ CreateShortCut "$SMPROGRAMS\${VIDALIA_NAME}\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
+SectionEnd
+
+;--------------------------------
+; Run At Startup
+Section "$(VidaliaStartup)" RunAtStartup
+ SectionIn 1
+ WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "${VIDALIA_NAME}" '"$INSTDIR\${VIDALIA_EXEC}"'
+SectionEnd
+
+;--------------------------------
+; Uninstaller
+Section "-Uninstall" Uninstall
+SectionEnd
+
+Section "un.${VIDALIA_NAME} ${VIDALIA_APPVERSION}" UninstallVidalia
+ SetShellVarContext all
+
+ ; Remove registry keys
+ DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Run\" "${VIDALIA_NAME}"
+ DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${VIDALIA_NAME}"
+ DeleteRegKey HKCU "Software\${VIDALIA_NAME}"
+
+ ; Remove files and uninstaller
+ Delete $INSTDIR\uninstall.exe
+
+ ; Remove shortcuts, if any
+ Delete "$SMPROGRAMS\${VIDALIA_NAME}\*.*"
+
+ ; Remove directories used
+ RMDir "$SMPROGRAMS\${VIDALIA_NAME}"
+ RMDir /r "$INSTDIR"
+SectionEnd
+
+Section "un.$(AppData)" UninstallVidaliaAppData
+ SetShellVarContext current
+ RMDir /r "$APPDATA\Vidalia"
+SectionEnd
+
+Function un.onInit
+ !insertmacro MUI_LANGDLL_DISPLAY
+FunctionEnd
+
+;--------------------------------
+; Descriptions
+!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+ !insertmacro MUI_DESCRIPTION_TEXT ${Vidalia} "$(VidaliaAppDesc)"
+ !insertmacro MUI_DESCRIPTION_TEXT ${Shortcuts} "$(VidaliaShortcutsDesc)"
+ !insertmacro MUI_DESCRIPTION_TEXT ${RunAtStartup} "$(VidaliaStartupDesc)"
+!insertmacro MUI_FUNCTION_DESCRIPTION_END
+
+!insertmacro MUI_UNFUNCTION_DESCRIPTION_BEGIN
+ !insertmacro MUI_DESCRIPTION_TEXT ${UninstallVidalia} $(VidaliaUninstDesc)
+ !insertmacro MUI_DESCRIPTION_TEXT ${UninstallVidaliaAppData} $(AppDataUninstDesc)
+!insertmacro MUI_UNFUNCTION_DESCRIPTION_END
+
Property changes on: trunk/pkg/win32/vidalia.nsi.in
___________________________________________________________________
Name: svn:keywords
+ Id
Name: svn:eol-style
+ native
Modified: trunk/src/vidalia/CMakeLists.txt
===================================================================
--- trunk/src/vidalia/CMakeLists.txt 2007-12-08 05:45:58 UTC (rev 2201)
+++ trunk/src/vidalia/CMakeLists.txt 2007-12-08 07:23:26 UTC (rev 2202)
@@ -28,6 +28,10 @@
${CMAKE_CURRENT_SOURCE_DIR}/config
${CMAKE_CURRENT_SOURCE_DIR}/help/browser
)
+configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/res/vidalia_win.rc.in
+ ${CMAKE_CURRENT_SOURCE_DIR}/res/vidalia_win.rc
+)
## Process the translation files
add_subdirectory(i18n)
Deleted: trunk/src/vidalia/res/vidalia_win.rc
Added: trunk/src/vidalia/res/vidalia_win.rc.in
===================================================================
--- trunk/src/vidalia/res/vidalia_win.rc.in (rev 0)
+++ trunk/src/vidalia/res/vidalia_win.rc.in 2007-12-08 07:23:26 UTC (rev 2202)
@@ -0,0 +1,60 @@
+/****************************************************************
+ * Vidalia is distributed under the following license:
+ *
+ * Copyright (C) 2006-2007, Matt Edman, Justin Hipple
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ ****************************************************************/
+
+/**
+ * \file vidalia_win.rc
+ * \version $Id: mainwindow.cpp 644 2006-04-11 08:49:24Z edmanm $
+ * Defines resource identifiers for icons used on Win32.
+ */
+
+#include <winver.h>
+#include "vidalia_win.rc.h"
+
+1 VERSIONINFO
+FILEVERSION @VER_MAJOR@,@VER_MINOR@,@VER_PATCH@,0
+PRODUCTVERSION @VER_MAJOR@,@VER_MINOR@,@VER_PATCH@,0
+FILEFLAGSMASK 0
+FILEOS VOS__WINDOWS32
+FILETYPE VFT_APP
+{
+ BLOCK "StringFileInfo"
+ {
+ BLOCK "040904E4"
+ {
+ VALUE "FileVersion", "@VERSION@"
+ VALUE "ProductVersion", "@VERSION@"
+ VALUE "FileDescription", "Vidalia"
+ VALUE "InternalName", "Vidalia"
+ VALUE "ProductName", "Vidalia"
+ VALUE "OriginalFilename", "vidalia.exe"
+ VALUE "CompanyName", "vidalia-project.net"
+ VALUE "LegalCopyright", "Copyright (C) 2007, Matt Edman, Justin Hipple"
+ }
+ }
+}
+
+
+IDI_APP_ICON ICON "icons/vidalia.ico"
+IDI_TOR_OFF ICON "icons/tor-off.ico"
+IDI_TOR_ON ICON "icons/tor-on.ico"
+IDI_TOR_STARTING ICON "icons/tor-starting.ico"
+IDI_TOR_STOPPING ICON "icons/tor-stopping.ico"
+
Property changes on: trunk/src/vidalia/res/vidalia_win.rc.in
___________________________________________________________________
Name: svn:eol-style
+ native