;Include Modern UI !include "MUI2.nsh" !include "FileFunc.nsh" ;General !define APPNAME "Glade Interface Designer" !define COMPANYNAME "GNOME Foundation" !define VERSIONMAJOR @GLADE_MAJOR_VERSION@ !define VERSIONMINOR @GLADE_MINOR_VERSION@ !define VERSIONBUILD @GLADE_MICRO_VERSION@ !define HELPURL "http://bugzilla.gnome.org/browse.cgi?product=glade" !define UPDATEURL "http://glade.gnome.org" !define ABOUTURL "http://gnome.org" ;Name and file Name "${APPNAME}" BrandingText "${COMPANYNAME}" outFile "glade-@GLADE_MAJOR_VERSION@-@GLADE_MINOR_VERSION@-@GLADE_MICRO_VERSION@-installer.exe" ;Default installation folder InstallDir "$LOCALAPPDATA\${COMPANYNAME}\${APPNAME}" ;Request application privileges for Windows Vista RequestExecutionLevel user ;Interface Settings !define MUI_ICON "glade.ico" !define MUI_ABORTWARNING ;Pages !insertmacro MUI_PAGE_LICENSE "COPYING" !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES ;Languages !insertmacro MUI_LANGUAGE "English" Function .onInit MessageBox MB_OK "This Glade build and installer are BETA SOFTWARE!$\nIt was cross compiled on Linux and tested with wine! (a Windows emulator)$\nand it is distributed with the hope it will be usefull as a starting point for a new Windows comunity$\nthat can support it and contribute back to make it better." ReadRegStr $R0 HKLM \ "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "UninstallString" StrCmp $R0 "" done MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION \ "${APPNAME} is already installed. $\n$\nClick `OK` to remove the \ previous version or `Cancel` to cancel this upgrade." \ IDOK uninst Abort ;Run the uninstaller uninst: ClearErrors SetOverwrite on ; Get old instalation directory ${GetFileName} $R0 $1 ${GetParent} $R0 $2 ; Move old uninstaller CopyFiles $R0 $TEMP SetOverwrite off ; execute old uninstaller ExecWait '$TEMP\$1 _?=$2' $3 ; remove moved uninstaller Delete $TEMP\$1 done: FunctionEnd Section "Install" SetOutPath "$INSTDIR" file /r bin file /r etc !include install_files.nsh file glade.ico ;Create uninstaller WriteUninstaller "$INSTDIR\Uninstall.exe" ;Create shortcuts createDirectory "$SMPROGRAMS\${COMPANYNAME}" createShortCut "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}.lnk" "$INSTDIR\bin\glade.exe" "" "$INSTDIR\glade.ico" ; Registry information for add/remove programs WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "DisplayName" "${COMPANYNAME} - ${APPNAME}" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "UninstallString" "$INSTDIR\uninstall.exe" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "QuietUninstallString" "$INSTDIR\uninstall.exe /S" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "InstallLocation" "$INSTDIR" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "DisplayIcon" "$\"$INSTDIR\glade.ico$\"" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "Publisher" "$\"${COMPANYNAME}$\"" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "HelpLink" "$\"${HELPURL}$\"" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "URLUpdateInfo" "$\"${UPDATEURL}$\"" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "URLInfoAbout" "$\"${ABOUTURL}$\"" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "DisplayVersion" "$\"${VERSIONMAJOR}.${VERSIONMINOR}.${VERSIONBUILD}$\"" WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "VersionMajor" ${VERSIONMAJOR} WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "VersionMinor" ${VERSIONMINOR} WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "VersionMicro" ${VERSIONBUILD} ; There is no option for modifying or repairing the install WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "NoModify" 1 WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "NoRepair" 1 SectionEnd Section "Uninstall" ; Remove Start Menu launcher delete "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}.lnk" ; Try to remove the Start Menu folder - this will only happen if it is empty rmDir "$SMPROGRAMS\${COMPANYNAME}" ; Remove files delete "$INSTDIR\glade.ico" !include uninstall_files.nsh ; Always delete uninstaller as the last action delete "$INSTDIR\uninstall.exe" ; Try to remove the install directory - this will only happen if it is empty rmDir "$INSTDIR" rmDir "$LOCALAPPDATA\${COMPANYNAME}" ; Remove uninstaller information from the registry DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" SectionEnd