1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198
|
!include "MUI.nsh"
; no more env variables needed
;!include "WriteEnvStr.nsh"
;General
Name "Tulip @VERSION@"
OutFile "TulipSetup_@WIN_EXE_VERSION@.exe"
;--------------------------------
;Pages
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "@prefix@\lib\tlp\bitmaps\headerlogo.bmp"
!define MUI_HEADERIMAGE_UNBITMAP "@prefix@\lib\tlp\bitmaps\headerlogo.bmp"
!define MUI_WELCOMEFINISHPAGE_BITMAP "@prefix@\lib\tlp\bitmaps\welcomelogo.bmp"
!define MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "@prefix@\lib\tlp\bitmaps\welcomelogo.bmp"
!define MUI_UNWELCOMEFINISHPAGE_BITMAP_NOSTRETCH
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "COPYING"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_WELCOME
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
!insertmacro MUI_LANGUAGE "English"
; check for previous version
Function CheckPreviousVersion
ReadRegStr $R0 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\Tulip UninstallString
StrCmp $R0 "" CheckPrev_no
MessageBox MB_OK|MB_ICONSTOP "A previous version of Tulip was found.$\n$\nYou have to uninstall it before installing this new one."
Abort
CheckPrev_no:
FunctionEnd
Function GetParentDir
Exch $R0
Push $R1
Push $R2
Push $R3
StrCpy $R1 0
StrLen $R2 $R0
loop:
IntOp $R1 $R1 + 1
IntCmp $R1 $R2 get 0 get
StrCpy $R3 $R0 1 -$R1
StrCmp $R3 "\" get
Goto loop
get:
StrCpy $R0 $R0 -$R1
Pop $R3
Pop $R2
Pop $R1
Exch $R0
FunctionEnd
; initialization
Function .onInit
InitPluginsDir ;on initialise le r�ertoire de d�arrage des plugins
File /oname=$PLUGINSDIR\splash.bmp "@prefix@\lib\tlp\bitmaps\logo.bmp" ;on copie l'image dans l'exe final et on on la met dans le dossier temporaire.
advsplash::show 1800 350 187 2 $PLUGINSDIR\splash
Pop $R0 ;on r�up�e la valeur de retour : 1, si l'utilisateur a ferm�l'�ran, 0 si tout s'est bien pass� et -1 si un probl�e est survenu
Delete $PLUGINSDIR\spltmp.bmp ;idem pour l'image
; we try to avoid to have a space in the install dir path
; in order to ease the compilation of customer plugins using g++
; so we remove Program Files from the proposed installation path
Push $PROGRAMFILES
Call GetParentDir
Pop $R0
StrCpy $INSTDIR "$R0\Tulip_@VERSION@\"
Call CheckPreviousVersion
FunctionEnd
Section "-Programs (required)"
SetOutPath $INSTDIR
FILE @prefix@\lib\tlp\bitmaps\logo32x32.ico
FILE "${NSISDIR}\Contrib\Graphics\Icons\win-uninstall.ico"
File @prefix@\bin\tulip.exe
File @prefix@\bin\tulip_check_pl.exe
File @prefix@\bin\tulip-config
File "@MINDIR@\bin\iconv.dll"
File "@MINDIR@\bin\zlib1.dll"
File "@MINDIR@\bin\freetype*.dll"
File "@MINDIR@\bin\libxml*.dll"
File "@MINDIR@\bin\jpeg*.dll"
File "@MINDIR@\bin\libpng*.dll"
File "@MINDIR@\bin\mingwm*.dll"
File "@qt_libraries@\..\bin\QtCore4.dll"
File "@qt_libraries@\..\bin\QtGui4.dll"
File "@qt_libraries@\..\bin\QtNetWork4.dll"
File "@qt_libraries@\..\bin\QtOpenGL4.dll"
File "@qt_libraries@\..\bin\QtXml4.dll"
File "@qt_libraries@\..\bin\QtAssistantClient4.dll"
File "@qt_libraries@\..\bin\@QT_ASSISTANT@.exe"
File "@prefix@\bin\libtulip-@WIN_VERSION@.dll"
File "@prefix@\bin\libtulip-ogl-@WIN_VERSION@.dll"
File "@prefix@\bin\libtulip-qt4-@WIN_VERSION@.dll"
File "@prefix@\bin\libtulip-pluginsmanager-@WIN_VERSION@.dll"
setOutPath $INSTDIR\imageformats
File "@qt_libraries@\..\plugins\imageformats\*.dll"
setOutPath $INSTDIR\lib\tlp\bitmaps
File @prefix@\lib\tlp\bitmaps\*
SectionEnd
Section "-Install Plugins and Docs"
setOutPath $INSTDIR\lib\tlp
File @prefix@\lib\bin\*.dll
setOutPath $INSTDIR\lib\tlp\glyphs
File @prefix@\lib\tlp\bin\*-@VERSION@.dll
setOutPath $INSTDIR\lib\tlp\designer
File @prefix@\lib\tlp\bin\*-@WIN_VERSION@.dll
setOutPath $INSTDIR\share
; Try to save doc files if any
File /nonfatal /r @prefix@\share\*
SectionEnd
Section "Shortcuts" raccourcis
SetOutPath "$SMPROGRAMS\Tulip @VERSION@"
CreateShortCut "$SMPROGRAMS\Tulip @VERSION@\Tulip.lnk" "$INSTDIR\Tulip.exe" "" "$INSTDIR\logo32x32.ico"
CreateShortCut "$SMPROGRAMS\Tulip @VERSION@\Uninstall.lnk" "$INSTDIR\uninst-Tulip.exe" "" "$INSTDIR\win-uninstall.ico"
CreateShortCut "$DESKTOP\Tulip @VERSION@.lnk" "$INSTDIR\Tulip.exe" "" "$INSTDIR\logo32x32.ico"
SectionEnd
Section "SDK" sdk
setOutPath $INSTDIR\include\tulip
File @prefix@\include\tulip\*.h
setOutPath $INSTDIR\include\tulip\cxx
File @prefix@\include\tulip\cxx\*.cxx
SectionEnd
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${raccourcis} "Create a shortcut on the Desktop, and in the start menu"
!insertmacro MUI_DESCRIPTION_TEXT ${sdk} "Install the sdk version, install the include files in the Tulip directory"
!insertmacro MUI_FUNCTION_DESCRIPTION_END
Section -PostInstall
WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\Tulip DisplayName "Tulip @VERSION@ (uninstall)"
WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\Tulip UninstallString '"$INSTDIR\uninst-Tulip.exe"'
WriteUninstaller "uninst-Tulip.exe"
WriteRegStr HKLM "Software\Tulip" "Directory" '"$INSTDIR"'
WriteRegStr HKLM "Software\Tulip" "Version" "@VERSION@"
SectionEnd
UninstallText "Do you really want to remove Tulip @VERSION@ from your system ?"
Section "Uninstall"
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tulip"
DeleteRegKey HKLM "Software\Tulip"
Delete "$INSTDIR\tulip.exe"
Delete "$INSTDIR\tulip_check_pl.exe"
Delete "$INSTDIR\tulip-config"
;Delete "$INSTDIR\Tulip.txt"
Delete "$INSTDIR\uninst-Tulip.exe"
Delete "$INSTDIR\logo32x32.ico"
Delete "$INSTDIR\win-uninstall.ico"
Delete "$DESKTOP\Tulip @VERSION@.lnk"
Delete "$SMPROGRAMS\Tulip @VERSION@\*.*"
RMDir "$SMPROGRAMS\Tulip @VERSION@"
Delete "$INSTDIR\*.dll"
Delete "$INSTDIR\imageformats\*.dll"
RMDir "$INSTDIR\imageformats"
Delete "$INSTDIR\lib\tlp\bitmaps\*"
RMDir "$INSTDIR\lib\tlp\bitmaps"
Delete "$INSTDIR\lib\tlp\designer\*"
RMDir "$INSTDIR\lib\tlp\designer"
Delete "$INSTDIR\lib\tlp\glyphs\*"
RMDir "$INSTDIR\lib\tlp\glyphs"
Delete "$INSTDIR\lib\tlp\toInstall\*"
RMDir "$INSTDIR\lib\tlp\toInstall"
Delete "$INSTDIR\lib\tlp\*"
RMDir "$INSTDIR\lib\tlp"
Delete "$INSTDIR\lib\*"
RMDir "$INSTDIR\lib"
Delete "$INSTDIR\include\tulip\cxx\*"
RMDir "$INSTDIR\include\tulip\cxx"
Delete "$INSTDIR\include\tulip\*"
RMDir "$INSTDIR\include\tulip"
RMDir "$INSTDIR\include"
IfFileExists "$INSTDIR\share\*.*" 0 +2
RMDir /r "$INSTDIR\share"
Delete "$INSTDIR\@QT_ASSISTANT@.exe"
RMDir "$INSTDIR"
SectionEnd
|