/[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 1891 by schoenebeck, Tue Apr 28 14:13:06 2009 UTC revision 1941 by senoner, Mon Jul 13 17:48:43 2009 UTC
# Line 10  Line 10 
10  ; -> You must install the file cpudesc\cpudesc.dll into the NSIS's  ; -> You must install the file cpudesc\cpudesc.dll into the NSIS's
11  ;    plugin directory before being able to compile this installer!  ;    plugin directory before being able to compile this installer!
12  ;  ;
13  ; -> The compiled binaries must be placed into the respecitve directories  ; -> The compiled binaries must be placed into the respective directories
14  ;    under bin\ (you have to read this file in order to get those exact  ;    under bin\ (you have to read this file in order to get those exact
15  ;    locations and expected file names).  ;    locations and expected file names).
16    
# Line 19  SetCompressor lzma Line 19  SetCompressor lzma
19    
20  ;Include Modern UI  ;Include Modern UI
21  !include "MUI.nsh"  !include "MUI.nsh"
22    !include "EnvVarUpdate.nsh"
23    
24  !define RELEASE_DATE "20090428"  !define RELEASE_DATE "20090623"
25    
26  ; The name of the installer  ; The name of the installer
27  Name "LinuxSampler (${RELEASE_DATE})"  Name "LinuxSampler (${RELEASE_DATE})"
# Line 30  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 61  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 83  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 117  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 152  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 171  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:
223  FunctionEnd  FunctionEnd
224    
225    ; Tries to find the location where VST plugins should be installed to
226    Function DetectVstPath
227      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
263      ReadRegStr $0 HKCU "Software\VST" "VSTPluginsPath"
264      IfErrors check2ndRegistryKey 0
265      StrCpy $vstPluginPath $0
266      DetailPrint "Found VST plugin (32 bit) directory in HKCU registry."
267      Goto done
268    
269      check2ndRegistryKey:
270      ClearErrors
271      ReadRegStr $0 HKLM "Software\VST" "VSTPluginsPath"
272      IfErrors noRegistryKeyExists 0
273      StrCpy $vstPluginPath $0
274      DetailPrint "Found VST plugin (32 bit) directory in HKLM registry."
275      Goto done
276    
277      noRegistryKeyExists:
278      ClearErrors
279      DetailPrint "No VST plugin directory (32 bit) defined in registry."
280      StrCpy $vstPluginPath "${DEFAULT_VST_DIR}"
281    
282      done: ; ------- summary of detection -------
283    
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
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
297  SectionEnd  SectionEnd
298    
299  ;--------------------------------  ;--------------------------------
300    
301  ; The stuff to install  ; The stuff to install
302  Section "LinuxSampler 0.5.1" SecLinuxSampler  Section "LinuxSampler 0.5.1.12cvs" 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 200  Section "LinuxSampler 0.5.1" SecLinuxSam Line 310  Section "LinuxSampler 0.5.1" SecLinuxSam
310    ; Files to install    ; Files to install
311    
312    linuxsampler64:    linuxsampler64:
313    ;File bin\64\linuxsampler.exe    SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
314    ;File bin\64\liblinuxsampler-1.dll    File bin\64\linuxsampler.exe
315    Goto done    File bin\64\liblinuxsampler-1.dll
316      File bin\64\libsqlite3-0.dll
317      SetOutPath $vstPluginPath64
318      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    ;File bin\686sse\linuxsampler.exe    SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
328    ;File bin\686sse\liblinuxsampler-1.dll    File bin\686sse\linuxsampler.exe
329      File bin\686sse\liblinuxsampler-1.dll
330      File bin\686\libsqlite3-0.dll
331      SetOutPath $vstPluginPath
332      File /oname=LinuxSampler32.dll bin\686sse\LinuxSampler.dll
333    Goto done    Goto done
334    
335    linuxsampler686:    linuxsampler686:
336    ;File bin\686\linuxsampler.exe    SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
337    ;File bin\686\liblinuxsampler-1.dll    File bin\686\linuxsampler.exe
338      File bin\686\liblinuxsampler-1.dll
339      File bin\686\libsqlite3-0.dll
340      SetOutPath $vstPluginPath
341      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" SecJSampler  Section "JSampler 'Fantasia' 0.8a-cvs8" 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 225  Section "JSampler 'Fantasia' 0.8a" SecJS Line 352  Section "JSampler 'Fantasia' 0.8a" SecJS
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.jar    File bin\Fantasia-0.8a-cvs8.jar
356    ;File jsampler.ico    File jsampler.ico
357  SectionEnd  SectionEnd
358    
359  Section "QSampler 0.2.1" SecQSampler  Section "QSampler 0.2.1.26" 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.
363    SetOutPath $INSTDIR    SetOutPath $INSTDIR
364    ; Files to install    ; Files to install
365    ;File bin\qsampler.exe    File bin\686\qsampler.exe
366    ;File bin\QtCore4.dll    File bin\686\QtCore4.dll
367    ;File bin\QtGui4.dll    File bin\686\QtGui4.dll
368    ;File bin\mingwm10.dll    File bin\686\mingwm10.dll
369    ;File qsampler.ico    File qsampler.ico
370      SetOutPath $INSTDIR\share\locale
371      File bin\686\share\locale\qsampler_ru.qm
372  SectionEnd  SectionEnd
373    
374  Section "gigedit 0.1.1" Secgigedit  Section "gigedit 0.1.1.x (cvs2009-05-10)" Secgigedit
375    DetailPrint "Installing gigedit binaries ..."    DetailPrint "Installing gigedit binaries ..."
376    StrCpy $installinggigedit "1"    StrCpy $installinggigedit "1"
377    
378    ; make sure gtkmm is installed    ; make sure gtkmm is installed
379    Call CheckForGtkmm    ; (commented out for now, since we include gtk(mm) DLLs with this
380    ; Set output path to the installation directory.    ; installer, so no check and no download necessary ATM)
381    SetOutPath $INSTDIR    ;Call CheckForGtkmm
382    
383    StrCmp $binType BIN_TYPE_64BIT gigedit64    StrCmp $binType BIN_TYPE_64BIT gigedit64
384    StrCmp $binType BIN_TYPE_686SSE gigedit686sse    ; 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
386    Goto gigedit686    Goto gigedit686
387    
388    ; Files to install    ; Files to install
389    
390    gigedit64:    gigedit64:
391    ;File bin\64\gigedit.exe    SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
392    SetOutPath "$INSTDIR\Plugins"    File bin\64\gigedit.exe
393    ;File bin\64\libgigedit.dll    File bin\64\libgigedit-1.dll
394    Goto done    SetOutPath "$INSTDIR\${SUBDIR_64_BIT}\plugins"
395      File bin\64\plugins\libgigeditlinuxsamplerplugin-1.dll
396      SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
397      File bin\64\libatk-1.0-0.dll
398      File bin\64\libatkmm-1.6-1.dll
399      File bin\64\libcairo-2.dll
400      File bin\64\libcairomm-1.0-1.dll
401      File bin\64\libgdkmm-2.4-1.dll
402      File bin\64\libgdk_pixbuf-2.0-0.dll
403      File bin\64\libgdk-win32-2.0-0.dll
404      File bin\64\libgio-2.0-0.dll
405      File bin\64\libgiomm-2.4-1.dll
406      File bin\64\libglib-2.0-0.dll
407      File bin\64\libglibmm-2.4-1.dll
408      File bin\64\libgmodule-2.0-0.dll
409      File bin\64\libgobject-2.0-0.dll
410      File bin\64\libgthread-2.0-0.dll
411      File bin\64\libgtkmm-2.4-1.dll
412      File bin\64\libgtk-win32-2.0-0.dll
413      File bin\64\libintl-8.dll
414      File bin\64\libjpeg-62.dll
415      File bin\64\libpango-1.0-0.dll
416      File bin\64\libpangocairo-1.0-0.dll
417      File bin\64\libpangomm-1.4-1.dll
418      File bin\64\libpangowin32-1.0-0.dll
419      File bin\64\libpng12-0.dll
420      File bin\64\libsigc-2.0-0.dll
421      File bin\64\libtiff.dll
422      File bin\64\zlib1.dll
423      SetOutPath $INSTDIR\${SUBDIR_64_BIT}\etc\gtk-2.0
424      File bin\64\etc\gtk-2.0\gtkrc
425      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
427      SetOutPath $INSTDIR\${SUBDIR_64_BIT}\share\locale\de\LC_MESSAGES
428      File bin\64\share\locale\de\LC_MESSAGES\gigedit.mo
429      File bin\64\share\locale\de\LC_MESSAGES\gtk20.mo
430      SetOutPath $INSTDIR\${SUBDIR_64_BIT}\share\locale\sv\LC_MESSAGES
431      File bin\64\share\locale\sv\LC_MESSAGES\gigedit.mo
432      File bin\64\share\locale\sv\LC_MESSAGES\gtk20.mo
433      SetOutPath $INSTDIR\${SUBDIR_64_BIT}\share\themes\MS-Windows\gtk-2.0
434      File bin\64\share\themes\MS-Windows\gtk-2.0\gtkrc
435    
436    gigedit686sse:    ; shall we install the 32 bit version as well?
437    ;File bin\686sse\gigedit.exe    StrCmp $installing32BitToo "1" gigedit686 done
   SetOutPath "$INSTDIR\Plugins"  
   ;File bin\686sse\libgigedit.dll  
   Goto done  
438    
439    gigedit686:    gigedit686:
440    ;File bin\686\gigedit.exe    SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
441    SetOutPath "$INSTDIR\Plugins"    File bin\686\gigedit.exe
442    ;File bin\686\libgigedit.dll    File bin\686\libgigedit-1.dll
443      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}\plugins"
444      File bin\686\plugins\libgigeditlinuxsamplerplugin-1.dll
445      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
446      File bin\686\intl.dll
447      File bin\686\jpeg62.dll
448      File bin\686\libatk-1.0-0.dll
449      File bin\686\libatkmm-1.6-1.dll
450      File bin\686\libcairo-2.dll
451      File bin\686\libcairomm-1.0-1.dll
452      File bin\686\libgdkmm-2.4-1.dll
453      File bin\686\libgdk_pixbuf-2.0-0.dll
454      File bin\686\libgdk-win32-2.0-0.dll
455      File bin\686\libgio-2.0-0.dll
456      File bin\686\libgiomm-2.4-1.dll
457      File bin\686\libglib-2.0-0.dll
458      File bin\686\libglibmm-2.4-1.dll
459      File bin\686\libgmodule-2.0-0.dll
460      File bin\686\libgobject-2.0-0.dll
461      File bin\686\libgthread-2.0-0.dll
462      File bin\686\libgtkmm-2.4-1.dll
463      File bin\686\libgtk-win32-2.0-0.dll
464      File bin\686\libpango-1.0-0.dll
465      File bin\686\libpangocairo-1.0-0.dll
466      File bin\686\libpangomm-1.4-1.dll
467      File bin\686\libpangowin32-1.0-0.dll
468      File bin\686\libpng12-0.dll
469      File bin\686\libsigc-2.0-0.dll
470      File bin\686\libtiff3.dll
471      File bin\686\zlib1.dll
472      SetOutPath $INSTDIR\${SUBDIR_32_BIT}\etc\gtk-2.0
473      File bin\686\etc\gtk-2.0\gdk-pixbuf.loaders
474      File bin\686\etc\gtk-2.0\gtkrc
475      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
477      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
479      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
481      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-icns.dll
482      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-ico.dll
483      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-jpeg.dll
484      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-pcx.dll
485      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-png.dll
486      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-pnm.dll
487      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-ras.dll
488      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-tga.dll
489      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-tiff.dll
490      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
492      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-xpm.dll
493      SetOutPath $INSTDIR\${SUBDIR_32_BIT}\share\locale\de\LC_MESSAGES
494      File bin\686\share\locale\de\LC_MESSAGES\gigedit.mo
495      File bin\686\share\locale\de\LC_MESSAGES\gtk20.mo
496      SetOutPath $INSTDIR\${SUBDIR_32_BIT}\share\locale\sv\LC_MESSAGES
497      File bin\686\share\locale\sv\LC_MESSAGES\gigedit.mo
498      File bin\686\share\locale\sv\LC_MESSAGES\gtk20.mo
499      SetOutPath $INSTDIR\${SUBDIR_32_BIT}\share\themes\MS-Windows\gtk-2.0
500      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" Seclibgig  Section "libgig 3.2.1.x (cvs2009-05-03)" 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 292  Section "libgig 3.2.1" Seclibgig Line 515  Section "libgig 3.2.1" Seclibgig
515    ; Files to install    ; Files to install
516    
517    libgig64:    libgig64:
518    ;File bin\64\libgig-6.dll    SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
519    ;File bin\64\rifftree.exe    File bin\64\libgig-6.dll
520    ;File bin\64\dlsdump.exe    File bin\64\rifftree.exe
521    ;File bin\64\gigdump.exe    File bin\64\dlsdump.exe
522    ;File bin\64\gigextract.exe    File bin\64\gigdump.exe
523    Goto done    File bin\64\gigextract.exe
524      ; special dependency for the 64 bit version
525      File bin\64\libgcc_s_sjlj-1.dll
526    
527      ; shall we install the 32 bit version as well?
528      StrCmp $installing32BitToo "1" libgig686sse done
529    
530    libgig686sse:    libgig686sse:
531    ;File bin\686sse\libgig-6.dll    SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
532    ;File bin\686sse\rifftree.exe    File bin\686sse\libgig-6.dll
533    ;File bin\686sse\dlsdump.exe    File bin\686sse\rifftree.exe
534    ;File bin\686sse\gigdump.exe    File bin\686sse\dlsdump.exe
535    ;File bin\686sse\gigextract.exe    File bin\686sse\gigdump.exe
536      File bin\686sse\gigextract.exe
537    Goto done    Goto done
538    
539    libgig686:    libgig686:
540    ;File bin\686\libgig-6.dll    SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
541    ;File bin\686\rifftree.exe    File bin\686\libgig-6.dll
542    ;File bin\686\dlsdump.exe    File bin\686\rifftree.exe
543    ;File bin\686\gigdump.exe    File bin\686\dlsdump.exe
544    ;File bin\686\gigextract.exe    File bin\686\gigdump.exe
545      File bin\686\gigextract.exe
546    Goto done    Goto done
547    
548    done:    done:
549    
550    ; As this is a mandatory component, we misuse it to install the uninstaller as well ...    ; As this is a mandatory component, we misuse is for the following
551      ; common tasks as well ...
552    
553      ; Add LinuxSampler and friends to the system's PATH variable
554      ${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    
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.17" Seclibsndfile  Section "libsndfile 1.0.19" 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 343  Section "libsndfile 1.0.17" Seclibsndfil Line 586  Section "libsndfile 1.0.17" Seclibsndfil
586    ; Files to install    ; Files to install
587    
588    libsndfile64:    libsndfile64:
589    ;File bin\64\libsndfile-1.dll    SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
590    Goto done    File bin\64\libsndfile-1.dll
591    
592      ; shall we install the 32 bit version as well?
593      StrCmp $installing32BitToo "1" libsndfile686 done
594    
595    libsndfile686:    libsndfile686:
596    ;File bin\686\libsndfile-1.dll    SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
597      File bin\686\libsndfile-1.dll
598    Goto done    Goto done
599    
600    done:    done:
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 (backend).lnk" "$INSTDIR\linuxsampler.exe" "" "$INSTDIR\linuxsampler.exe" 0    SetOutPath $samplerDir
633      CreateShortCut "$SMPROGRAMS\LinuxSampler\LinuxSampler 0.5.1.12cvs (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.8a-cvs8 (frontend).lnk' '$javawbin' '-jar "$INSTDIR\Fantasia-0.8a-cvs8.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.1.26 (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.1.1.x cvs2009-05-10 (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 376  SectionEnd Line 655  SectionEnd
655  ; Uninstaller  ; Uninstaller
656    
657  Section "Uninstall"  Section "Uninstall"
658    ; Remove registry keys    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"
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 ..."
691    DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler"    DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler"
692    ; Remove files and uninstaller    DeleteRegKey HKLM "Software\LinuxSampler"
693    Delete $INSTDIR\*.*  
694    Delete $INSTDIR\plugins\*.*    ; Workaround for Vista and younger: switch system variables to 'all users'
695    ; Remove shortcuts, if any    ; 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) from: $SMPROGRAMS ..."
700    Delete "$SMPROGRAMS\LinuxSampler\*.*"    Delete "$SMPROGRAMS\LinuxSampler\*.*"
701    ; Remove directories used  
702    RMDir "$SMPROGRAMS\LinuxSampler"    DetailPrint "Removing directories used ..."
703    RMDir "$INSTDIR\plugins"    RMDir /r "$SMPROGRAMS\LinuxSampler"
704    RMDir "$INSTDIR"    RMDir /r "$INSTDIR"
705  SectionEnd  SectionEnd
706    
707  ;--------------------------------  ;--------------------------------
708  ;Descriptions  ;Descriptions
709    
710  ;Language strings  ;Language strings
711  LangString DESC_SecLinuxSampler ${LANG_ENGLISH} "Sampler backend, 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.1891  
changed lines
  Added in v.1941

  ViewVC Help
Powered by ViewVC