/[svn]/misc/trunk/win32_installer/linuxsampler_all.nsi
ViewVC logotype

Diff of /misc/trunk/win32_installer/linuxsampler_all.nsi

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1900 by schoenebeck, Mon May 11 19:50:03 2009 UTC revision 1982 by persson, Mon Aug 3 20:37:13 2009 UTC
# Line 21  SetCompressor lzma Line 21  SetCompressor lzma
21  !include "MUI.nsh"  !include "MUI.nsh"
22  !include "EnvVarUpdate.nsh"  !include "EnvVarUpdate.nsh"
23    
24  !define RELEASE_DATE "20090511"  !define RELEASE_DATE "20090803"
25    
26  ; The name of the installer  ; The name of the installer
27  Name "LinuxSampler (${RELEASE_DATE})"  Name "LinuxSampler (${RELEASE_DATE})"
# Line 31  OutFile "linuxsampler_${RELEASE_DATE}_se Line 31  OutFile "linuxsampler_${RELEASE_DATE}_se
31    
32  ; Java Runtime Environment, needed for JSampler  ; Java Runtime Environment, needed for JSampler
33  !define JRE_VERSION "1.6"  !define JRE_VERSION "1.6"
34  !define JRE_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=11292"  !define JRE_32_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=31621"
35    !define JRE_64_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=31623"
36    
37  ; The default installation directory  ; The default installation directory
38  InstallDir $PROGRAMFILES\LinuxSampler  InstallDir "$PROGRAMFILES64\LinuxSampler"
39    !define SUBDIR_32_BIT "32"
40    !define SUBDIR_64_BIT "64"
41    
42    !define DEFAULT_VST_DIR64 "$PROGRAMFILES64\Steinberg\VstPlugins"
43    !define DEFAULT_VST_DIR "$PROGRAMFILES\Steinberg\VstPlugins"
44    
45  ; Get installation folder from registry if available  ; Get installation folder from registry if available
46  InstallDirRegKey HKCU "Software\LinuxSampler" ""  InstallDirRegKey HKLM "Software\LinuxSampler" "Main Directory"
47    
48  ;--------------------------------  ;--------------------------------
49  ;Interface Settings  ;Interface Settings
# Line 62  VIAddVersionKey /LANG=${LANG_ENGLISH} "F Line 68  VIAddVersionKey /LANG=${LANG_ENGLISH} "F
68  !define BIN_TYPE_686SSE "686 SSE"  !define BIN_TYPE_686SSE "686 SSE"
69  !define BIN_TYPE_686    "686"  !define BIN_TYPE_686    "686"
70    
71    Var /GLOBAL binType
72    
73  ;--------------------------------  ;--------------------------------
74  ; Pages  ; Pages
75    
# Line 84  Function .onInit Line 92  Function .onInit
92    Var /GLOBAL installingJSampler    Var /GLOBAL installingJSampler
93    Var /GLOBAL installingQSampler    Var /GLOBAL installingQSampler
94    Var /GLOBAL installinggigedit    Var /GLOBAL installinggigedit
95      Var /GLOBAL installing32BitToo
96    StrCpy $installingLinuxSampler "0"    StrCpy $installingLinuxSampler "0"
97    StrCpy $installingJSampler "0"    StrCpy $installingJSampler "0"
98    StrCpy $installingQSampler "0"    StrCpy $installingQSampler "0"
99    StrCpy $installinggigedit "0"    StrCpy $installinggigedit "0"
100      StrCpy $installing32BitToo "0"
101  FunctionEnd  FunctionEnd
102    
103  ; detects CPU capabilities and determmines which native binary type to install  !macro CreateInternetShortcut FILENAME URL ICONFILE ICONINDEX
104  Function DetectSystemType  WriteINIStr "${FILENAME}.url" "InternetShortcut" "URL" "${URL}"
105    Var /GLOBAL binType  WriteINIStr "${FILENAME}.url" "InternetShortcut" "IconFile" "${ICONFILE}"
106    WriteINIStr "${FILENAME}.url" "InternetShortcut" "IconIndex" "${ICONINDEX}"
107    !macroend
108    
109    ; detects CPU capabilities, determines which native binary type to install
110    ; and selects the appropriate windows registry view (32 bit or 64 bit)
111    !macro DetectSystemType un
112    Function ${un}DetectSystemType
113    ; check if this is a 64 bit windows    ; check if this is a 64 bit windows
114    System::Call "kernel32::GetCurrentProcess() i .s"    System::Call "kernel32::GetCurrentProcess() i .s"
115    System::Call "kernel32::IsWow64Process(i s, *i .r0)"    System::Call "kernel32::IsWow64Process(i s, *i .r0)"
116    IntCmp $0 0 not64bit    IntCmp $0 0 not64bit
117    StrCpy $binType BIN_TYPE_64BIT    StrCpy $binType BIN_TYPE_64BIT
118    DetailPrint "64 bit Windows detected."    DetailPrint "64 bit Windows detected."
119      SetRegView 64
120    Goto DetectSystemDone    Goto DetectSystemDone
121    
122    not64bit: ; a 32 bit system    not64bit: ; a 32 bit system
123    
124      SetRegView 32
125    
126    ; check if CPU supports SSE    ; check if CPU supports SSE
127    cpudesc::tell    cpudesc::tell
128    Pop $0                     ; full identification string in $0    Pop $0                     ; full identification string in $0
# Line 118  Function DetectSystemType Line 137  Function DetectSystemType
137    
138    DetectSystemDone:    DetectSystemDone:
139  FunctionEnd  FunctionEnd
140    !macroend
141    !insertmacro DetectSystemType ""
142    !insertmacro DetectSystemType "un."
143    
144  ; Check for the presence of gtkmm, and if false, ask the user whether to  ; Check for the presence of gtkmm, and if false, ask the user whether to
145  ; download and install gtkmm now from the internet.  ; download and install gtkmm now from the internet.
146    ; (NOTE: this function is currently unused, since we include the gtk(mm)
147    ; DLLs with the installer ATM, this is the recommended way by the gtk
148    ; project)
149  Function CheckForGtkmm  Function CheckForGtkmm
150    Var /GLOBAL gtkmmSetupFile    Var /GLOBAL gtkmmSetupFile
151    
# Line 153  FunctionEnd Line 178  FunctionEnd
178    
179  ; Downloads and launches the JRE installer from the internet  ; Downloads and launches the JRE installer from the internet
180  Function GetJRE  Function GetJRE
181          MessageBox MB_OK "JSampler requires Java ${JRE_VERSION}, it will now \    Var /GLOBAL jreUri
                          be downloaded and installed"  
