SF.net SVN: geany:[3476] trunk/geany.nsi

eht16 at users.sourceforge.net eht16 at xxxxx
Sat Jan 17 13:10:26 UTC 2009


Revision: 3476
          http://geany.svn.sourceforge.net/geany/?rev=3476&view=rev
Author:   eht16
Date:     2009-01-17 13:10:26 +0000 (Sat, 17 Jan 2009)

Log Message:
-----------
Re-indent the whole file using Tabs for indentation.

Modified Paths:
--------------
    trunk/geany.nsi

Modified: trunk/geany.nsi
===================================================================
--- trunk/geany.nsi	2009-01-17 13:10:13 UTC (rev 3475)
+++ trunk/geany.nsi	2009-01-17 13:10:26 UTC (rev 3476)
@@ -117,196 +117,196 @@
 InstType "Minimal"
 
 Section "!Program Files" SEC01
-  SectionIn RO 1 2
-  SetOverwrite ifnewer
+	SectionIn RO 1 2
+	SetOverwrite ifnewer
 
-  SetOutPath "$INSTDIR"
-  File "${RESOURCEDIR}\*.txt"
+	SetOutPath "$INSTDIR"
+	File "${RESOURCEDIR}\*.txt"
 
-  SetOutPath "$INSTDIR\bin"
-  File "${RESOURCEDIR}\bin\Geany.exe"
+	SetOutPath "$INSTDIR\bin"
+	File "${RESOURCEDIR}\bin\Geany.exe"
 
-  SetOutPath "$INSTDIR\data"
-  File "${RESOURCEDIR}\data\GPL-2"
-  File "${RESOURCEDIR}\data\file*"
-  File "${RESOURCEDIR}\data\snippets.conf"
-  File "${RESOURCEDIR}\data\ui_toolbar.xml"
+	SetOutPath "$INSTDIR\data"
+	File "${RESOURCEDIR}\data\GPL-2"
+	File "${RESOURCEDIR}\data\file*"
+	File "${RESOURCEDIR}\data\snippets.conf"
+	File "${RESOURCEDIR}\data\ui_toolbar.xml"
 
-  SetOutPath "$INSTDIR\share\icons"
-  File /r "${RESOURCEDIR}\share\icons\*"
+	SetOutPath "$INSTDIR\share\icons"
+	File /r "${RESOURCEDIR}\share\icons\*"
 
-  SetOutPath "$INSTDIR"
+	SetOutPath "$INSTDIR"
 
-  CreateShortCut "$INSTDIR\Geany.lnk" "$INSTDIR\bin\Geany.exe"
-  !insertmacro MUI_STARTMENU_WRITE_BEGIN ${PRODUCT_NAME}
-  CreateDirectory "$SMPROGRAMS\$StartmenuFolder"
-  CreateShortCut "$SMPROGRAMS\$StartmenuFolder\Geany.lnk" "$INSTDIR\bin\Geany.exe"
-  !insertmacro MUI_STARTMENU_WRITE_END
+	CreateShortCut "$INSTDIR\Geany.lnk" "$INSTDIR\bin\Geany.exe"
+	!insertmacro MUI_STARTMENU_WRITE_BEGIN ${PRODUCT_NAME}
+	CreateDirectory "$SMPROGRAMS\$StartmenuFolder"
+	CreateShortCut "$SMPROGRAMS\$StartmenuFolder\Geany.lnk" "$INSTDIR\bin\Geany.exe"
+	!insertmacro MUI_STARTMENU_WRITE_END
 
