Revision: 1513 http://svn.sourceforge.net/geany/?rev=1513&view=rev Author: eht16 Date: 2007-05-07 08:36:43 -0700 (Mon, 07 May 2007)
Log Message: ----------- Prevent installation in a directory without proper write permissions under Windows. Display an error message instead.
Modified Paths: -------------- trunk/ChangeLog trunk/geany.nsi
Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2007-05-07 13:57:03 UTC (rev 1512) +++ trunk/ChangeLog 2007-05-07 15:36:43 UTC (rev 1513) @@ -1,6 +1,9 @@ 2007-05-07 Enrico Tröger enrico.troeger@uvena.de
* data/filetypes.haskell: Added build instructions. + * geany.nsi: Prevent installation in a directory without proper + write permissions under Windows. + Display an error message instead.
2007-05-06 Enrico Tröger enrico.troeger@uvena.de
Modified: trunk/geany.nsi =================================================================== --- trunk/geany.nsi 2007-05-07 13:57:03 UTC (rev 1512) +++ trunk/geany.nsi 2007-05-07 15:36:43 UTC (rev 1513) @@ -20,7 +20,7 @@ !define RESOURCEDIR "geany-${PRODUCT_VERSION}"
; only used when embedding GTK+ installer -!define GTK_INSTALLER "gtk+-2.8.18-setup-1.exe" +!define GTK_INSTALLER "gtk+-2.10.6-1-setup.exe"
SetCompressor /SOLID lzma XPStyle on @@ -89,6 +89,7 @@ ; Components page !insertmacro MUI_PAGE_COMPONENTS ; Directory page +!define MUI_PAGE_CUSTOMFUNCTION_LEAVE OnDirLeave !insertmacro MUI_PAGE_DIRECTORY ; Start menu page var ICONS_GROUP @@ -145,7 +146,7 @@
Section "Documentation" SEC03 SectionIn 1 - SetOverwrite try + SetOverwrite ifnewer SetOutPath "$INSTDIR" File /r "${RESOURCEDIR}\doc"
@@ -169,7 +170,7 @@
; Include GTK runtime library but only if desired from command line !ifdef INCLUDE_GTK -Section "GTK 2.8 Runtime Environment" SEC05 +Section "GTK 2.10 Runtime Environment" SEC05 SectionIn 1 SetOutPath "$INSTDIR" SetOverwrite ifnewer @@ -243,6 +244,23 @@ Abort FunctionEnd
+Function OnDirLeave + ClearErrors + SetOutPath "$INSTDIR" ; what about IfError creating $INSTDIR? + GetTempFileName $1 "$INSTDIR" ; creates tmp file (or fails) + FileOpen $0 "$1" "w" ; error to open? + FileWriteByte $0 "0" + IfErrors notPossible possible + +notPossible: + RMDir "$INSTDIR" ; removes folder if empty + MessageBox MB_OK "The given directory is not writeable. Please choose another one!" + Abort +possible: + FileClose $0 + Delete "$1" +FunctionEnd + Section Uninstall !insertmacro MUI_STARTMENU_GETFOLDER "Application" $ICONS_GROUP Delete "$INSTDIR${PRODUCT_NAME}.url"
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.