182    
183          StrCpy $2 "$TEMP\Java Runtime Environment.exe"    StrCmp $binType BIN_TYPE_64BIT 0 +3
184          nsisdl::download /TIMEOUT=30000 ${JRE_URL} $2    StrCpy $jreUri ${JRE_64_URL}
185          Pop $R0 ;Get the return value    Goto +2
186                  StrCmp $R0 "success" +3    StrCpy $jreUri ${JRE_32_URL}
187                  MessageBox MB_OK "Download failed: $R0"  
188                  Quit    DetailPrint "Downloading JRE from: $jreUri"
189          ExecWait $2  
190          Delete $2    MessageBox MB_OK "JSampler requires Java ${JRE_VERSION}, it will now \
191                        be downloaded and installed"
192    
193      StrCpy $2 "$TEMP\Java Runtime Environment.exe"
194      nsisdl::download /TIMEOUT=30000 "$jreUri" $2
195      Pop $R0  ; Get the return value
196      StrCmp $R0 "success" +3
197      MessageBox MB_OK "Download failed: $R0"
198      Quit
199      ExecWait $2
200      Delete $2
201  FunctionEnd  FunctionEnd
202    
203  ; Checks if the JRE is already installed, if not it will download and install it from the internet  ; Checks if the JRE is already installed, if not it will download and install it from the internet
# Line 172  Function DetectJRE Line 206  Function DetectJRE
206               "CurrentVersion"               "CurrentVersion"
207    StrCmp $2 ${JRE_VERSION} done    StrCmp $2 ${JRE_VERSION} done
208    
209      StrCmp $binType BIN_TYPE_64BIT 0 downloadjre
210    
211      ; on 64 bit systems also check the 32 bit view of the registry, maybe
212      ; a 32 bit JRE was already installed
213      SetRegView 32
214      ReadRegStr $3 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" \
215                 "CurrentVersion"
216      SetRegView 64  ; restore 64 bit view
217      StrCmp $3 ${JRE_VERSION} done
218    
219      downloadjre:
220    Call GetJRE    Call GetJRE
221    
222    done:    done:
# Line 180  FunctionEnd Line 225  FunctionEnd
225  ; Tries to find the location where VST plugins should be installed to  ; Tries to find the location where VST plugins should be installed to
226  Function DetectVstPath  Function DetectVstPath
227    Var /GLOBAL vstPluginPath    Var /GLOBAL vstPluginPath
228      Var /GLOBAL vstPluginPath64
229    
230      StrCmp $binType BIN_TYPE_64BIT 0 detectVst32
231      SetRegView 64 ; make sure we have the 64 bit registry view
232    
233      ; ------- VST 64 bit detection -------
234    
235      ClearErrors
236      ReadRegStr $0 HKCU "Software\VST" "VSTPluginsPath"
237      IfErrors check2ndRegistryKey64 0
238      StrCpy $vstPluginPath64 $0
239      DetailPrint "Found VST plugin (64 bit) directory in HKCU registry."
240      Goto done64
241    
242      check2ndRegistryKey64:
243      ClearErrors
244      ReadRegStr $0 HKLM "Software\VST" "VSTPluginsPath"
245      IfErrors noRegistryKeyExists64 0
246      StrCpy $vstPluginPath64 $0
247      DetailPrint "Found VST plugin (64 bit) directory in HKLM registry."
248      Goto done64
249    
250      noRegistryKeyExists64:
251      ClearErrors
252      DetailPrint "No VST plugin directory (64 bit) defined in registry."
253      StrCpy $vstPluginPath64 "${DEFAULT_VST_DIR64}"
254    
255      done64:
256      SetRegView 32 ; make sure we have a 32 bit registry view
257    
258      detectVst32: ; it follows the same thing for the 32 bit registry view
259    
260      ; ------- VST 32 bit detection -------
261    
262    ClearErrors    ClearErrors
263    ReadRegStr $0 HKCU "Software\VST" "VSTPluginsPath"    ReadRegStr $0 HKCU "Software\VST" "VSTPluginsPath"
264    IfErrors check2ndRegistryKey 0    IfErrors check2ndRegistryKey 0
265    StrCpy $vstPluginPath $0    StrCpy $vstPluginPath $0
266    DetailPrint "Found VST plugin directory in HKCU registry."    DetailPrint "Found VST plugin (32 bit) directory in HKCU registry."
267    Goto done    Goto done
268    
269    check2ndRegistryKey:    check2ndRegistryKey:
# Line 193  Function DetectVstPath Line 271  Function DetectVstPath
271    ReadRegStr $0 HKLM "Software\VST" "VSTPluginsPath"    ReadRegStr $0 HKLM "Software\VST" "VSTPluginsPath"
272    IfErrors noRegistryKeyExists 0    IfErrors noRegistryKeyExists 0
273    StrCpy $vstPluginPath $0    StrCpy $vstPluginPath $0
274    DetailPrint "Found VST plugin directory in HKLM registry."    DetailPrint "Found VST plugin (32 bit) directory in HKLM registry."
275    Goto done    Goto done
276    
277    noRegistryKeyExists:    noRegistryKeyExists:
278    ClearErrors    ClearErrors
279    DetailPrint "No VST plugin directory defined in registry."    DetailPrint "No VST plugin directory (32 bit) defined in registry."
280    StrCpy $vstPluginPath "$PROGRAMFILES\Steinberg\VstPlugins"    StrCpy $vstPluginPath "${DEFAULT_VST_DIR}"
281    
282    done:    done: ; ------- summary of detection -------
283    DetailPrint "Using the following as VST plugin directory: $vstPluginPath"  
284      StrCmp $binType BIN_TYPE_64BIT 0 summaryVst32
285      SetRegView 64  ; restore 64 bit view
286      DetailPrint "Using the following as VST (64 bit) plugin directory: $vstPluginPath64"
287      summaryVst32:
288      DetailPrint "Using the following as VST (32 bit) plugin directory: $vstPluginPath"
289  FunctionEnd  FunctionEnd
290    
291  ;--------------------------------  ;--------------------------------
292    
293  ; primer things to do  ; primer things to do (before installing, not called on uninstall)
294  Section ""  Section ""
295    Call DetectSystemType    Call DetectSystemType
296    Call DetectVstPath    Call DetectVstPath
# Line 216  SectionEnd Line 299  SectionEnd
299  ;--------------------------------  ;--------------------------------
300    
301  ; The stuff to install  ; The stuff to install
302  Section "LinuxSampler 0.5.1.12cvs" SecLinuxSampler  Section "LinuxSampler 1.0.0" SecLinuxSampler
303    DetailPrint "Installing LinuxSampler binaries ..."    DetailPrint "Installing LinuxSampler binaries ..."
304    StrCpy $installingLinuxSampler "1"    StrCpy $installingLinuxSampler "1"
305    
   ; Set output path to the installation directory.  
   SetOutPath $INSTDIR  
   