-  ; register the extension .geany
-  ; write information about file type
-  WriteRegStr SHCTX "Software\Classes\${PRODUCT_REGNAME}" "" "${PRODUCT_NAME} Project File"
-  WriteRegStr SHCTX "Software\Classes\${PRODUCT_REGNAME}\DefaultIcon" "" "${PRODUCT_EXE},0"
-  WriteRegStr SHCTX "Software\Classes\${PRODUCT_REGNAME}\Shell\open\command" "" '"${PRODUCT_EXE}" "%1"'
-  ; write information about file extensions
-  WriteRegStr SHCTX "Software\Classes\${PRODUCT_EXT}" "" "${PRODUCT_REGNAME}"
-  ; refresh shell
-  System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) (0x08000000, 0, 0, 0)'
+	; register the extension .geany
+	; write information about file type
+	WriteRegStr SHCTX "Software\Classes\${PRODUCT_REGNAME}" "" "${PRODUCT_NAME} Project File"
+	WriteRegStr SHCTX "Software\Classes\${PRODUCT_REGNAME}\DefaultIcon" "" "${PRODUCT_EXE},0"
+	WriteRegStr SHCTX "Software\Classes\${PRODUCT_REGNAME}\Shell\open\command" "" '"${PRODUCT_EXE}" "%1"'
+	; write information about file extensions
+	WriteRegStr SHCTX "Software\Classes\${PRODUCT_EXT}" "" "${PRODUCT_REGNAME}"
+	; refresh shell
+	System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) (0x08000000, 0, 0, 0)'
 SectionEnd
 
 Section "Plugins" SEC02
-  SectionIn 1
-  SetOverwrite ifnewer
-  SetOutPath "$INSTDIR\lib"
-  File "${RESOURCEDIR}\lib\*.dll"
+	SectionIn 1
+	SetOverwrite ifnewer
+	SetOutPath "$INSTDIR\lib"
+	File "${RESOURCEDIR}\lib\*.dll"
 SectionEnd
 
 Section "Language Files" SEC03
-  SectionIn 1
-  SetOutPath "$INSTDIR\share\locale"
-  File /r "${RESOURCEDIR}\share\locale\*"
+	SectionIn 1
+	SetOutPath "$INSTDIR\share\locale"
+	File /r "${RESOURCEDIR}\share\locale\*"
 !ifdef INCLUDE_GTK
-  SetOutPath "$INSTDIR\share"
-  File /r "gtk\share\*"
+	SetOutPath "$INSTDIR\share"
+	File /r "gtk\share\*"
 !endif
 SectionEnd
 
 Section "Documentation" SEC04
-  SectionIn 1
-  SetOverwrite ifnewer
-  SetOutPath "$INSTDIR"
-  File /r "${RESOURCEDIR}\doc"
-  WriteIniStr "$INSTDIR\Documentation.url" "InternetShortcut" "URL" "$INSTDIR\doc\Manual.html"
-  !insertmacro MUI_STARTMENU_WRITE_BEGIN ${PRODUCT_NAME}
-  CreateShortCut "$SMPROGRAMS\$StartmenuFolder\Documentation.lnk" "$INSTDIR\Documentation.url"
-  !insertmacro MUI_STARTMENU_WRITE_END
+	SectionIn 1
+	SetOverwrite ifnewer
+	SetOutPath "$INSTDIR"
+	File /r "${RESOURCEDIR}\doc"
+	WriteIniStr "$INSTDIR\Documentation.url" "InternetShortcut" "URL" "$INSTDIR\doc\Manual.html"
+	!insertmacro MUI_STARTMENU_WRITE_BEGIN ${PRODUCT_NAME}
+	CreateShortCut "$SMPROGRAMS\$StartmenuFolder\Documentation.lnk" "$INSTDIR\Documentation.url"
+	!insertmacro MUI_STARTMENU_WRITE_END
 SectionEnd
 
 Section "Autocompletion Tags" SEC05
