/[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 1547 by schoenebeck, Wed Dec 5 01:01:01 2007 UTC revision 1927 by schoenebeck, Thu Jul 2 23:02:17 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 "20090623"
25    
26  ; The name of the installer  ; The name of the installer
27  Name "LinuxSampler"  Name "LinuxSampler (${RELEASE_DATE})"
28    
29  ; The file to write  ; The file to write
30  OutFile "linuxsampler_20071206_setup.exe"  OutFile "linuxsampler_${RELEASE_DATE}_setup.exe"
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  ; Get installation folder from registry if available  !define DEFAULT_VST_DIR64 "$PROGRAMFILES64\Steinberg\VstPlugins"
43  InstallDirRegKey HKCU "Software\LinuxSampler" ""  !define DEFAULT_VST_DIR "$PROGRAMFILES\Steinberg\VstPlugins"
44    
45  ;LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf"  ; Get installation folder from registry if available
46    InstallDirRegKey HKLM "Software\LinuxSampler" "Main Directory"
47    
48  ;--------------------------------  ;--------------------------------
49  ;Interface Settings  ;Interface Settings
# Line 40  InstallDirRegKey HKCU "Software\LinuxSam Line 56  InstallDirRegKey HKCU "Software\LinuxSam
56  ;Version Information  ;Version Information
57    
58  VIProductVersion "0.0.0.0"  VIProductVersion "0.0.0.0"
59  VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "LinuxSampler Installer"  VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "all-in-one installer"
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" "all-in-one installer"  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  ; Pages  Var /GLOBAL binType
72    
73  ;Page license  ;--------------------------------
74  ;Page components  ; Pages
 ;Page directory  
 ;Page instfiles  
75    
76  !insertmacro MUI_PAGE_LICENSE "license.rtf"  !insertmacro MUI_PAGE_LICENSE "license.rtf"
77  !insertmacro MUI_PAGE_COMPONENTS  !insertmacro MUI_PAGE_COMPONENTS
# Line 64  VIAddVersionKey /LANG=${LANG_ENGLISH} "F Line 80  VIAddVersionKey /LANG=${LANG_ENGLISH} "F
80  !insertmacro MUI_UNPAGE_CONFIRM  !insertmacro MUI_UNPAGE_CONFIRM
81  !insertmacro MUI_UNPAGE_INSTFILES  !insertmacro MUI_UNPAGE_INSTFILES
82    
 ;UninstPage uninstConfirm  
 ;UninstPage instfiles  
   
 ;LicenseData license.rtf  
   
83  ;--------------------------------  ;--------------------------------
84  ;Languages  ;Languages
85    
# Line 76  VIAddVersionKey /LANG=${LANG_ENGLISH} "F Line 87  VIAddVersionKey /LANG=${LANG_ENGLISH} "F
87    
88  ;--------------------------------  ;--------------------------------
89    
90    Function .onInit
91      Var /GLOBAL installingLinuxSampler
92      Var /GLOBAL installingJSampler
93      Var /GLOBAL installingQSampler
94      Var /GLOBAL installinggigedit
95      Var /GLOBAL installing32BitToo
96      StrCpy $installingLinuxSampler "0"
97      StrCpy $installingJSampler "0"
98      StrCpy $installingQSampler "0"
99      StrCpy $installinggigedit "0"
100      StrCpy $installing32BitToo "0"
101    FunctionEnd
102    
103    ; detects CPU capabilities, determines which native binary type to install
104    ; and selects the appropriate windows registry view (32 bit or 64 bit)
105    !macro DetectSystemType un
106    Function ${un}DetectSystemType
107      ; check if this is a 64 bit windows
108      System::Call "kernel32::GetCurrentProcess() i .s"
109      System::Call "kernel32::IsWow64Process(i s, *i .r0)"
110      IntCmp $0 0 not64bit
111      StrCpy $binType BIN_TYPE_64BIT
112      DetailPrint "64 bit Windows detected."
113      SetRegView 64
114      Goto DetectSystemDone
115    
116      not64bit: ; a 32 bit system
117    
118      SetRegView 32
119    
120      ; check if CPU supports SSE
121      cpudesc::tell
122      Pop $0                     ; full identification string in $0
123      StrCpy $1 $0 1, 34         ; pull out one character after SSE=
124      IntFmt $2 "%u" $1          ; and turn it into a number
125      IntCmpU $2 1 +1 +4 +4
126      StrCpy $binType BIN_TYPE_686SSE
127      DetailPrint "32 bit Windows, SSE CPU detected."
128      Goto DetectSystemDone
129      StrCpy $binType BIN_TYPE_686
130      DetailPrint "32 bit Windows (no SSE support) detected."
131    
132      DetectSystemDone:
133    FunctionEnd
134    !macroend
135    !insertmacro DetectSystemType ""
136    !insertmacro DetectSystemType "un."
137    
138  ; 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
139  ; download and install gtkmm now from the internet.  ; download and install gtkmm now from the internet.
140    ; (NOTE: this function is currently unused, since we include the gtk(mm)
141    ; DLLs with the installer ATM, this is the recommended way by the gtk
142    ; project)
143  Function CheckForGtkmm  Function CheckForGtkmm
144    Var /GLOBAL gtkmmSetupFile    Var /GLOBAL gtkmmSetupFile
145    
146      ClearErrors
147    ; This is just a lazy check for the presence of gtkmm, we should better use:    ; This is just a lazy check for the presence of gtkmm, we should better use:
148    ; System::Call function (NSI internal function) to actually call an arbitrary    ; System::Call function (NSI internal function) to actually call an arbitrary
149    ; gtkmm function (/method) from a gtkmm DLL to make it certain    ; gtkmm function (/method) from a gtkmm DLL to make it certain
# Line 109  FunctionEnd Line 172  FunctionEnd
172    
173  ; Downloads and launches the JRE installer from the internet  ; Downloads and launches the JRE installer from the internet
174  Function GetJRE  Function GetJRE
175          MessageBox MB_OK "JSampler requires Java ${JRE_VERSION}, it will now \    Var /GLOBAL jreUri
                          be downloaded and installed"  
176    
177          StrCpy $2 "$TEMP\Java Runtime Environment.exe"    StrCmp $binType BIN_TYPE_64BIT 0 +3
178          nsisdl::download /TIMEOUT=30000 ${JRE_URL} $2    StrCpy $jreUri ${JRE_64_URL}
179          Pop $R0 ;Get the return value    Goto +2
180                  StrCmp $R0 "success" +3    StrCpy $jreUri ${JRE_32_URL}
181                  MessageBox MB_OK "Download failed: $R0"  
182                  Quit    DetailPrint "Downloading JRE from: $jreUri"
183          ExecWait $2  
184          Delete $2    MessageBox MB_OK "JSampler requires Java ${JRE_VERSION}, it will now \
185                        be downloaded and installed"
186    
187      StrCpy $2 "$TEMP\Java Runtime Environment.exe"
188      nsisdl::download /TIMEOUT=30000 "$jreUri" $2
189      Pop $R0  ; Get the return value
190      StrCmp $R0 "success" +3
191      MessageBox MB_OK "Download failed: $R0"
192      Quit
193      ExecWait $2
194      Delete $2
195  FunctionEnd  FunctionEnd
196    
197  ; 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 128  Function DetectJRE Line 200  Function DetectJRE
200               "CurrentVersion"               "CurrentVersion"
201    StrCmp $2 ${JRE_VERSION} done    StrCmp $2 ${JRE_VERSION} done
202    
203      StrCmp $binType BIN_TYPE_64BIT 0 downloadjre
204    
205      ; on 64 bit systems also check the 32 bit view of the registry, maybe
206      ; a 32 bit JRE was already installed
207      SetRegView 32
208      ReadRegStr $3 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" \
209                 "CurrentVersion"
210      SetRegView 64  ; restore 64 bit view
211      StrCmp $3 ${JRE_VERSION} done
212    
213      downloadjre:
214    Call GetJRE    Call GetJRE
215    
216    done:    done:
217  FunctionEnd  FunctionEnd
218    
219    ; Tries to find the location where VST plugins should be installed to
220    Function DetectVstPath
221      Var /GLOBAL vstPluginPath
222      Var /GLOBAL vstPluginPath64
223    
224      StrCmp $binType BIN_TYPE_64BIT 0 detectVst32
225      SetRegView 64 ; make sure we have the 64 bit registry view
226    
227      ; ------- VST 64 bit detection -------
228    
229      ClearErrors
230      ReadRegStr $0 HKCU "Software\VST" "VSTPluginsPath"
231      IfErrors check2ndRegistryKey64 0
232      StrCpy $vstPluginPath64 $0
233      DetailPrint "Found VST plugin (64 bit) directory in HKCU registry."
234      Goto done64
235    
236      check2ndRegistryKey64:
237      ClearErrors
238      ReadRegStr $0 HKLM "Software\VST" "VSTPluginsPath"
239      IfErrors noRegistryKeyExists64 0
240      StrCpy $vstPluginPath64 $0
241      DetailPrint "Found VST plugin (64 bit) directory in HKLM registry."
242      Goto done64
243    
244      noRegistryKeyExists64:
245      ClearErrors
246      DetailPrint "No VST plugin directory (64 bit) defined in registry."
247      StrCpy $vstPluginPath64 "${DEFAULT_VST_DIR64}"
248    
249      done64:
250      SetRegView 32 ; make sure we have a 32 bit registry view
251    
252      detectVst32: ; it follows the same thing for the 32 bit registry view
253    
254      ; ------- VST 32 bit detection -------
255    
256      ClearErrors
257      ReadRegStr $0 HKCU "Software\VST" "VSTPluginsPath"
258      IfErrors check2ndRegistryKey 0
259      StrCpy $vstPluginPath $0
260      DetailPrint "Found VST plugin (32 bit) directory in HKCU registry."
261      Goto done
262    
263      check2ndRegistryKey:
264      ClearErrors
265      ReadRegStr $0 HKLM "Software\VST" "VSTPluginsPath"
266      IfErrors noRegistryKeyExists 0
267      StrCpy $vstPluginPath $0
268      DetailPrint "Found VST plugin (32 bit) directory in HKLM registry."
269      Goto done
270    
271      noRegistryKeyExists:
272      ClearErrors
273      DetailPrint "No VST plugin directory (32 bit) defined in registry."
274      StrCpy $vstPluginPath "${DEFAULT_VST_DIR}"
275    
276      done: ; ------- summary of detection -------
277    
278      StrCmp $binType BIN_TYPE_64BIT 0 summaryVst32
279      SetRegView 64  ; restore 64 bit view
280      DetailPrint "Using the following as VST (64 bit) plugin directory: $vstPluginPath64"
281      summaryVst32:
282      DetailPrint "Using the following as VST (32 bit) plugin directory: $vstPluginPath"
283    FunctionEnd
284    
285    ;--------------------------------
286    
287    ; primer things to do (before installing, not called on uninstall)
288    Section ""
289      Call DetectSystemType
290      Call DetectVstPath
291    SectionEnd
292    
293  ;--------------------------------  ;--------------------------------
294    
295  ; The stuff to install  ; The stuff to install
296  Section "LinuxSampler 0.5.1" SecLinuxSampler  Section "LinuxSampler 0.5.1.12cvs" SecLinuxSampler
297    ; Set output path to the installation directory.    DetailPrint "Installing LinuxSampler binaries ..."
298    SetOutPath $INSTDIR    StrCpy $installingLinuxSampler "1"
299    
300      StrCmp $binType BIN_TYPE_64BIT linuxsampler64
301      StrCmp $binType BIN_TYPE_686SSE linuxsampler686sse
302      Goto linuxsampler686
303    
304    ; Files to install    ; Files to install
305  ;  File linuxsampler.exe  
306  ;  File liblinuxsampler.dll    linuxsampler64:
307      SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
308      File bin\64\linuxsampler.exe
309      File bin\64\liblinuxsampler-1.dll
310      File bin\64\libsqlite3-0.dll
311      SetOutPath $vstPluginPath64
312      File /oname=LinuxSampler64.dll bin\64\LinuxSampler.dll
313      MessageBox MB_YESNO \
314        "It seems you are using a 64 bit Windows system. A native 64 bit\nversion of LinuxSampler and its VST plugin version will be\ninstalled accordingly.\n\nShall a 32 bit version of the LinuxSampler VST be installed as well?" \
315        IDNO done
316    
317      ; so the other sections install their 32 bit versions as well
318      StrCpy $installing32BitToo "1"
319    
320      linuxsampler686sse:
321      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
322      File bin\686sse\linuxsampler.exe
323      File bin\686sse\liblinuxsampler-1.dll
324      File bin\686\libsqlite3-0.dll
325      SetOutPath $vstPluginPath
326      File /oname=LinuxSampler32.dll bin\686sse\LinuxSampler.dll
327      Goto done
328    
329      linuxsampler686:
330      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
331      File bin\686\linuxsampler.exe
332      File bin\686\liblinuxsampler-1.dll
333      File bin\686\libsqlite3-0.dll
334      SetOutPath $vstPluginPath
335      File /oname=LinuxSampler32.dll bin\686\LinuxSampler.dll
336      Goto done
337    
338      done:
339  SectionEnd  SectionEnd
340    
341  Section "JSampler 'Fantasia' 0.0.1" SecJSampler  Section "JSampler 'Fantasia' 0.8a-cvs8" SecJSampler
342      DetailPrint "Installing JSampler binaries ..."
343    ; make sure JRE is installed    ; make sure JRE is installed
344    Call DetectJRE    Call DetectJRE
345      StrCpy $installingJSampler "1"
346    ; Set output path to the installation directory.    ; Set output path to the installation directory.
347    SetOutPath $INSTDIR    SetOutPath $INSTDIR
348    ; Files to install    ; Files to install
349  ;  File jsampler.jar    File bin\Fantasia-0.8a-cvs8.jar
350      File jsampler.ico
351  SectionEnd  SectionEnd
352    
353  Section "QSampler 0.2.0" SecQSampler  Section "QSampler 0.2.1.26" SecQSampler
354      DetailPrint "Installing QSampler binaries ..."
355      StrCpy $installingQSampler "1"
356    ; Set output path to the installation directory.    ; Set output path to the installation directory.
357    SetOutPath $INSTDIR    SetOutPath $INSTDIR
358    ; Files to install    ; Files to install
359  ;  File qsampler.exe    File bin\686\qsampler.exe
360  ;  File liblscp.dll    File bin\686\QtCore4.dll
361      File bin\686\QtGui4.dll
362      File bin\686\mingwm10.dll
363      File qsampler.ico
364      SetOutPath $INSTDIR\share\locale
365      File bin\686\share\locale\qsampler_ru.qm
366  SectionEnd  SectionEnd
367    
368  Section "gigedit 0.1.1" Secgigedit  Section "gigedit 0.1.1.x (cvs2009-05-10)" Secgigedit
369      DetailPrint "Installing gigedit binaries ..."
370      StrCpy $installinggigedit "1"
371    
372    ; make sure gtkmm is installed    ; make sure gtkmm is installed
373    Call CheckForGtkmm    ; (commented out for now, since we include gtk(mm) DLLs with this
374    ; Set output path to the installation directory.    ; installer, so no check and no download necessary ATM)
375    SetOutPath $INSTDIR    ;Call CheckForGtkmm
376    
377      StrCmp $binType BIN_TYPE_64BIT gigedit64
378      ; 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
379      ;StrCmp $binType BIN_TYPE_686SSE gigedit686sse
380      Goto gigedit686
381    
382    ; Files to install    ; Files to install
383  ;  File gigedit.exe  
384    SetOutPath "$INSTDIR\Plugins"    gigedit64:
385  ;  File libgigedit.dll    SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
386      File bin\64\gigedit.exe
387      File bin\64\libgigedit-1.dll
388      SetOutPath "$INSTDIR\${SUBDIR_64_BIT}\plugins"
389      File bin\64\plugins\libgigeditlinuxsamplerplugin-1.dll
390      SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
391      File bin\64\libatk-1.0-0.dll
392      File bin\64\libatkmm-1.6-1.dll
393      File bin\64\libcairo-2.dll
394      File bin\64\libcairomm-1.0-1.dll
395      File bin\64\libgdkmm-2.4-1.dll
396      File bin\64\libgdk_pixbuf-2.0-0.dll
397      File bin\64\libgdk-win32-2.0-0.dll
398      File bin\64\libgio-2.0-0.dll
399      File bin\64\libgiomm-2.4-1.dll
400      File bin\64\libglib-2.0-0.dll
401      File bin\64\libglibmm-2.4-1.dll
402      File bin\64\libgmodule-2.0-0.dll
403      File bin\64\libgobject-2.0-0.dll
404      File bin\64\libgthread-2.0-0.dll
405      File bin\64\libgtkmm-2.4-1.dll
406      File bin\64\libgtk-win32-2.0-0.dll
407      File bin\64\libintl-8.dll
408      File bin\64\libjpeg-62.dll
409      File bin\64\libpango-1.0-0.dll
410      File bin\64\libpangocairo-1.0-0.dll
411      File bin\64\libpangomm-1.4-1.dll
412      File bin\64\libpangowin32-1.0-0.dll
413      File bin\64\libpng12-0.dll
414      File bin\64\libsigc-2.0-0.dll
415      File bin\64\libtiff.dll
416      File bin\64\zlib1.dll
417      SetOutPath $INSTDIR\${SUBDIR_64_BIT}\etc\gtk-2.0
418      File bin\64\etc\gtk-2.0\gtkrc
419      SetOutPath $INSTDIR\${SUBDIR_64_BIT}\lib\gtk-2.0\2.10.0\engines
420      File bin\64\lib\gtk-2.0\2.10.0\engines\libwimp.dll
421      SetOutPath $INSTDIR\${SUBDIR_64_BIT}\share\locale\de\LC_MESSAGES
422      File bin\64\share\locale\de\LC_MESSAGES\gigedit.mo
423      File bin\64\share\locale\de\LC_MESSAGES\gtk20.mo
424      SetOutPath $INSTDIR\${SUBDIR_64_BIT}\share\locale\sv\LC_MESSAGES
425      File bin\64\share\locale\sv\LC_MESSAGES\gigedit.mo
426      File bin\64\share\locale\sv\LC_MESSAGES\gtk20.mo
427      SetOutPath $INSTDIR\${SUBDIR_64_BIT}\share\themes\MS-Windows\gtk-2.0
428      File bin\64\share\themes\MS-Windows\gtk-2.0\gtkrc
429    
430      ; shall we install the 32 bit version as well?
431      StrCmp $installing32BitToo "1" gigedit686 done
432    
433      gigedit686:
434      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
435      File bin\686\gigedit.exe
436      File bin\686\libgigedit-1.dll
437      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}\plugins"
438      File bin\686\plugins\libgigeditlinuxsamplerplugin-1.dll
439      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
440      File bin\686\intl.dll
441      File bin\686\jpeg62.dll
442      File bin\686\libatk-1.0-0.dll
443      File bin\686\libatkmm-1.6-1.dll
444      File bin\686\libcairo-2.dll
445      File bin\686\libcairomm-1.0-1.dll
446      File bin\686\libgdkmm-2.4-1.dll
447      File bin\686\libgdk_pixbuf-2.0-0.dll
448      File bin\686\libgdk-win32-2.0-0.dll
449      File bin\686\libgio-2.0-0.dll
450      File bin\686\libgiomm-2.4-1.dll
451      File bin\686\libglib-2.0-0.dll
452      File bin\686\libglibmm-2.4-1.dll
453      File bin\686\libgmodule-2.0-0.dll
454      File bin\686\libgobject-2.0-0.dll
455      File bin\686\libgthread-2.0-0.dll
456      File bin\686\libgtkmm-2.4-1.dll
457      File bin\686\libgtk-win32-2.0-0.dll
458      File bin\686\libpango-1.0-0.dll
459      File bin\686\libpangocairo-1.0-0.dll
460      File bin\686\libpangomm-1.4-1.dll
461      File bin\686\libpangowin32-1.0-0.dll
462      File bin\686\libpng12-0.dll
463      File bin\686\libsigc-2.0-0.dll
464      File bin\686\libtiff3.dll
465      File bin\686\zlib1.dll
466      SetOutPath $INSTDIR\${SUBDIR_32_BIT}\etc\gtk-2.0
467      File bin\686\etc\gtk-2.0\gdk-pixbuf.loaders
468      File bin\686\etc\gtk-2.0\gtkrc
469      SetOutPath $INSTDIR\${SUBDIR_32_BIT}\lib\gtk-2.0\2.10.0\engines
470      File bin\686\lib\gtk-2.0\2.10.0\engines\libwimp.dll
471      SetOutPath $INSTDIR\${SUBDIR_32_BIT}\lib\gtk-2.0\2.10.0\loaders
472      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-ani.dll
473      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-bmp.dll
474      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-gif.dll
475      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-icns.dll
476      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-ico.dll
477      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-jpeg.dll
478      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-pcx.dll
479      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-png.dll
480      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-pnm.dll
481      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-ras.dll
482      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-tga.dll
483      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-tiff.dll
484      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-wbmp.dll
485      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-xbm.dll
486      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-xpm.dll
487      SetOutPath $INSTDIR\${SUBDIR_32_BIT}\share\locale\de\LC_MESSAGES
488      File bin\686\share\locale\de\LC_MESSAGES\gigedit.mo
489      File bin\686\share\locale\de\LC_MESSAGES\gtk20.mo
490      SetOutPath $INSTDIR\${SUBDIR_32_BIT}\share\locale\sv\LC_MESSAGES
491      File bin\686\share\locale\sv\LC_MESSAGES\gigedit.mo
492      File bin\686\share\locale\sv\LC_MESSAGES\gtk20.mo
493      SetOutPath $INSTDIR\${SUBDIR_32_BIT}\share\themes\MS-Windows\gtk-2.0
494      File bin\686\share\themes\MS-Windows\gtk-2.0\gtkrc
495      Goto done
496    
497      done:
498  SectionEnd  SectionEnd
499    
500  Section "libgig 3.2.1" Seclibgig  Section "libgig 3.2.1.x (cvs2009-05-03)" Seclibgig
501      DetailPrint "Installing libgig binaries ..."
502    ; We make this a mandatory component    ; We make this a mandatory component
503    SectionIn RO    SectionIn RO
504    ; Set output path to the installation directory.  
505    SetOutPath $INSTDIR    StrCmp $binType BIN_TYPE_64BIT libgig64
506      StrCmp $binType BIN_TYPE_686SSE libgig686sse
507      Goto libgig686
508    
509    ; Files to install    ; Files to install
510  ;  File libgig.dll  
511    ; As this is a mandatory component, we misuse it to install the uninstaller as well ...    libgig64:
512      SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
513      File bin\64\libgig-6.dll
514      File bin\64\rifftree.exe
515      File bin\64\dlsdump.exe
516      File bin\64\gigdump.exe
517      File bin\64\gigextract.exe
518      ; special dependency for the 64 bit version
519      File bin\64\libgcc_s_sjlj-1.dll
520    
521      ; shall we install the 32 bit version as well?
522      StrCmp $installing32BitToo "1" libgig686sse done
523    
524      libgig686sse:
525      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
526      File bin\686sse\libgig-6.dll
527      File bin\686sse\rifftree.exe
528      File bin\686sse\dlsdump.exe
529      File bin\686sse\gigdump.exe
530      File bin\686sse\gigextract.exe
531      Goto done
532    
533      libgig686:
534      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
535      File bin\686\libgig-6.dll
536      File bin\686\rifftree.exe
537      File bin\686\dlsdump.exe
538      File bin\686\gigdump.exe
539      File bin\686\gigextract.exe
540      Goto done
541    
542      done:
543    
544      ; As this is a mandatory component, we misuse is for the following
545      ; common tasks as well ...
546    
547      ; Add LinuxSampler and friends to the system's PATH variable
548      ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR"
549      ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR\${SUBDIR_64_BIT}"
550      ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR\${SUBDIR_32_BIT}"
551    
552    ; Write the uninstall keys for Windows    ; Write the uninstall keys for Windows
553    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "DisplayName" "LinuxSampler 2007-12-05"    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "DisplayName" "LinuxSampler ${RELEASE_DATE}"
554    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "UninstallString" '"$INSTDIR\uninstall.exe"'    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "UninstallString" '"$INSTDIR\uninstall.exe"'
555    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "NoModify" 1    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "NoModify" 1
556    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "NoRepair" 1    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "NoRepair" 1
557    WriteUninstaller "uninstall.exe"    WriteUninstaller "uninstall.exe"
558    ;Store installation folder  
559    WriteRegStr HKCU "Software\LinuxSampler" "" $INSTDIR    ; Store installation folders
560      WriteRegStr HKLM "Software\LinuxSampler" "Main Directory" $INSTDIR
561      StrCmp $binType BIN_TYPE_64BIT 0 +3
562      WriteRegStr HKLM "Software\LinuxSampler" "VST 64 Directory" $vstPluginPath64
563      StrCmp $installing32BitToo "1" 0 +2
564      WriteRegStr HKLM "Software\LinuxSampler" "VST 32 Directory" $vstPluginPath
565    
566      ; Just for info, store the release date as well
567      WriteRegStr HKLM "Software\LinuxSampler" "Release Date" ${RELEASE_DATE}
568  SectionEnd  SectionEnd
569    
570  Section "libsndfile 1.0.17" Seclibsndfile  Section "libsndfile 1.0.19" Seclibsndfile
571      DetailPrint "Installing libsndfile binaries ..."
572    ; We make this a mandatory component    ; We make this a mandatory component
573    SectionIn RO    SectionIn RO
574    ; Set output path to the installation directory.  
575    SetOutPath $INSTDIR    StrCmp $binType BIN_TYPE_64BIT libsndfile64
576      ; 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
577      ;StrCmp $binType BIN_TYPE_686SSE libsndfile686sse
578      Goto libsndfile686
579    
580    ; Files to install    ; Files to install
581  ;  File libsndfile-1.dll  
582      libsndfile64:
583      SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
584      File bin\64\libsndfile-1.dll
585    
586      ; shall we install the 32 bit version as well?
587      StrCmp $installing32BitToo "1" libsndfile686 done
588    
589      libsndfile686:
590      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
591      File bin\686\libsndfile-1.dll
592      Goto done
593    
594      done:
595  SectionEnd  SectionEnd
596    
597  Section "Start Menu Shortcuts" SecShortcuts  Section "Start Menu Shortcuts" SecShortcuts
598      Var /GLOBAL javawbin
599      Var /GLOBAL samplerDir
600    
601      StrCmp $binType BIN_TYPE_64BIT 0 +3
602      StrCpy $samplerDir "$INSTDIR\${SUBDIR_64_BIT}"
603      Goto +2
604      StrCpy $samplerDir "$INSTDIR\${SUBDIR_32_BIT}"
605    
606      ; Switch system variables to 'all users', to ensure we create the start
607      ; menu shortcuts for all users and not just for the current user.
608      SetShellVarContext all
609    
610      ; try to resolve the full qualified path of the javaw binary
611      ClearErrors
612      SearchPath $javawbin javaw.exe
613      IfErrors 0 javawDetected
614      ClearErrors
615      ; if all fails, simply use SYSDIR (which should work almost always anyway)
616      DetailPrint "WRN: Could not resolve javaw.exe path, using SYSDIR."
617      StrCpy $javawbin "$SYSDIR\javaw.exe"
618      javawDetected:
619    
620    CreateDirectory "$SMPROGRAMS\LinuxSampler"    CreateDirectory "$SMPROGRAMS\LinuxSampler"
621    
622    CreateShortCut "$SMPROGRAMS\LinuxSampler\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0    CreateShortCut "$SMPROGRAMS\LinuxSampler\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
623    CreateShortCut "$SMPROGRAMS\LinuxSampler\LinuxSampler (backend).lnk" "$INSTDIR\linuxsampler.exe" "" "$INSTDIR\linuxsampler.exe" 0  
624    CreateShortCut "$SMPROGRAMS\LinuxSampler\JSampler Fantasia (frontend).lnk" "$INSTDIR\jjjjjsampler.exe" "" "$INSTDIR\jjjjjsampler.exe" 0    StrCmp $installingLinuxSampler '1' 0 +2
625    CreateShortCut "$SMPROGRAMS\LinuxSampler\QSampler (frontend).lnk" "$INSTDIR\qsampler.exe" "" "$INSTDIR\qsampler.exe" 0    CreateShortCut "$SMPROGRAMS\LinuxSampler\LinuxSampler 0.5.1.12cvs (stand alone backend).lnk" "$samplerDir\linuxsampler.exe" "" "$samplerDir\linuxsampler.exe" 0
626    CreateShortCut "$SMPROGRAMS\LinuxSampler\gigedit (stand alone).lnk" "$INSTDIR\gigedit.exe" "" "$INSTDIR\gigedit.exe" 0  
627      StrCmp $installingJSampler '1' 0 +2
628      CreateShortCut '$SMPROGRAMS\LinuxSampler\JSampler Fantasia 0.8a-cvs8 (frontend).lnk' '$javawbin' '-jar "$INSTDIR\Fantasia-0.8a-cvs8.jar"' '$INSTDIR\jsampler.ico' 0
629    
630      StrCmp $installingQSampler '1' 0 +2
631      CreateShortCut "$SMPROGRAMS\LinuxSampler\QSampler 0.2.1.26 (frontend).lnk" "$INSTDIR\qsampler.exe" "" "$INSTDIR\qsampler.ico" 0
632    
633      StrCmp $installinggigedit '1' 0 +2
634      CreateShortCut "$SMPROGRAMS\LinuxSampler\gigedit 0.1.1.x cvs2009-05-10 (stand alone).lnk" "$samplerDir\gigedit.exe" "" "$samplerDir\gigedit.exe" 0
635  SectionEnd  SectionEnd
636    
637  ;--------------------------------  ;--------------------------------
# Line 213  SectionEnd Line 639  SectionEnd
639  ; Uninstaller  ; Uninstaller
640    
641  Section "Uninstall"  Section "Uninstall"
642    ; Remove registry keys    Var /GLOBAL vstdir32
643      Var /GLOBAL vstdir64
644    
645      Call un.DetectSystemType
646    
647      DetailPrint "Removing LinuxSampler directories from PATH variable ..."
648      ${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR"
649      ${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR\${SUBDIR_32_BIT}"
650      ${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR\${SUBDIR_64_BIT}"
651    
652      StrCmp $binType BIN_TYPE_64BIT 0 uninstallVst32
653      DetailPrint "Searching for VST plugin (64 bit) ..."
654      ClearErrors
655      ReadRegStr $0 HKLM "Software\LinuxSampler" "VST 64 Directory"
656      IfErrors uninstallVst32 0
657      StrCpy $vstdir64 $0
658      DetailPrint "Removing VST plugin (64 bit) from: $vstdir64 ..."
659      Delete "$vstdir64\LinuxSampler64.dll"
660    
661      uninstallVst32:
662    
663      DetailPrint "Searching for VST plugin (32 bit) ..."
664      ClearErrors
665      ReadRegStr $0 HKLM "Software\LinuxSampler" "VST 32 Directory"
666      IfErrors uninstallVstDone 0
667      StrCpy $vstdir32 $0
668      DetailPrint "Removing VST plugin (32 bit) from: $vstdir32 ..."
669      Delete "$vstdir32\LinuxSampler32.dll"
670    
671      uninstallVstDone:
672      ClearErrors
673    
674      DetailPrint "Removing registry keys ..."
675    DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler"    DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler"
676    ; Remove files and uninstaller    DeleteRegKey HKLM "Software\LinuxSampler"
677    Delete $INSTDIR\*.*  
678    ; Remove shortcuts, if any    ; Workaround for Vista and younger: switch system variables to 'all users'
679      ; otherwise e.g. we couldn't delete start menu shortcuts below on those
680      ; systems, as those variables would point to the current user.
681      SetShellVarContext all
682    
683      DetailPrint "Removing shortcuts (if any) from: $SMPROGRAMS ..."
684    Delete "$SMPROGRAMS\LinuxSampler\*.*"    Delete "$SMPROGRAMS\LinuxSampler\*.*"
685    ; Remove directories used  
686    RMDir "$SMPROGRAMS\LinuxSampler"    DetailPrint "Removing directories used ..."
687    RMDir "$INSTDIR"    RMDir /r "$SMPROGRAMS\LinuxSampler"
688      RMDir /r "$INSTDIR"
689  SectionEnd  SectionEnd
690    
691  ;--------------------------------  ;--------------------------------
692  ;Descriptions  ;Descriptions
693    
694  ;Language strings  ;Language strings
695  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."
696  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."
697  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!"
698  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."
699  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."
700  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."
701  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.1547  
changed lines
  Added in v.1927

  ViewVC Help
Powered by ViewVC