/[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 1581 by schoenebeck, Fri Dec 7 17:52:39 2007 UTC revision 1941 by senoner, Mon Jul 13 17:48:43 2009 UTC
# Line 1  Line 1 
1  ; LinuxSampler Windows installer  ; LinuxSampler Windows installer
2  ;  ;
3  ; Copyright (C) 2007, The LinuxSampler Developers  ; Copyright (C) 2007-2009, The LinuxSampler Developers
4  ;  ;
5  ; All-in-one Installer for all subprojects / software components of the  ; All-in-one Installer for all subprojects / software components of the
6  ; LinuxSampler Project.  ; LinuxSampler Project.
7    ;
8    ; PREREQUISITES:
9    ;
10    ; -> You must install the file cpudesc\cpudesc.dll into the NSIS's
11    ;    plugin directory before being able to compile this installer!
12    ;
13    ; -> 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
15    ;    locations and expected file names).
16    
17  ; Probably the best compression ratio  ; Probably the best compression ratio
18  SetCompressor lzma  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 "20071207"  !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 21  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 44  VIAddVersionKey /LANG=${LANG_ENGLISH} "P Line 60  VIAddVersionKey /LANG=${LANG_ENGLISH} "P
60  VIAddVersionKey /LANG=${LANG_ENGLISH} "Comments" "http://linuxsampler.org"  VIAddVersionKey /LANG=${LANG_ENGLISH} "Comments" "http://linuxsampler.org"
61  VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "The LinuxSampler Project"  VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "The LinuxSampler Project"
62  VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" ""  VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" ""
63  VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "© 2003-2007 The LinuxSampler Project"  VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "© 2003-2009 The LinuxSampler Project"
64  VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "LinuxSampler Installer (${RELEASE_DATE})"  VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "LinuxSampler Installer (${RELEASE_DATE})"
65  VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "0.0.0"  VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "0.0.0"
66    
67    !define BIN_TYPE_64BIT  "64 bit"
68    !define BIN_TYPE_686SSE "686 SSE"
69    !define BIN_TYPE_686    "686"
70    
71    Var /GLOBAL binType
72    
73  ;--------------------------------  ;--------------------------------
74  ; Pages  ; Pages
75    
# Line 70  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    !macro CreateInternetShortcut FILENAME URL ICONFILE ICONINDEX
104    WriteINIStr "${FILENAME}.url" "InternetShortcut" "URL" "${URL}"
105    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
114      System::Call "kernel32::GetCurrentProcess() i .s"
115      System::Call "kernel32::IsWow64Process(i s, *i .r0)"
116      IntCmp $0 0 not64bit
117      StrCpy $binType BIN_TYPE_64BIT
118      DetailPrint "64 bit Windows detected."
119      SetRegView 64
120      Goto DetectSystemDone
121    
122      not64bit: ; a 32 bit system
123    
124      SetRegView 32
125    
126      ; check if CPU supports SSE
127      cpudesc::tell
128      Pop $0                     ; full identification string in $0
129      StrCpy $1 $0 1, 34         ; pull out one character after SSE=
130      IntFmt $2 "%u" $1          ; and turn it into a number
131      IntCmpU $2 1 +1 +4 +4
132      StrCpy $binType BIN_TYPE_686SSE
133      DetailPrint "32 bit Windows, SSE CPU detected."
134      Goto DetectSystemDone
135      StrCpy $binType BIN_TYPE_686
136      DetailPrint "32 bit Windows (no SSE support) detected."
137    
138      DetectSystemDone:
139    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 110  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 129  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 (before installing, not called on uninstall)
294    Section ""
295      Call DetectSystemType
296      Call DetectVstPath
297    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 ..."
304    StrCpy $installingLinuxSampler "1"    StrCpy $installingLinuxSampler "1"
305    ; Set output path to the installation directory.  
306    SetOutPath $INSTDIR    StrCmp $binType BIN_TYPE_64BIT linuxsampler64
307      StrCmp $binType BIN_TYPE_686SSE linuxsampler686sse
308      Goto linuxsampler686
309    
310    ; Files to install    ; Files to install
311    File linuxsampler.exe  
312    File liblinuxsampler-1.dll    linuxsampler64:
313      SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
314      File bin\64\linuxsampler.exe
315      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:
327      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
328      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
334    
335      linuxsampler686:
336      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
337      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
343    
344      done:
345  SectionEnd  SectionEnd
346    
347  Section "JSampler 'Fantasia' 0.8a" SecJSampler  Section "JSampler 'Fantasia' 0.8a-cvs8" SecJSampler
348      DetailPrint "Installing JSampler binaries ..."
349    ; make sure JRE is installed    ; make sure JRE is installed
350    Call DetectJRE    Call DetectJRE
351    StrCpy $installingJSampler "1"    StrCpy $installingJSampler "1"
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 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 ..."
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 qsampler.exe    File bin\686\qsampler.exe
366    File QtCore4.dll    File bin\686\QtCore4.dll
367    File QtGui4.dll    File bin\686\QtGui4.dll
368    File mingwm10.dll    File bin\686\mingwm10.dll
369      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 ..."
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
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
385      ;StrCmp $binType BIN_TYPE_686SSE gigedit686sse
386      Goto gigedit686
387    
388    ; Files to install    ; Files to install
389    File gigedit.exe  
390    File libsndfile-1.dll    gigedit64:
391    SetOutPath "$INSTDIR\plugins"    SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
392    File libgigedit.dll    File bin\64\gigedit.exe
393      File bin\64\libgigedit-1.dll
394      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      ; shall we install the 32 bit version as well?
437      StrCmp $installing32BitToo "1" gigedit686 done
438    
439      gigedit686:
440      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
441      File bin\686\gigedit.exe
442      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
502    
503      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 ..."
508    ; We make this a mandatory component    ; We make this a mandatory component
509    SectionIn RO    SectionIn RO
510    ; Set output path to the installation directory.  
511    SetOutPath $INSTDIR    StrCmp $binType BIN_TYPE_64BIT libgig64
512      StrCmp $binType BIN_TYPE_686SSE libgig686sse
513      Goto libgig686
514    
515    ; Files to install    ; Files to install
516    File libgig-6.dll  
517    File rifftree.exe    libgig64:
518    File dlsdump.exe    SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
519    File gigdump.exe    File bin\64\libgig-6.dll
520    File gigextract.exe    File bin\64\rifftree.exe
521    ; As this is a mandatory component, we misuse it to install the uninstaller as well ...    File bin\64\dlsdump.exe
522      File bin\64\gigdump.exe
523      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:
531      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
532      File bin\686sse\libgig-6.dll
533      File bin\686sse\rifftree.exe
534      File bin\686sse\dlsdump.exe
535      File bin\686sse\gigdump.exe
536      File bin\686sse\gigextract.exe
537      Goto done
538    
539      libgig686:
540      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
541      File bin\686\libgig-6.dll
542      File bin\686\rifftree.exe
543      File bin\686\dlsdump.exe
544      File bin\686\gigdump.exe
545      File bin\686\gigextract.exe
546      Goto done
547    
548      done:
549    
550      ; 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
575    
576    Section "libsndfile 1.0.19" Seclibsndfile
577      DetailPrint "Installing libsndfile binaries ..."
578      ; We make this a mandatory component
579      SectionIn RO
580    
581      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
583      ;StrCmp $binType BIN_TYPE_686SSE libsndfile686sse
584      Goto libsndfile686
585    
586      ; Files to install
587    
588      libsndfile64:
589      SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
590      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:
596      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
597      File bin\686\libsndfile-1.dll
598      Goto done
599    
600      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    StrCmp $installingJSampler '1' 0 +2  
635    CreateShortCut '$SMPROGRAMS\LinuxSampler\JSampler Fantasia 0.8a (frontend).lnk' 'javaw' '-jar "$INSTDIR\Fantasia-0.8a.jar"' '$INSTDIR\jsampler.ico' 0    StrCmp $installingJSampler '1' 0 +3
636        SetOutPath $INSTDIR
637    StrCmp $installingQSampler '1' 0 +2    CreateShortCut '$SMPROGRAMS\LinuxSampler\JSampler Fantasia 0.8a-cvs8 (frontend).lnk' '$javawbin' '-jar "$INSTDIR\Fantasia-0.8a-cvs8.jar"' '$INSTDIR\jsampler.ico' 0
638    CreateShortCut "$SMPROGRAMS\LinuxSampler\QSampler 0.2.1 (frontend).lnk" "$INSTDIR\qsampler.exe" "" "$INSTDIR\qsampler.exe" 0  
639        StrCmp $installingQSampler '1' 0 +3
640    StrCmp $installinggigedit '1' 0 +2    SetOutPath $INSTDIR
641    CreateShortCut "$SMPROGRAMS\LinuxSampler\gigedit 0.1.1 (stand alone).lnk" "$INSTDIR\gigedit.exe" "" "$INSTDIR\gigedit.exe" 0    CreateShortCut "$SMPROGRAMS\LinuxSampler\QSampler 0.2.1.26 (frontend).lnk" "$INSTDIR\qsampler.exe" "" "$INSTDIR\qsampler.ico" 0
642      
643      StrCmp $installinggigedit '1' 0 +3
644      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 228  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."
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."
718    
719  ;Assign language strings to sections  ;Assign language strings to sections
# Line 259  LangString DESC_SecShortcuts ${LANG_ENGL Line 723  LangString DESC_SecShortcuts ${LANG_ENGL
723    !insertmacro MUI_DESCRIPTION_TEXT ${SecQSampler} $(DESC_SecQSampler)    !insertmacro MUI_DESCRIPTION_TEXT ${SecQSampler} $(DESC_SecQSampler)
724    !insertmacro MUI_DESCRIPTION_TEXT ${Secgigedit} $(DESC_Secgigedit)    !insertmacro MUI_DESCRIPTION_TEXT ${Secgigedit} $(DESC_Secgigedit)
725    !insertmacro MUI_DESCRIPTION_TEXT ${Seclibgig} $(DESC_Seclibgig)    !insertmacro MUI_DESCRIPTION_TEXT ${Seclibgig} $(DESC_Seclibgig)
726      !insertmacro MUI_DESCRIPTION_TEXT ${Seclibsndfile} $(DESC_Seclibsndfile)
727    !insertmacro MUI_DESCRIPTION_TEXT ${SecShortcuts} $(DESC_SecShortcuts)    !insertmacro MUI_DESCRIPTION_TEXT ${SecShortcuts} $(DESC_SecShortcuts)
728  !insertmacro MUI_FUNCTION_DESCRIPTION_END  !insertmacro MUI_FUNCTION_DESCRIPTION_END

Legend:
Removed from v.1581  
changed lines
  Added in v.1941

  ViewVC Help
Powered by ViewVC