-  SectionIn 1
-  SetOutPath "$INSTDIR\data"
-  SetOverwrite ifnewer
-  File "${RESOURCEDIR}\data\php.tags"
-  File "${RESOURCEDIR}\data\pascal.tags"
-  File "${RESOURCEDIR}\data\latex.tags"
-  File "${RESOURCEDIR}\data\python.tags"
-  File "${RESOURCEDIR}\data\html_entities.tags"
-  File "${RESOURCEDIR}\data\global.tags"
+	SectionIn 1
+	SetOutPath "$INSTDIR\data"
+	SetOverwrite ifnewer
+	File "${RESOURCEDIR}\data\php.tags"
+	File "${RESOURCEDIR}\data\pascal.tags"
+	File "${RESOURCEDIR}\data\latex.tags"
+	File "${RESOURCEDIR}\data\python.tags"
+	File "${RESOURCEDIR}\data\html_entities.tags"
+	File "${RESOURCEDIR}\data\global.tags"
 SectionEnd
 
 ; Include GTK runtime library but only if desired from command line
 !ifdef INCLUDE_GTK
 Section "GTK 2.14 Runtime Environment" SEC06
-  SectionIn 1
-  SetOverwrite ifnewer
-  SetOutPath "$INSTDIR\bin"
-  File /r "gtk\bin\*"
-  SetOutPath "$INSTDIR\etc"
-  File /r "gtk\etc\*"
-  SetOutPath "$INSTDIR\lib"
-  File /r "gtk\lib\*"
+	SectionIn 1
+	SetOverwrite ifnewer
+	SetOutPath "$INSTDIR\bin"
+	File /r "gtk\bin\*"
+	SetOutPath "$INSTDIR\etc"
+	File /r "gtk\etc\*"
+	SetOutPath "$INSTDIR\lib"
+	File /r "gtk\lib\*"
 SectionEnd
 !endif
 
 Section "Context Menus" SEC07
-  SectionIn 1
-  WriteRegStr HKCR "*\shell\OpenWithGeany" "" "Open with Geany"
-  WriteRegStr HKCR "*\shell\OpenWithGeany\command" "" '$INSTDIR\bin\geany.exe "%1"'
+	SectionIn 1
+	WriteRegStr HKCR "*\shell\OpenWithGeany" "" "Open with Geany"
+	WriteRegStr HKCR "*\shell\OpenWithGeany\command" "" '$INSTDIR\bin\geany.exe "%1"'
 SectionEnd
 
 Section "Desktop Shortcuts" SEC08
-  SectionIn 1
-  CreateShortCut "$DESKTOP\Geany.lnk" "$INSTDIR\bin\Geany.exe"
-  CreateShortCut "$QUICKLAUNCH\Geany.lnk" "$INSTDIR\bin\Geany.exe"
+	SectionIn 1
+	CreateShortCut "$DESKTOP\Geany.lnk" "$INSTDIR\bin\Geany.exe"
+	CreateShortCut "$QUICKLAUNCH\Geany.lnk" "$INSTDIR\bin\Geany.exe"
 SectionEnd
 
 Section -AdditionalIcons
-  SetOutPath $INSTDIR
-  !insertmacro MUI_STARTMENU_WRITE_BEGIN ${PRODUCT_NAME}
-  WriteIniStr "$INSTDIR\Website.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
-  CreateShortCut "$SMPROGRAMS\$StartmenuFolder\Website.lnk" "$INSTDIR\Website.url"
-  CreateShortCut "$SMPROGRAMS\$StartmenuFolder\Uninstall.lnk" "$INSTDIR\uninst.exe"
-  !insertmacro MUI_STARTMENU_WRITE_END
+	SetOutPath $INSTDIR
+	!insertmacro MUI_STARTMENU_WRITE_BEGIN ${PRODUCT_NAME}
+	WriteIniStr "$INSTDIR\Website.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
+	CreateShortCut "$SMPROGRAMS\$StartmenuFolder\Website.lnk" "$INSTDIR\Website.url"
+	CreateShortCut "$SMPROGRAMS\$StartmenuFolder\Uninstall.lnk" "$INSTDIR\uninst.exe"
+	!insertmacro MUI_STARTMENU_WRITE_END
 SectionEnd
 
 Section -Post