306    StrCmp $binType BIN_TYPE_64BIT linuxsampler64    StrCmp $binType BIN_TYPE_64BIT linuxsampler64
307    StrCmp $binType BIN_TYPE_686SSE linuxsampler686sse    StrCmp $binType BIN_TYPE_686SSE linuxsampler686sse
308    Goto linuxsampler686    Goto linuxsampler686
# Line 230  Section "LinuxSampler 0.5.1.12cvs" SecLi Line 310  Section "LinuxSampler 0.5.1.12cvs" SecLi
310    ; Files to install    ; Files to install
311    
312    linuxsampler64:    linuxsampler64:
313      SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
314    File bin\64\linuxsampler.exe    File bin\64\linuxsampler.exe
315    File bin\64\liblinuxsampler-1.dll    File bin\64\liblinuxsampler-3.dll
316    SetOutPath $vstPluginPath    File bin\64\libsqlite3-0.dll
317    File bin\64\LinuxSampler.dll    SetOutPath $vstPluginPath64
318    Goto done    File /oname=LinuxSampler64.dll bin\64\LinuxSampler.dll
319      MessageBox MB_YESNO \
320        "It seems you are using a 64 bit Windows system. A native 64 bit version of LinuxSampler and its VST plugin version will be installed accordingly.$\r$\n$\r$\nShall a 32 bit version of the LinuxSampler VST be installed as well?" \
321        IDNO done
322    
323      ; so the other sections install their 32 bit versions as well
324      StrCpy $installing32BitToo "1"
325    
326    linuxsampler686sse:    linuxsampler686sse:
327      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
328    File bin\686sse\linuxsampler.exe    File bin\686sse\linuxsampler.exe
329    File bin\686sse\liblinuxsampler-1.dll    File bin\686sse\liblinuxsampler-3.dll
330      File bin\686\libsqlite3-0.dll
331    SetOutPath $vstPluginPath    SetOutPath $vstPluginPath
332    File bin\686sse\LinuxSampler.dll    File /oname=LinuxSampler32.dll bin\686sse\LinuxSampler.dll
333    Goto done    Goto done
334    
335    linuxsampler686:    linuxsampler686:
336      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
337    File bin\686\linuxsampler.exe    File bin\686\linuxsampler.exe
338    File bin\686\liblinuxsampler-1.dll    File bin\686\liblinuxsampler-3.dll
339      File bin\686\libsqlite3-0.dll
340    SetOutPath $vstPluginPath    SetOutPath $vstPluginPath
341    File bin\686\LinuxSampler.dll    File /oname=LinuxSampler32.dll bin\686\LinuxSampler.dll
342    Goto done    Goto done
343    
344    done:    done:
345  SectionEnd  SectionEnd
346    
347  Section "JSampler 'Fantasia' 0.8a-cvs6" SecJSampler  Section "JSampler 'Fantasia' 0.9" SecJSampler
348    DetailPrint "Installing JSampler binaries ..."    DetailPrint "Installing JSampler binaries ..."
349    ; make sure JRE is installed    ; make sure JRE is installed
350    Call DetectJRE    Call DetectJRE
# Line 261  Section "JSampler 'Fantasia' 0.8a-cvs6" Line 352  Section "JSampler 'Fantasia' 0.8a-cvs6"
352    ; Set output path to the installation directory.    ; Set output path to the installation directory.
353    SetOutPath $INSTDIR    SetOutPath $INSTDIR
354    ; Files to install    ; Files to install
355    File bin\Fantasia-0.8a-cvs6.jar    File bin\Fantasia-0.9.jar
356    File jsampler.ico    File jsampler.ico
357  SectionEnd  SectionEnd
358    
359  Section "QSampler 0.2.1.26" SecQSampler  Section "QSampler 0.2.2" SecQSampler
360    DetailPrint "Installing QSampler binaries ..."    DetailPrint "Installing QSampler binaries ..."
361    StrCpy $installingQSampler "1"    StrCpy $installingQSampler "1"
362    ; Set output path to the installation directory.    ; Set output path to the installation directory.
# Line 280  Section "QSampler 0.2.1.26" SecQSampler Line 371  Section "QSampler 0.2.1.26" SecQSampler
371    File bin\686\share\locale\qsampler_ru.qm    File bin\686\share\locale\qsampler_ru.qm
372  SectionEnd  SectionEnd
373    
374  Section "gigedit 0.1.1.x (cvs2009-05-10)" Secgigedit  Section "gigedit 0.2.0" Secgigedit
375    DetailPrint "Installing gigedit binaries ..."    DetailPrint "Installing gigedit binaries ..."
376    StrCpy $installinggigedit "1"    StrCpy $installinggigedit "1"
377    
# Line 289  Section "gigedit 0.1.1.x (cvs2009-05-10) Line 380  Section "gigedit 0.1.1.x (cvs2009-05-10)
380    ; installer, so no check and no download necessary ATM)    ; installer, so no check and no download necessary ATM)
381    ;Call CheckForGtkmm    ;Call CheckForGtkmm
382    
   ; Set output path to the installation directory.  
   SetOutPath $INSTDIR  
   
383    StrCmp $binType BIN_TYPE_64BIT gigedit64    StrCmp $binType BIN_TYPE_64BIT gigedit64
384    ; I think we don't need a SSE optimized 32 bit binary for gigedit, one 64bit and one simple 32 bit version should be sufficient    ; I think we don't need a SSE optimized 32 bit binary for gigedit, one 64bit and one simple 32 bit version should be sufficient
385    ;StrCmp $binType BIN_TYPE_686SSE gigedit686sse    ;StrCmp $binType BIN_TYPE_686SSE gigedit686sse
# Line 300  Section "gigedit 0.1.1.x (cvs2009-05-10) Line 388  Section "gigedit 0.1.1.x (cvs2009-05-10)
388    ; Files to install    ; Files to install
389    
390    gigedit64:    gigedit64:
391      SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
392    File bin\64\gigedit.exe    File bin\64\gigedit.exe
393    File bin\64\libgigedit-1.dll    File bin\64\libgigedit-2.dll
394    SetOutPath "$INSTDIR\plugins"    SetOutPath "$INSTDIR\${SUBDIR_64_BIT}\plugins"
395    File bin\64\plugins\libgigeditlinuxsamplerplugin-1.dll    File bin\64\plugins\libgigeditlinuxsamplerplugin.dll
396    SetOutPath $INSTDIR    SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
397    File bin\64\libatk-1.0-0.dll    File bin\64\libatk-1.0-0.dll
398    File bin\64\libatkmm-1.6-1.dll    File bin\64\libatkmm-1.6-1.dll
399    File bin\64\libcairo-2.dll    File bin\64\libcairo-2.dll
# Line 331  Section "gigedit 0.1.1.x (cvs2009-05-10) Line 420  Section "gigedit 0.1.1.x (cvs2009-05-10)
420    File bin\64\libsigc-2.0-0.dll    File bin\64\libsigc-2.0-0.dll
421    File bin\64\libtiff.dll    File bin\64\libtiff.dll
422    File bin\64\zlib1.dll    File bin\64\zlib1.dll
423    SetOutPath $INSTDIR\etc\gtk-2.0    SetOutPath $INSTDIR\${SUBDIR_64_BIT}\etc\gtk-2.0
424    File bin\64\etc\gtk-2.0\gtkrc    File bin\64\etc\gtk-2.0\gtkrc
425    SetOutPath $INSTDIR\lib\gtk-2.0\2.10.0\engines    SetOutPath $INSTDIR\${SUBDIR_64_BIT}\lib\gtk-2.0\2.10.0\engines
426    File bin\64\lib\gtk-2.0\2.10.0\engines\libwimp.dll    File bin\64\lib\gtk-2.0\2.10.0\engines\libwimp.dll
427    SetOutPath $INSTDIR\share\locale\de\LC_MESSAGES    SetOutPath $INSTDIR\${SUBDIR_64_BIT}\share\locale\de\LC_MESSAGES
428    File bin\64\share\locale\de\LC_MESSAGES\gigedit.mo    File bin\64\share\locale\de\LC_MESSAGES\gigedit.mo
429    File bin\64\share\locale\de\LC_MESSAGES\gtk20.mo    File bin\64\share\locale\de\LC_MESSAGES\gtk20.mo
430    SetOutPath $INSTDIR\share\locale\sv\LC_MESSAGES    SetOutPath $INSTDIR\${SUBDIR_64_BIT}\share\locale\sv\LC_MESSAGES
431    File bin\64\share\locale\sv\LC_MESSAGES\gigedit.mo    File bin\64\share\locale\sv\LC_MESSAGES\gigedit.mo
432    File bin\64\share\locale\sv\LC_MESSAGES\gtk20.mo    File bin\64\share\locale\sv\LC_MESSAGES\gtk20.mo
433    SetOutPath $INSTDIR\share\themes\MS-Windows\gtk-2.0    SetOutPath $INSTDIR\${SUBDIR_64_BIT}\share\themes\MS-Windows\gtk-2.0
434    File bin\64\share\themes\MS-Windows\gtk-2.0\gtkrc    File bin\64\share\themes\MS-Windows\gtk-2.0\gtkrc
435    Goto done  
436      ; shall we install the 32 bit version as well?
437      StrCmp $installing32BitToo "1" gigedit686 done
438    
439    gigedit686:    gigedit686:
440      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
441    File bin\686\gigedit.exe    File bin\686\gigedit.exe
442    File bin\686\libgigedit-1.dll    File bin\686\libgigedit-2.dll
443    SetOutPath "$INSTDIR\plugins"    SetOutPath "$INSTDIR\${SUBDIR_32_BIT}\plugins"
444    File bin\686\plugins\libgigeditlinuxsamplerplugin-1.dll    File bin\686\plugins\libgigeditlinuxsamplerplugin.dll
445    SetOutPath $INSTDIR    SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
446    File bin\686\intl.dll    File bin\686\intl.dll
447    File bin\686\jpeg62.dll    File bin\686\jpeg62.dll
448    File bin\686\libatk-1.0-0.dll    File bin\686\libatk-1.0-0.dll
# Line 377  Section "gigedit 0.1.1.x (cvs2009-05-10) Line 469  Section "gigedit 0.1.1.x (cvs2009-05-10)
469    File bin\686\libsigc-2.0-0.dll    File bin\686\libsigc-2.0-0.dll
470    File bin\686\libtiff3.dll    File bin\686\libtiff3.dll
471    File bin\686\zlib1.dll    File bin\686\zlib1.dll
472    SetOutPath $INSTDIR\etc\gtk-2.0    SetOutPath $INSTDIR\${SUBDIR_32_BIT}\etc\gtk-2.0
473    File bin\686\etc\gtk-2.0\gdk-pixbuf.loaders    File bin\686\etc\gtk-2.0\gdk-pixbuf.loaders
474    File bin\686\etc\gtk-2.0\gtkrc    File bin\686\etc\gtk-2.0\gtkrc
475    SetOutPath $INSTDIR\lib\gtk-2.0\2.10.0\engines    SetOutPath $INSTDIR\${SUBDIR_32_BIT}\lib\gtk-2.0\2.10.0\engines
476    File bin\686\lib\gtk-2.0\2.10.0\engines\libwimp.dll    File bin\686\lib\gtk-2.0\2.10.0\engines\libwimp.dll
477    SetOutPath $INSTDIR\lib\gtk-2.0\2.10.0\loaders    SetOutPath $INSTDIR\${SUBDIR_32_BIT}\lib\gtk-2.0\2.10.0\loaders
478    File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-ani.dll    File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-ani.dll
479    File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-bmp.dll    File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-bmp.dll
480    File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-gif.dll    File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-gif.dll
# Line 398  Section "gigedit 0.1.1.x (cvs2009-05-10) Line 490  Section "gigedit 0.1.1.x (cvs2009-05-10)
490    File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-wbmp.dll    File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-wbmp.dll
491    File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-xbm.dll    File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-xbm.dll
492    File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-xpm.dll    File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-xpm.dll
493    SetOutPath $INSTDIR\share\locale\de\LC_MESSAGES    SetOutPath $INSTDIR\${SUBDIR_32_BIT}\share\locale\de\LC_MESSAGES
494    File bin\686\share\locale\de\LC_MESSAGES\gigedit.mo    File bin\686\share\locale\de\LC_MESSAGES\gigedit.mo
495    File bin\686\share\locale\de\LC_MESSAGES\gtk20.mo    File bin\686\share\locale\de\LC_MESSAGES\gtk20.mo
496    SetOutPath $INSTDIR\share\locale\sv\LC_MESSAGES    SetOutPath $INSTDIR\${SUBDIR_32_BIT}\share\locale\sv\LC_MESSAGES
497    File bin\686\share\locale\sv\LC_MESSAGES\gigedit.mo    File bin\686\share\locale\sv\LC_MESSAGES\gigedit.mo
498    File bin\686\share\locale\sv\LC_MESSAGES\gtk20.mo    File bin\686\share\locale\sv\LC_MESSAGES\gtk20.mo
499    SetOutPath $INSTDIR\share\themes\MS-Windows\gtk-2.0    SetOutPath $INSTDIR\${SUBDIR_32_BIT}\share\themes\MS-Windows\gtk-2.0
500    File bin\686\share\themes\MS-Windows\gtk-2.0\gtkrc    File bin\686\share\themes\MS-Windows\gtk-2.0\gtkrc
501    Goto done    Goto done
502    
503    done:    done:
504  SectionEnd  SectionEnd
505    
506  Section "libgig 3.2.1.x (cvs2009-05-03)" Seclibgig  Section "libgig 3.3.0" Seclibgig
507    DetailPrint "Installing libgig binaries ..."    DetailPrint "Installing libgig binaries ..."
508    ; We make this a mandatory component    ; We make this a mandatory component
509    SectionIn RO    SectionIn RO
   ; Set output path to the installation directory.  
   SetOutPath $INSTDIR  