-  WriteUninstaller "$INSTDIR\uninst.exe"
-  WriteRegStr SHCTX "${PRODUCT_DIR_REGKEY}" Path "$INSTDIR"
-  WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "StartMenu" "$SMPROGRAMS\$StartmenuFolder"
-  ${if} $Answer == "yes" ; if user is admin
-    WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
-    WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
-    WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\bin\Geany.exe"
-    WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
-    WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
-    WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "URLUpdateInfo" "${PRODUCT_WEB_SITE}"
-    WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
-    WriteRegDWORD SHCTX "${PRODUCT_UNINST_KEY}" "NoModify" 0x00000001
-    WriteRegDWORD SHCTX "${PRODUCT_UNINST_KEY}" "NoRepair" 0x00000001
-  ${endif}
+	WriteUninstaller "$INSTDIR\uninst.exe"
+	WriteRegStr SHCTX "${PRODUCT_DIR_REGKEY}" Path "$INSTDIR"
+	WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "StartMenu" "$SMPROGRAMS\$StartmenuFolder"
+	${if} $Answer == "yes" ; if user is admin
+		WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
+		WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
+		WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\bin\Geany.exe"
+		WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
+		WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
+		WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "URLUpdateInfo" "${PRODUCT_WEB_SITE}"
+		WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
+		WriteRegDWORD SHCTX "${PRODUCT_UNINST_KEY}" "NoModify" 0x00000001
+		WriteRegDWORD SHCTX "${PRODUCT_UNINST_KEY}" "NoRepair" 0x00000001
+	${endif}
 SectionEnd
 
 Section Uninstall
-  Delete "$INSTDIR\Website.url"
-  Delete "$INSTDIR\Documentation.url"
-  Delete "$INSTDIR\uninst.exe"
-  Delete "$INSTDIR\News.txt"
-  Delete "$INSTDIR\ReadMe.txt"
-  Delete "$INSTDIR\Thanks.txt"
-  Delete "$INSTDIR\ToDo.txt"
-  Delete "$INSTDIR\Authors.txt"
-  Delete "$INSTDIR\ChangeLog.txt"
-  Delete "$INSTDIR\Copying.txt"
-  Delete "$INSTDIR\Geany.lnk"
+	Delete "$INSTDIR\Website.url"
+	Delete "$INSTDIR\Documentation.url"
+	Delete "$INSTDIR\uninst.exe"
+	Delete "$INSTDIR\News.txt"
+	Delete "$INSTDIR\ReadMe.txt"
+	Delete "$INSTDIR\Thanks.txt"
+	Delete "$INSTDIR\ToDo.txt"
+	Delete "$INSTDIR\Authors.txt"
+	Delete "$INSTDIR\ChangeLog.txt"
+	Delete "$INSTDIR\Copying.txt"
+	Delete "$INSTDIR\Geany.lnk"
 
-  ; delete start menu entry
-  ReadRegStr $0 SHCTX "${PRODUCT_UNINST_KEY}" "StartMenu"
-  RMDir /r "$0"
+	; delete start menu entry
+	ReadRegStr $0 SHCTX "${PRODUCT_UNINST_KEY}" "StartMenu"
+	RMDir /r "$0"
 
-  Delete "$QUICKLAUNCH\Geany.lnk"
-  Delete "$DESKTOP\Geany.lnk"
+	Delete "$QUICKLAUNCH\Geany.lnk"
+	Delete "$DESKTOP\Geany.lnk"
 
-  RMDir /r "$INSTDIR\bin"
-  RMDir /r "$INSTDIR\doc"
-  RMDir /r "$INSTDIR\data"
-  RMDir /r "$INSTDIR\etc"
-  RMDir /r "$INSTDIR\lib"
-  RMDir /r "$INSTDIR\share"
-  RMDir "$INSTDIR"
+	RMDir /r "$INSTDIR\bin"
+	RMDir /r "$INSTDIR\doc"
+	RMDir /r "$INSTDIR\data"
+	RMDir /r "$INSTDIR\etc"
+	RMDir /r "$INSTDIR\lib"
+	RMDir /r "$INSTDIR\share"
+	RMDir "$INSTDIR"
 