510    
511    StrCmp $binType BIN_TYPE_64BIT libgig64    StrCmp $binType BIN_TYPE_64BIT libgig64
512    StrCmp $binType BIN_TYPE_686SSE libgig686sse    StrCmp $binType BIN_TYPE_686SSE libgig686sse
# Line 425  Section "libgig 3.2.1.x (cvs2009-05-03)" Line 515  Section "libgig 3.2.1.x (cvs2009-05-03)"
515    ; Files to install    ; Files to install
516    
517    libgig64:    libgig64:
518      SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
519    File bin\64\libgig-6.dll    File bin\64\libgig-6.dll
520    File bin\64\rifftree.exe    File bin\64\rifftree.exe
521    File bin\64\dlsdump.exe    File bin\64\dlsdump.exe
# Line 432  Section "libgig 3.2.1.x (cvs2009-05-03)" Line 523  Section "libgig 3.2.1.x (cvs2009-05-03)"
523    File bin\64\gigextract.exe    File bin\64\gigextract.exe
524    ; special dependency for the 64 bit version    ; special dependency for the 64 bit version
525    File bin\64\libgcc_s_sjlj-1.dll    File bin\64\libgcc_s_sjlj-1.dll
526    Goto done  
527      ; shall we install the 32 bit version as well?
528      StrCmp $installing32BitToo "1" libgig686sse done
529    
530    libgig686sse:    libgig686sse:
531      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
532    File bin\686sse\libgig-6.dll    File bin\686sse\libgig-6.dll
533    File bin\686sse\rifftree.exe    File bin\686sse\rifftree.exe
534    File bin\686sse\dlsdump.exe    File bin\686sse\dlsdump.exe
# Line 443  Section "libgig 3.2.1.x (cvs2009-05-03)" Line 537  Section "libgig 3.2.1.x (cvs2009-05-03)"
537    Goto done    Goto done
538    
539    libgig686:    libgig686:
540      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
541    File bin\686\libgig-6.dll    File bin\686\libgig-6.dll
542    File bin\686\rifftree.exe    File bin\686\rifftree.exe
543    File bin\686\dlsdump.exe    File bin\686\dlsdump.exe
# Line 452  Section "libgig 3.2.1.x (cvs2009-05-03)" Line 547  Section "libgig 3.2.1.x (cvs2009-05-03)"
547    
548    done:    done:
549    
550    ; As this is a mandatory component, we add the common binary directory    ; As this is a mandatory component, we misuse is for the following
551    ; of LinuxSampler and friends to the system's PATH variable here ...    ; common tasks as well ...
552    
553      ; Add LinuxSampler and friends to the system's PATH variable
554    ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR"    ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR"
555      ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR\${SUBDIR_64_BIT}"
556      ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR\${SUBDIR_32_BIT}"
557    
   ; As this is a mandatory component, we misuse it to install the uninstaller as well ...  