-  ; remove .geany file extension
-  ReadRegStr $R0 SHCTX "Software\Classes\${PRODUCT_EXT}" ""
-  ${if} $R0 == "${PRODUCT_REGNAME}"
-   DeleteRegKey SHCTX "${PRODUCT_EXT}"
-   DeleteRegKey HKCR "${PRODUCT_EXT}"
-   DeleteRegKey SHCTX "${PRODUCT_REGNAME}"
-   DeleteRegKey HKCR "${PRODUCT_REGNAME}"
-  ${endif}
+	; remove .geany file extension
+	ReadRegStr $R0 SHCTX "Software\Classes\${PRODUCT_EXT}" ""
+	${if} $R0 == "${PRODUCT_REGNAME}"
+		DeleteRegKey SHCTX "${PRODUCT_EXT}"
+		DeleteRegKey HKCR "${PRODUCT_EXT}"
+		DeleteRegKey SHCTX "${PRODUCT_REGNAME}"
+		DeleteRegKey HKCR "${PRODUCT_REGNAME}"
+	${endif}
 
-  DeleteRegKey HKCR "*\shell\OpenWithGeany"
+	DeleteRegKey HKCR "*\shell\OpenWithGeany"
 
-  DeleteRegKey SHCTX "${PRODUCT_UNINST_KEY}"
-  DeleteRegKey HKCU "${PRODUCT_UNINST_KEY}"
-  DeleteRegKey SHCTX "${PRODUCT_DIR_REGKEY}"
-  DeleteRegKey HKCU "${PRODUCT_DIR_REGKEY}"
+	DeleteRegKey SHCTX "${PRODUCT_UNINST_KEY}"
+	DeleteRegKey HKCU "${PRODUCT_UNINST_KEY}"
+	DeleteRegKey SHCTX "${PRODUCT_DIR_REGKEY}"
+	DeleteRegKey HKCU "${PRODUCT_DIR_REGKEY}"
 
-  SetAutoClose true
+	SetAutoClose true
 SectionEnd
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;
 ; Section descriptions  ;
 ;;;;;;;;;;;;;;;;;;;;;;;;;
 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
-  !insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "Required program files. You cannot skip these files."
-  !insertmacro MUI_DESCRIPTION_TEXT ${SEC02} "Available plugins like 'Version Diff', 'Class Builder' and 'Insert Special Characters'."
-  !insertmacro MUI_DESCRIPTION_TEXT ${SEC03} "Various translations of Geany's interface."
-  !insertmacro MUI_DESCRIPTION_TEXT ${SEC04} "Manual in Text and HTML format."
-  !insertmacro MUI_DESCRIPTION_TEXT ${SEC05} "Symbol lists necessary for auto completion of symbols."
+!insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "Required program files. You cannot skip these files."
+!insertmacro MUI_DESCRIPTION_TEXT ${SEC02} "Available plugins like 'Version Diff', 'Class Builder' and 'Insert Special Characters'."
+!insertmacro MUI_DESCRIPTION_TEXT ${SEC03} "Various translations of Geany's interface."
+!insertmacro MUI_DESCRIPTION_TEXT ${SEC04} "Manual in Text and HTML format."
+!insertmacro MUI_DESCRIPTION_TEXT ${SEC05} "Symbol lists necessary for auto completion of symbols."
 !ifdef INCLUDE_GTK
-  !insertmacro MUI_DESCRIPTION_TEXT ${SEC06} "You need this files to run Geany. If you have already installed a GTK Runtime Environment (2.6 or higher), you can skip it."
+!insertmacro MUI_DESCRIPTION_TEXT ${SEC06} "You need this files to run Geany. If you have already installed a GTK Runtime Environment (2.6 or higher), you can skip it."
 !endif