558    ; Write the uninstall keys for Windows    ; Write the uninstall keys for Windows
559    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "DisplayName" "LinuxSampler ${RELEASE_DATE}"    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "DisplayName" "LinuxSampler ${RELEASE_DATE}"
560    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "UninstallString" '"$INSTDIR\uninstall.exe"'    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "UninstallString" '"$INSTDIR\uninstall.exe"'
561    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "NoModify" 1    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "NoModify" 1
562    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "NoRepair" 1    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "NoRepair" 1
563    WriteUninstaller "uninstall.exe"    WriteUninstaller "uninstall.exe"
564    ;Store installation folder  
565    WriteRegStr HKCU "Software\LinuxSampler" "" $INSTDIR    ; Store installation folders
566      WriteRegStr HKLM "Software\LinuxSampler" "Main Directory" $INSTDIR
567      StrCmp $binType BIN_TYPE_64BIT 0 +3
568      WriteRegStr HKLM "Software\LinuxSampler" "VST 64 Directory" $vstPluginPath64
569      StrCmp $installing32BitToo "1" 0 +2
570      WriteRegStr HKLM "Software\LinuxSampler" "VST 32 Directory" $vstPluginPath
571    
572      ; Just for info, store the release date as well
573      WriteRegStr HKLM "Software\LinuxSampler" "Release Date" ${RELEASE_DATE}
574  SectionEnd  SectionEnd
575    
576  Section "libsndfile 1.0.19" Seclibsndfile  Section "libsndfile 1.0.20" Seclibsndfile
577    DetailPrint "Installing libsndfile binaries ..."    DetailPrint "Installing libsndfile binaries ..."
578    ; We make this a mandatory component    ; We make this a mandatory component
579    SectionIn RO    SectionIn RO
   ; Set output path to the installation directory.  
   SetOutPath $INSTDIR  
580    
581    StrCmp $binType BIN_TYPE_64BIT libsndfile64    StrCmp $binType BIN_TYPE_64BIT libsndfile64
582    ; I think we don't need a SSE optimized 32 bit binary for libsndfile, one 64bit and one simple 32 bit DLL should be sufficient    ; I think we don't need a SSE optimized 32 bit binary for libsndfile, one 64bit and one simple 32 bit DLL should be sufficient
# Line 482  Section "libsndfile 1.0.19" Seclibsndfil Line 586  Section "libsndfile 1.0.19" Seclibsndfil
586    ; Files to install    ; Files to install
587    
588    libsndfile64:    libsndfile64:
589      SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
590    File bin\64\libsndfile-1.dll    File bin\64\libsndfile-1.dll
591    Goto done  
592      ; shall we install the 32 bit version as well?
593      StrCmp $installing32BitToo "1" libsndfile686 done
594    
595    libsndfile686:    libsndfile686:
596      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
597    File bin\686\libsndfile-1.dll    File bin\686\libsndfile-1.dll
598    Goto done    Goto done
599    
# Line 493  Section "libsndfile 1.0.19" Seclibsndfil Line 601  Section "libsndfile 1.0.19" Seclibsndfil
601  SectionEnd  SectionEnd
602    
603  Section "Start Menu Shortcuts" SecShortcuts  Section "Start Menu Shortcuts" SecShortcuts
604      Var /GLOBAL javawbin
605      Var /GLOBAL samplerDir
606    
607      StrCmp $binType BIN_TYPE_64BIT 0 +3
608      StrCpy $samplerDir "$INSTDIR\${SUBDIR_64_BIT}"
609      Goto +2
610      StrCpy $samplerDir "$INSTDIR\${SUBDIR_32_BIT}"
611    
612      ; Switch system variables to 'all users', to ensure we create the start
613      ; menu shortcuts for all users and not just for the current user.
614      SetShellVarContext all
615    
616      ; try to resolve the full qualified path of the javaw binary
617      ClearErrors
618      SearchPath $javawbin javaw.exe
619      IfErrors 0 javawDetected
620      ClearErrors
621      ; if all fails, simply use SYSDIR (which should work almost always anyway)
622      DetailPrint "WRN: Could not resolve javaw.exe path, using SYSDIR."
623      StrCpy $javawbin "$SYSDIR\javaw.exe"
624      javawDetected:
625    
626    CreateDirectory "$SMPROGRAMS\LinuxSampler"    CreateDirectory "$SMPROGRAMS\LinuxSampler"
627    
628      SetOutPath $INSTDIR
629    CreateShortCut "$SMPROGRAMS\LinuxSampler\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0    CreateShortCut "$SMPROGRAMS\LinuxSampler\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
630    
631    StrCmp $installingLinuxSampler '1' 0 +2    StrCmp $installingLinuxSampler '1' 0 +3
632    CreateShortCut "$SMPROGRAMS\LinuxSampler\LinuxSampler 0.5.1 (stand alone backend).lnk" "$INSTDIR\linuxsampler.exe" "" "$INSTDIR\linuxsampler.exe" 0    SetOutPath $samplerDir
633      CreateShortCut "$SMPROGRAMS\LinuxSampler\LinuxSampler 1.0.0 (stand alone backend).lnk" "$samplerDir\linuxsampler.exe" "" "$samplerDir\linuxsampler.exe" 0
634    
635    StrCmp $installingJSampler '1' 0 +2    StrCmp $installingJSampler '1' 0 +3
636    CreateShortCut '$SMPROGRAMS\LinuxSampler\JSampler Fantasia 0.8a (frontend).lnk' 'javaw' '-jar "$INSTDIR\Fantasia-0.8a.jar"' '$INSTDIR\jsampler.ico' 0    SetOutPath $INSTDIR
637      CreateShortCut '$SMPROGRAMS\LinuxSampler\JSampler Fantasia 0.9 (frontend).lnk' '$javawbin' '-jar "$INSTDIR\Fantasia-0.9.jar"' '$INSTDIR\jsampler.ico' 0
638    
639    StrCmp $installingQSampler '1' 0 +2    StrCmp $installingQSampler '1' 0 +3
640    CreateShortCut "$SMPROGRAMS\LinuxSampler\QSampler 0.2.1 (frontend).lnk" "$INSTDIR\qsampler.exe" "" "$INSTDIR\qsampler.ico" 0    SetOutPath $INSTDIR
641      CreateShortCut "$SMPROGRAMS\LinuxSampler\QSampler 0.2.2 (frontend).lnk" "$INSTDIR\qsampler.exe" "" "$INSTDIR\qsampler.ico" 0
642    
643    StrCmp $installinggigedit '1' 0 +2    StrCmp $installinggigedit '1' 0 +3
644    CreateShortCut "$SMPROGRAMS\LinuxSampler\gigedit 0.1.1 (stand alone).lnk" "$INSTDIR\gigedit.exe" "" "$INSTDIR\gigedit.exe" 0    SetOutPath $samplerDir
645      CreateShortCut "$SMPROGRAMS\LinuxSampler\gigedit 0.2.0 (stand alone).lnk" "$samplerDir\gigedit.exe" "" "$samplerDir\gigedit.exe" 0
646    
647      !insertmacro CreateInternetShortcut \
648      "$SMPROGRAMS\LinuxSampler\\Support LinuxSampler" \
649      "http://www.linuxsampler.org/donations.html" \
650      "" "0"
651  SectionEnd  SectionEnd
652    
653  ;--------------------------------  ;--------------------------------
# Line 515  SectionEnd Line 655  SectionEnd
655  ; Uninstaller  ; Uninstaller
656    
657  Section "Uninstall"  Section "Uninstall"
658    DetailPrint "Removing LinuxSampler directory from PATH variable ..."    Var /GLOBAL vstdir32
659      Var /GLOBAL vstdir64
660    
661      Call un.DetectSystemType
662    
663      DetailPrint "Removing LinuxSampler directories from PATH variable ..."
664    ${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR"    ${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR"
665      ${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR\${SUBDIR_32_BIT}"
666      ${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR\${SUBDIR_64_BIT}"
667    
668      StrCmp $binType BIN_TYPE_64BIT 0 uninstallVst32
669      DetailPrint "Searching for VST plugin (64 bit) ..."
670      ClearErrors
671      ReadRegStr $0 HKLM "Software\LinuxSampler" "VST 64 Directory"
672      IfErrors uninstallVst32 0
673      StrCpy $vstdir64 $0
674      DetailPrint "Removing VST plugin (64 bit) from: $vstdir64 ..."
675      Delete "$vstdir64\LinuxSampler64.dll"
676    
677      uninstallVst32:
678    
679      DetailPrint "Searching for VST plugin (32 bit) ..."
680      ClearErrors
681      ReadRegStr $0 HKLM "Software\LinuxSampler" "VST 32 Directory"
682      IfErrors uninstallVstDone 0
683      StrCpy $vstdir32 $0
684      DetailPrint "Removing VST plugin (32 bit) from: $vstdir32 ..."
685      Delete "$vstdir32\LinuxSampler32.dll"
686    
687      uninstallVstDone:
688      ClearErrors
689    
690    DetailPrint "Removing registry keys ..."    DetailPrint "Removing registry keys ..."
691    DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler"    DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler"
692      DeleteRegKey HKLM "Software\LinuxSampler"
693    
694    DetailPrint "Removing VST plugin ..."    ; Workaround for Vista and younger: switch system variables to 'all users'
695    Delete $vstPluginPath\LinuxSampler.dll    ; otherwise e.g. we couldn't delete start menu shortcuts below on those
696      ; systems, as those variables would point to the current user.
697      SetShellVarContext all
698    
699    DetailPrint "Removing shortcuts (if any) ..."    DetailPrint "Removing shortcuts (if any) from: $SMPROGRAMS ..."
700    Delete "$SMPROGRAMS\LinuxSampler\*.*"    Delete "$SMPROGRAMS\LinuxSampler\*.*"
701    
702    DetailPrint "Removing directories used ..."    DetailPrint "Removing directories used ..."
703    RMDir "$SMPROGRAMS\LinuxSampler"    RMDir /r "$SMPROGRAMS\LinuxSampler"
704    RMDir /r "$INSTDIR"    RMDir /r "$INSTDIR"
705  SectionEnd  SectionEnd
706    
# Line 536  SectionEnd Line 708  SectionEnd
708  ;Descriptions  ;Descriptions
709    
710  ;Language strings  ;Language strings
711  LangString DESC_SecLinuxSampler ${LANG_ENGLISH} "Sampler backend (stand-alone application and VST plugin), including sampler engine, MIDI and audio drivers, native C++ API as well as network (LSCP) API. Use a frontend application like JSampler or QSampler to control the sampler."  LangString DESC_SecLinuxSampler ${LANG_ENGLISH} "Sampler backend (stand-alone and VST), including sampler engine, MIDI and audio drivers, native C++ API as well as network (LSCP) API. Use a frontend application like JSampler or QSampler to control the sampler."
712  LangString DESC_SecJSampler ${LANG_ENGLISH} "Graphical frontend (user interface) for LinuxSampler written in Java, supporting all current features of LinuxSampler. This is the 'Fantasia' distribution of JSampler, offering a modern skin based look."  LangString DESC_SecJSampler ${LANG_ENGLISH} "Graphical frontend (user interface) for LinuxSampler written in Java, supporting all current features of LinuxSampler. This is the 'Fantasia' distribution of JSampler, offering a modern skin based look."
713  LangString DESC_SecQSampler ${LANG_ENGLISH} "Graphical light-weight frontend (user interface) for LinuxSampler written in C++, offering a fast native user interface. NOTE: QSampler doesn't support all LinuxSampler features yet!"  LangString DESC_SecQSampler ${LANG_ENGLISH} "Graphical light-weight frontend (user interface) for LinuxSampler written in C++, offering a fast native user interface. NOTE: QSampler doesn't support all LinuxSampler features yet!"
714  LangString DESC_Secgigedit ${LANG_ENGLISH} "Graphical instrument editor for Gigasampler format v2 and v3 files. Can be used stand-alone or in conjunction with LinuxSampler. NOTE: this is yet an early development version!"  LangString DESC_Secgigedit ${LANG_ENGLISH} "Graphical instrument editor for Gigasampler format v2 and v3 files. Can be used stand-alone or in conjunction with LinuxSampler."
715  LangString DESC_Seclibgig ${LANG_ENGLISH} "C++ program library for accessing DLS (Level 1 and Level 2) and Gigasampler format (v2 and v3) files. This library is required by LinuxSampler, gigedit and QSampler."  LangString DESC_Seclibgig ${LANG_ENGLISH} "C++ program library for accessing DLS (Level 1 and Level 2) and Gigasampler format (v2 and v3) files. This library is required by LinuxSampler, gigedit and QSampler."
716  LangString DESC_Seclibsndfile ${LANG_ENGLISH} "C program library for reading and writing files containing sampled sound (such as MS Windows WAV and the Apple/SGI AIFF format), used by gigedit to import samples."  LangString DESC_Seclibsndfile ${LANG_ENGLISH} "C program library for reading and writing files containing sampled sound (such as MS Windows WAV and the Apple/SGI AIFF format), used by gigedit to import samples."
717  LangString DESC_SecShortcuts ${LANG_ENGLISH} "Installs start menu shortcuts for all applications."  LangString DESC_SecShortcuts ${LANG_ENGLISH} "Installs start menu shortcuts for all applications."

Legend:
Removed from v.1900  
changed lines
  Added in v.1982

  ViewVC Help
Powered by ViewVC