-  !insertmacro MUI_DESCRIPTION_TEXT ${SEC07} "Add context menu item 'Open With Geany'"
-  !insertmacro MUI_DESCRIPTION_TEXT ${SEC08} "Create shortcuts for Geany on the desktop and in the Quicklaunch Bar"
+!insertmacro MUI_DESCRIPTION_TEXT ${SEC07} "Add context menu item 'Open With Geany'"
+!insertmacro MUI_DESCRIPTION_TEXT ${SEC08} "Create shortcuts for Geany on the desktop and in the Quicklaunch Bar"
 !insertmacro MUI_FUNCTION_DESCRIPTION_END
 
 ;;;;;;;;;;;;;;;;;;;;;
@@ -315,110 +315,111 @@
 
 ; (from http://jabref.svn.sourceforge.net/viewvc/jabref/trunk/jabref/src/windows/nsis/setup.nsi)
 !macro IsUserAdmin Result UName
+	ClearErrors
+	UserInfo::GetName
+	IfErrors Win9x
+	Pop $0
+	StrCpy ${UName} $0
+	UserInfo::GetAccountType
+	Pop $1
+	${if} $1 == "Admin"
+		StrCpy ${Result} "yes"
+	${else}
+		StrCpy ${Result} "no"
+	${endif}
+	Goto done
 
- ClearErrors
- UserInfo::GetName
- IfErrors Win9x
- Pop $0
- StrCpy ${UName} $0
- UserInfo::GetAccountType
- Pop $1
- ${if} $1 == "Admin"
-  StrCpy ${Result} "yes"
- ${else}
-  StrCpy ${Result} "no"
- ${endif}
- Goto done
-
- Win9x:
-  StrCpy ${Result} "yes"
- done:
+Win9x:
+	StrCpy ${Result} "yes"
+done:
 !macroend
 
 Function .onInit
-  StrCpy "$StartmenuFolder" "Geany"
+	StrCpy "$StartmenuFolder" "Geany"
 
-  ; (from http://jabref.svn.sourceforge.net/viewvc/jabref/trunk/jabref/src/windows/nsis/setup.nsi)
-  ; If the user does *not* have administrator privileges, abort
-  StrCpy $Answer ""
-  StrCpy $UserName ""
-  !insertmacro IsUserAdmin $Answer $UserName ; macro from LyXUtils.nsh
-  ${if} $Answer == "yes"
-   SetShellVarContext all ; set that e.g. shortcuts will be created for all users
-  ${else}
-   SetShellVarContext current
-   ; TODO is this really what we want? $PROGRAMFILES is not much better because
-   ; probably the unprivileged user can't write it anyways
-   StrCpy $INSTDIR "$PROFILE\$(^Name)"
-  ${endif}
+	; (from http://jabref.svn.sourceforge.net/viewvc/jabref/trunk/jabref/src/windows/nsis/setup.nsi)
+	; If the user does *not* have administrator privileges, abort
+	StrCpy $Answer ""
+	StrCpy $UserName ""
+	!insertmacro IsUserAdmin $Answer $UserName ; macro from LyXUtils.nsh
+	${if} $Answer == "yes"
+		SetShellVarContext all ; set that e.g. shortcuts will be created for all users
+	${else}
+		SetShellVarContext current
+		; TODO is this really what we want? $PROGRAMFILES is not much better because
+		; probably the unprivileged user can't write it anyways
+		StrCpy $INSTDIR "$PROFILE\$(^Name)"
+	${endif}
 
-  ; prevent running multiple instances of the installer
-  System::Call 'kernel32::CreateMutexA(i 0, i 0, t "geany_installer") i .r1 ?e'
-  Pop $R0
-  StrCmp $R0 0 +3
-    MessageBox MB_OK|MB_ICONEXCLAMATION "The installer is already running." /SD IDOK
-    Abort
-  ; warn about a new install over an existing installation
-  ReadRegStr $R0 SHCTX "${PRODUCT_UNINST_KEY}" "UninstallString"
-  StrCmp $R0 "" finish
+	; prevent running multiple instances of the installer
+	System::Call 'kernel32::CreateMutexA(i 0, i 0, t "geany_installer") i .r1 ?e'
+	Pop $R0
+	StrCmp $R0 0 +3
+	MessageBox MB_OK|MB_ICONEXCLAMATION "The installer is already running." /SD IDOK
+	Abort
+	; warn about a new install over an existing installation
+	ReadRegStr $R0 SHCTX "${PRODUCT_UNINST_KEY}" "UninstallString"
+	StrCmp $R0 "" finish
 
-  MessageBox MB_YESNO|MB_ICONEXCLAMATION \
-    "Geany has already been installed. $\nDo you want to remove the previous version before installing $(^Name) ?" \
-	/SD IDYES IDYES remove IDNO finish
+	MessageBox MB_YESNO|MB_ICONEXCLAMATION \
+	"Geany has already been installed. $\nDo you want to remove the previous version before installing $(^Name) ?" \
+		/SD IDYES IDYES remove IDNO finish
 
-  remove:
-  ; run the uninstaller
-  ClearErrors
-  ; we read the installation path of the old installation from the Registry
-  ReadRegStr $UNINSTDIR SHCTX "${PRODUCT_DIR_REGKEY}" "Path"
-  IfSilent dosilent nonsilent
-  dosilent:
+remove:
+	; run the uninstaller
+	ClearErrors
+	; we read the installation path of the old installation from the Registry
+	ReadRegStr $UNINSTDIR SHCTX "${PRODUCT_DIR_REGKEY}" "Path"
+	IfSilent dosilent nonsilent
+dosilent:
 	ExecWait '$R0 /S _?=$UNINSTDIR' ;Do not copy the uninstaller to a temp file
-    Goto finish
-  nonsilent:
+	Goto finish
+nonsilent:
 	ExecWait '$R0 _?=$UNINSTDIR' ;Do not copy the uninstaller to a temp file
-
-  finish:
+finish:
 FunctionEnd
 
 Function un.onUninstSuccess
-  HideWindow
-  MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer." /SD IDOK
+	HideWindow
+	MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer." \
+		/SD IDOK
 FunctionEnd
 
 Function un.onInit
-  ; If the user does *not* have administrator privileges, abort
-  StrCpy $Answer ""
-  !insertmacro IsUserAdmin $Answer $UserName
-  ${if} $Answer == "yes"
-   SetShellVarContext all
-  ${else}
-   ; check if the Geany has been installed with admin permisions
-   ReadRegStr $0 HKLM "${PRODUCT_UNINST_KEY}" "Publisher"
-   ${if} $0 != ""
-    MessageBox MB_OK|MB_ICONSTOP "You need administrator privileges to uninstall Geany!" /SD IDOK
-    Abort
-   ${endif}
-   SetShellVarContext current
-  ${endif}
+	; If the user does *not* have administrator privileges, abort
+	StrCpy $Answer ""
+	!insertmacro IsUserAdmin $Answer $UserName
+	${if} $Answer == "yes"
+		SetShellVarContext all
+	${else}
+		; check if the Geany has been installed with admin permisions
+		ReadRegStr $0 HKLM "${PRODUCT_UNINST_KEY}" "Publisher"
+		${if} $0 != ""
+			MessageBox MB_OK|MB_ICONSTOP "You need administrator privileges to uninstall Geany!" \
+				/SD IDOK
+			Abort
+		${endif}
+		SetShellVarContext current
+	${endif}
 
-  MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" /SD IDYES IDYES +2
-  Abort
+	MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" \
+		/SD IDYES IDYES +2
+	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
+	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!" /SD IDOK
-  Abort
+	RMDir "$INSTDIR" ; removes folder if empty
+	MessageBox MB_OK "The given directory is not writeable. Please choose another one!" /SD IDOK
+	Abort
 possible:
-  FileClose $0
-  Delete "$1"
+	FileClose $0
+	Delete "$1"
 FunctionEnd


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Commits mailing list