/[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 1926 by schoenebeck, Thu Jul 2 16:11:49 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    
40    !define DEFAULT_VST_DIR "$PROGRAMFILES64\Steinberg\VstPlugins"
41    
42  ; Get installation folder from registry if available  ; Get installation folder from registry if available
43  InstallDirRegKey HKCU "Software\LinuxSampler" ""  InstallDirRegKey HKLM "Software\LinuxSampler" "Main Directory"
44    
45  ;--------------------------------  ;--------------------------------
46  ;Interface Settings  ;Interface Settings
# Line 44  VIAddVersionKey /LANG=${LANG_ENGLISH} "P Line 57  VIAddVersionKey /LANG=${LANG_ENGLISH} "P
57  VIAddVersionKey /LANG=${LANG_ENGLISH} "Comments" "http://linuxsampler.org"  VIAddVersionKey /LANG=${LANG_ENGLISH} "Comments" "http://linuxsampler.org"
58  VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "The LinuxSampler Project"  VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "The LinuxSampler Project"
59  VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" ""  VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" ""
60  VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "© 2003-2007 The LinuxSampler Project"  VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "© 2003-2009 The LinuxSampler Project"
61  VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "LinuxSampler Installer (${RELEASE_DATE})"  VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "LinuxSampler Installer (${RELEASE_DATE})"
62  VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "0.0.0"  VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "0.0.0"
63    
64    !define BIN_TYPE_64BIT  "64 bit"
65    !define BIN_TYPE_686SSE "686 SSE"
66    !define BIN_TYPE_686    "686"
67    
68    Var /GLOBAL binType
69    
70  ;--------------------------------  ;--------------------------------
71  ; Pages  ; Pages
72    
# Line 76  Function .onInit Line 95  Function .onInit
95    StrCpy $installinggigedit "0"    StrCpy $installinggigedit "0"
96  FunctionEnd  FunctionEnd
97    
98    ; detects CPU capabilities, determmines which native binary type to install
99    ; and selects the appropriate windows registry view (32 bit or 64 bit)
100    !macro DetectSystemType un
101    Function ${un}DetectSystemType
102      ; check if this is a 64 bit windows
103      System::Call "kernel32::GetCurrentProcess() i .s"
104      System::Call "kernel32::IsWow64Process(i s, *i .r0)"
105      IntCmp $0 0 not64bit
106      StrCpy $binType BIN_TYPE_64BIT
107      DetailPrint "64 bit Windows detected."
108      SetRegView 64
109      Goto DetectSystemDone
110    
111      not64bit: ; a 32 bit system
112    
113      SetRegView 32
114    
115      ; check if CPU supports SSE
116      cpudesc::tell
117      Pop $0                     ; full identification string in $0
118      StrCpy $1 $0 1, 34         ; pull out one character after SSE=
119      IntFmt $2 "%u" $1          ; and turn it into a number
120      IntCmpU $2 1 +1 +4 +4
121      StrCpy $binType BIN_TYPE_686SSE
122      DetailPrint "32 bit Windows, SSE CPU detected."
123      Goto DetectSystemDone
124      StrCpy $binType BIN_TYPE_686
125      DetailPrint "32 bit Windows (no SSE support) detected."
126    
127      DetectSystemDone:
128    FunctionEnd
129    !macroend
130    !insertmacro DetectSystemType ""
131    !insertmacro DetectSystemType "un."
132    
133  ; 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
134  ; download and install gtkmm now from the internet.  ; download and install gtkmm now from the internet.
135  Function CheckForGtkmm  Function CheckForGtkmm
# Line 110  FunctionEnd Line 164  FunctionEnd
164    
165  ; Downloads and launches the JRE installer from the internet  ; Downloads and launches the JRE installer from the internet
166  Function GetJRE  Function GetJRE
167          MessageBox MB_OK "JSampler requires Java ${JRE_VERSION}, it will now \    Var /GLOBAL jreUri
                          be downloaded and installed"  
168    
169          StrCpy $2 "$TEMP\Java Runtime Environment.exe"    StrCmp $binType BIN_TYPE_64BIT 0 +3
170          nsisdl::download /TIMEOUT=30000 ${JRE_URL} $2    StrCpy $jreUri ${JRE_64_URL}
171          Pop $R0 ;Get the return value    Goto +2
172                  StrCmp $R0 "success" +3    StrCpy $jreUri ${JRE_32_URL}
173                  MessageBox MB_OK "Download failed: $R0"  
174                  Quit    DetailPrint "Downloading JRE from: $jreUri"
175          ExecWait $2  
176          Delete $2    MessageBox MB_OK "JSampler requires Java ${JRE_VERSION}, it will now \
177                        be downloaded and installed"
178    
179      StrCpy $2 "$TEMP\Java Runtime Environment.exe"
180      nsisdl::download /TIMEOUT=30000 "$jreUri" $2
181      Pop $R0  ; Get the return value
182      StrCmp $R0 "success" +3
183      MessageBox MB_OK "Download failed: $R0"
184      Quit
185      ExecWait $2
186      Delete $2
187  FunctionEnd  FunctionEnd
188    
189  ; 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 192  Function DetectJRE
192               "CurrentVersion"               "CurrentVersion"
193    StrCmp $2 ${JRE_VERSION} done    StrCmp $2 ${JRE_VERSION} done
194    
195      StrCmp $binType BIN_TYPE_64BIT 0 downloadjre
196    
197      ; on 64 bit systems also check the 32 bit view of the registry, maybe
198      ; a 32 bit JRE was already installed
199      SetRegView 32
200      ReadRegStr $3 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" \
201                 "CurrentVersion"
202      SetRegView 64  ; restore 64 bit view
203      StrCmp $3 ${JRE_VERSION} done
204    
205      downloadjre:
206    Call GetJRE    Call GetJRE
207    
208    done:    done:
209  FunctionEnd  FunctionEnd
210    
211    ; Tries to find the location where VST plugins should be installed to
212    Function DetectVstPath
213      Var /GLOBAL vstPluginPath
214    
215      ClearErrors
216      ReadRegStr $0 HKCU "Software\VST" "VSTPluginsPath"
217      IfErrors check2ndRegistryKey 0
218      StrCpy $vstPluginPath $0
219      DetailPrint "Found VST plugin directory in HKCU registry."
220      Goto done
221    
222      check2ndRegistryKey:
223      ClearErrors
224      ReadRegStr $0 HKLM "Software\VST" "VSTPluginsPath"
225      IfErrors noRegistryKeyExists 0
226      StrCpy $vstPluginPath $0
227      DetailPrint "Found VST plugin directory in HKLM registry."
228      Goto done
229    
230      noRegistryKeyExists:
231      ClearErrors
232      DetailPrint "No VST plugin directory defined in registry."
233      StrCpy $vstPluginPath "${DEFAULT_VST_DIR}"
234    
235      done:
236      DetailPrint "Using the following as VST plugin directory: $vstPluginPath"
237    FunctionEnd
238    
239    ;--------------------------------
240    
241    ; primer things to do (before installing, not called on uninstall)
242    Section ""
243      Call DetectSystemType
244      Call DetectVstPath
245    SectionEnd
246    
247  ;--------------------------------  ;--------------------------------
248    
249  ; The stuff to install  ; The stuff to install
250  Section "LinuxSampler 0.5.1" SecLinuxSampler  Section "LinuxSampler 0.5.1.12cvs" SecLinuxSampler
251      DetailPrint "Installing LinuxSampler binaries ..."
252    StrCpy $installingLinuxSampler "1"    StrCpy $installingLinuxSampler "1"
253    
254    ; Set output path to the installation directory.    ; Set output path to the installation directory.
255    SetOutPath $INSTDIR    SetOutPath $INSTDIR
256    
257      StrCmp $binType BIN_TYPE_64BIT linuxsampler64
258      StrCmp $binType BIN_TYPE_686SSE linuxsampler686sse
259      Goto linuxsampler686
260    
261    ; Files to install    ; Files to install
262    File linuxsampler.exe  
263    File liblinuxsampler-1.dll    linuxsampler64:
264      File bin\64\linuxsampler.exe
265      File bin\64\liblinuxsampler-1.dll
266      File bin\64\libsqlite3-0.dll
267      SetOutPath $vstPluginPath
268      File bin\64\LinuxSampler.dll
269      Goto done
270    
271      linuxsampler686sse:
272      File bin\686sse\linuxsampler.exe
273      File bin\686sse\liblinuxsampler-1.dll
274      File bin\686\libsqlite3-0.dll
275      SetOutPath $vstPluginPath
276      File bin\686sse\LinuxSampler.dll
277      Goto done
278    
279      linuxsampler686:
280      File bin\686\linuxsampler.exe
281      File bin\686\liblinuxsampler-1.dll
282      File bin\686\libsqlite3-0.dll
283      SetOutPath $vstPluginPath
284      File bin\686\LinuxSampler.dll
285      Goto done
286    
287      done:
288  SectionEnd  SectionEnd
289    
290  Section "JSampler 'Fantasia' 0.8a" SecJSampler  Section "JSampler 'Fantasia' 0.8a-cvs8" SecJSampler
291      DetailPrint "Installing JSampler binaries ..."
292    ; make sure JRE is installed    ; make sure JRE is installed
293    Call DetectJRE    Call DetectJRE
294    StrCpy $installingJSampler "1"    StrCpy $installingJSampler "1"
295    ; Set output path to the installation directory.    ; Set output path to the installation directory.
296    SetOutPath $INSTDIR    SetOutPath $INSTDIR
297    ; Files to install    ; Files to install
298    File Fantasia-0.8a.jar    File bin\Fantasia-0.8a-cvs8.jar
299    File jsampler.ico    File jsampler.ico
300  SectionEnd  SectionEnd
301    
302  Section "QSampler 0.2.1" SecQSampler  Section "QSampler 0.2.1.26" SecQSampler
303      DetailPrint "Installing QSampler binaries ..."
304    StrCpy $installingQSampler "1"    StrCpy $installingQSampler "1"
305    ; Set output path to the installation directory.    ; Set output path to the installation directory.
306    SetOutPath $INSTDIR    SetOutPath $INSTDIR
307    ; Files to install    ; Files to install
308    File qsampler.exe    File bin\686\qsampler.exe
309    File QtCore4.dll    File bin\686\QtCore4.dll
310    File QtGui4.dll    File bin\686\QtGui4.dll
311    File mingwm10.dll    File bin\686\mingwm10.dll
312      File qsampler.ico
313      SetOutPath $INSTDIR\share\locale
314      File bin\686\share\locale\qsampler_ru.qm
315  SectionEnd  SectionEnd
316    
317  Section "gigedit 0.1.1" Secgigedit  Section "gigedit 0.1.1.x (cvs2009-05-10)" Secgigedit
318      DetailPrint "Installing gigedit binaries ..."
319    StrCpy $installinggigedit "1"    StrCpy $installinggigedit "1"
320    
321    ; make sure gtkmm is installed    ; make sure gtkmm is installed
322    Call CheckForGtkmm    ; (commented out for now, since we include gtk(mm) DLLs with this
323      ; installer, so no check and no download necessary ATM)
324      ;Call CheckForGtkmm
325    
326    ; Set output path to the installation directory.    ; Set output path to the installation directory.
327    SetOutPath $INSTDIR    SetOutPath $INSTDIR
328    
329      StrCmp $binType BIN_TYPE_64BIT gigedit64
330      ; 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
331      ;StrCmp $binType BIN_TYPE_686SSE gigedit686sse
332      Goto gigedit686
333    
334    ; Files to install    ; Files to install
335    File gigedit.exe  
336    File libsndfile-1.dll    gigedit64:
337      File bin\64\gigedit.exe
338      File bin\64\libgigedit-1.dll
339    SetOutPath "$INSTDIR\plugins"    SetOutPath "$INSTDIR\plugins"
340    File libgigedit.dll    File bin\64\plugins\libgigeditlinuxsamplerplugin-1.dll
341      SetOutPath $INSTDIR
342      File bin\64\libatk-1.0-0.dll
343      File bin\64\libatkmm-1.6-1.dll
344      File bin\64\libcairo-2.dll
345      File bin\64\libcairomm-1.0-1.dll
346      File bin\64\libgdkmm-2.4-1.dll
347      File bin\64\libgdk_pixbuf-2.0-0.dll
348      File bin\64\libgdk-win32-2.0-0.dll
349      File bin\64\libgio-2.0-0.dll
350      File bin\64\libgiomm-2.4-1.dll
351      File bin\64\libglib-2.0-0.dll
352      File bin\64\libglibmm-2.4-1.dll
353      File bin\64\libgmodule-2.0-0.dll
354      File bin\64\libgobject-2.0-0.dll
355      File bin\64\libgthread-2.0-0.dll
356      File bin\64\libgtkmm-2.4-1.dll
357      File bin\64\libgtk-win32-2.0-0.dll
358      File bin\64\libintl-8.dll
359      File bin\64\libjpeg-62.dll
360      File bin\64\libpango-1.0-0.dll
361      File bin\64\libpangocairo-1.0-0.dll
362      File bin\64\libpangomm-1.4-1.dll
363      File bin\64\libpangowin32-1.0-0.dll
364      File bin\64\libpng12-0.dll
365      File bin\64\libsigc-2.0-0.dll
366      File bin\64\libtiff.dll
367      File bin\64\zlib1.dll
368      SetOutPath $INSTDIR\etc\gtk-2.0
369      File bin\64\etc\gtk-2.0\gtkrc
370      SetOutPath $INSTDIR\lib\gtk-2.0\2.10.0\engines
371      File bin\64\lib\gtk-2.0\2.10.0\engines\libwimp.dll
372      SetOutPath $INSTDIR\share\locale\de\LC_MESSAGES
373      File bin\64\share\locale\de\LC_MESSAGES\gigedit.mo
374      File bin\64\share\locale\de\LC_MESSAGES\gtk20.mo
375      SetOutPath $INSTDIR\share\locale\sv\LC_MESSAGES
376      File bin\64\share\locale\sv\LC_MESSAGES\gigedit.mo
377      File bin\64\share\locale\sv\LC_MESSAGES\gtk20.mo
378      SetOutPath $INSTDIR\share\themes\MS-Windows\gtk-2.0
379      File bin\64\share\themes\MS-Windows\gtk-2.0\gtkrc
380      Goto done
381    
382      gigedit686:
383      File bin\686\gigedit.exe
384      File bin\686\libgigedit-1.dll
385      SetOutPath "$INSTDIR\plugins"
386      File bin\686\plugins\libgigeditlinuxsamplerplugin-1.dll
387      SetOutPath $INSTDIR
388      File bin\686\intl.dll
389      File bin\686\jpeg62.dll
390      File bin\686\libatk-1.0-0.dll
391      File bin\686\libatkmm-1.6-1.dll
392      File bin\686\libcairo-2.dll
393      File bin\686\libcairomm-1.0-1.dll
394      File bin\686\libgdkmm-2.4-1.dll
395      File bin\686\libgdk_pixbuf-2.0-0.dll
396      File bin\686\libgdk-win32-2.0-0.dll
397      File bin\686\libgio-2.0-0.dll
398      File bin\686\libgiomm-2.4-1.dll
399      File bin\686\libglib-2.0-0.dll
400      File bin\686\libglibmm-2.4-1.dll
401      File bin\686\libgmodule-2.0-0.dll
402      File bin\686\libgobject-2.0-0.dll
403      File bin\686\libgthread-2.0-0.dll
404      File bin\686\libgtkmm-2.4-1.dll
405      File bin\686\libgtk-win32-2.0-0.dll
406      File bin\686\libpango-1.0-0.dll
407      File bin\686\libpangocairo-1.0-0.dll
408      File bin\686\libpangomm-1.4-1.dll
409      File bin\686\libpangowin32-1.0-0.dll
410      File bin\686\libpng12-0.dll
411      File bin\686\libsigc-2.0-0.dll
412      File bin\686\libtiff3.dll
413      File bin\686\zlib1.dll
414      SetOutPath $INSTDIR\etc\gtk-2.0
415      File bin\686\etc\gtk-2.0\gdk-pixbuf.loaders
416      File bin\686\etc\gtk-2.0\gtkrc
417      SetOutPath $INSTDIR\lib\gtk-2.0\2.10.0\engines
418      File bin\686\lib\gtk-2.0\2.10.0\engines\libwimp.dll
419      SetOutPath $INSTDIR\lib\gtk-2.0\2.10.0\loaders
420      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-ani.dll
421      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-bmp.dll
422      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-gif.dll
423      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-icns.dll
424      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-ico.dll
425      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-jpeg.dll
426      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-pcx.dll
427      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-png.dll
428      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-pnm.dll
429      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-ras.dll
430      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-tga.dll
431      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-tiff.dll
432      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-wbmp.dll
433      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-xbm.dll
434      File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-xpm.dll
435      SetOutPath $INSTDIR\share\locale\de\LC_MESSAGES
436      File bin\686\share\locale\de\LC_MESSAGES\gigedit.mo
437      File bin\686\share\locale\de\LC_MESSAGES\gtk20.mo
438      SetOutPath $INSTDIR\share\locale\sv\LC_MESSAGES
439      File bin\686\share\locale\sv\LC_MESSAGES\gigedit.mo
440      File bin\686\share\locale\sv\LC_MESSAGES\gtk20.mo
441      SetOutPath $INSTDIR\share\themes\MS-Windows\gtk-2.0
442      File bin\686\share\themes\MS-Windows\gtk-2.0\gtkrc
443      Goto done
444    
445      done:
446  SectionEnd  SectionEnd
447    
448  Section "libgig 3.2.1" Seclibgig  Section "libgig 3.2.1.x (cvs2009-05-03)" Seclibgig
449      DetailPrint "Installing libgig binaries ..."
450    ; We make this a mandatory component    ; We make this a mandatory component
451    SectionIn RO    SectionIn RO
452    ; Set output path to the installation directory.    ; Set output path to the installation directory.
453    SetOutPath $INSTDIR    SetOutPath $INSTDIR
454    
455      StrCmp $binType BIN_TYPE_64BIT libgig64
456      StrCmp $binType BIN_TYPE_686SSE libgig686sse
457      Goto libgig686
458    
459    ; Files to install    ; Files to install
460    File libgig-6.dll  
461    File rifftree.exe    libgig64:
462    File dlsdump.exe    File bin\64\libgig-6.dll
463    File gigdump.exe    File bin\64\rifftree.exe
464    File gigextract.exe    File bin\64\dlsdump.exe
465    ; As this is a mandatory component, we misuse it to install the uninstaller as well ...    File bin\64\gigdump.exe
466      File bin\64\gigextract.exe
467      ; special dependency for the 64 bit version
468      File bin\64\libgcc_s_sjlj-1.dll
469      Goto done
470    
471      libgig686sse:
472      File bin\686sse\libgig-6.dll
473      File bin\686sse\rifftree.exe
474      File bin\686sse\dlsdump.exe
475      File bin\686sse\gigdump.exe
476      File bin\686sse\gigextract.exe
477      Goto done
478    
479      libgig686:
480      File bin\686\libgig-6.dll
481      File bin\686\rifftree.exe
482      File bin\686\dlsdump.exe
483      File bin\686\gigdump.exe
484      File bin\686\gigextract.exe
485      Goto done
486    
487      done:
488    
489      ; As this is a mandatory component, we misuse is for the following
490      ; common tasks as well ...
491    
492      ; Add LinuxSampler and friends to the system's PATH variable
493      ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR"
494    
495    ; Write the uninstall keys for Windows    ; Write the uninstall keys for Windows
496    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "DisplayName" "LinuxSampler ${RELEASE_DATE}"    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "DisplayName" "LinuxSampler ${RELEASE_DATE}"
497    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "UninstallString" '"$INSTDIR\uninstall.exe"'    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "UninstallString" '"$INSTDIR\uninstall.exe"'
498    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "NoModify" 1    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "NoModify" 1
499    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "NoRepair" 1    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "NoRepair" 1
500    WriteUninstaller "uninstall.exe"    WriteUninstaller "uninstall.exe"
501    ;Store installation folder  
502    WriteRegStr HKCU "Software\LinuxSampler" "" $INSTDIR    ; Store installation folders
503      WriteRegStr HKLM "Software\LinuxSampler" "Main Directory" $INSTDIR
504      WriteRegStr HKLM "Software\LinuxSampler" "VST Directory" $vstPluginPath
505    
506      ; Just for info, store the release date as well
507      WriteRegStr HKLM "Software\LinuxSampler" "Release Date" ${RELEASE_DATE}
508    SectionEnd
509    
510    Section "libsndfile 1.0.19" Seclibsndfile
511      DetailPrint "Installing libsndfile binaries ..."
512      ; We make this a mandatory component
513      SectionIn RO
514      ; Set output path to the installation directory.
515      SetOutPath $INSTDIR
516    
517      StrCmp $binType BIN_TYPE_64BIT libsndfile64
518      ; 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
519      ;StrCmp $binType BIN_TYPE_686SSE libsndfile686sse
520      Goto libsndfile686
521    
522      ; Files to install
523    
524      libsndfile64:
525      File bin\64\libsndfile-1.dll
526      Goto done
527    
528      libsndfile686:
529      File bin\686\libsndfile-1.dll
530      Goto done
531    
532      done:
533  SectionEnd  SectionEnd
534    
535  Section "Start Menu Shortcuts" SecShortcuts  Section "Start Menu Shortcuts" SecShortcuts
536        Var /GLOBAL javawbin
537    
538      ; Switch system variables to 'all users', to ensure we create the start
539      ; menu shortcuts for all users and not just for the current user.
540      SetShellVarContext all
541    
542      ; try to resolve the full qualified path of the javaw binary
543      ClearErrors
544      SearchPath $javawbin javaw.exe
545      IfErrors 0 javawDetected
546      ClearErrors
547      ; if all fails, simply use SYSDIR (which should work almost always anyway)
548      DetailPrint "WRN: Could not resolve javaw.exe path, using SYSDIR."
549      StrCpy $javawbin "$SYSDIR\javaw.exe"
550      javawDetected:
551    
552    CreateDirectory "$SMPROGRAMS\LinuxSampler"    CreateDirectory "$SMPROGRAMS\LinuxSampler"
553      
554    CreateShortCut "$SMPROGRAMS\LinuxSampler\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0    CreateShortCut "$SMPROGRAMS\LinuxSampler\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
555      
556    StrCmp $installingLinuxSampler '1' 0 +2    StrCmp $installingLinuxSampler '1' 0 +2
557    CreateShortCut "$SMPROGRAMS\LinuxSampler\LinuxSampler 0.5.1 (backend).lnk" "$INSTDIR\linuxsampler.exe" "" "$INSTDIR\linuxsampler.exe" 0    CreateShortCut "$SMPROGRAMS\LinuxSampler\LinuxSampler 0.5.1.12cvs (stand alone backend).lnk" "$INSTDIR\linuxsampler.exe" "" "$INSTDIR\linuxsampler.exe" 0
558      
559    StrCmp $installingJSampler '1' 0 +2    StrCmp $installingJSampler '1' 0 +2
560    CreateShortCut '$SMPROGRAMS\LinuxSampler\JSampler Fantasia 0.8a (frontend).lnk' 'javaw' '-jar "$INSTDIR\Fantasia-0.8a.jar"' '$INSTDIR\jsampler.ico' 0    CreateShortCut '$SMPROGRAMS\LinuxSampler\JSampler Fantasia 0.8a-cvs8 (frontend).lnk' '$javawbin' '-jar "$INSTDIR\Fantasia-0.8a-cvs8.jar"' '$INSTDIR\jsampler.ico' 0
561      
562    StrCmp $installingQSampler '1' 0 +2    StrCmp $installingQSampler '1' 0 +2
563    CreateShortCut "$SMPROGRAMS\LinuxSampler\QSampler 0.2.1 (frontend).lnk" "$INSTDIR\qsampler.exe" "" "$INSTDIR\qsampler.exe" 0    CreateShortCut "$SMPROGRAMS\LinuxSampler\QSampler 0.2.1.26 (frontend).lnk" "$INSTDIR\qsampler.exe" "" "$INSTDIR\qsampler.ico" 0
564      
565    StrCmp $installinggigedit '1' 0 +2    StrCmp $installinggigedit '1' 0 +2
566    CreateShortCut "$SMPROGRAMS\LinuxSampler\gigedit 0.1.1 (stand alone).lnk" "$INSTDIR\gigedit.exe" "" "$INSTDIR\gigedit.exe" 0    CreateShortCut "$SMPROGRAMS\LinuxSampler\gigedit 0.1.1.x cvs2009-05-10 (stand alone).lnk" "$INSTDIR\gigedit.exe" "" "$INSTDIR\gigedit.exe" 0
     
567  SectionEnd  SectionEnd
568    
569  ;--------------------------------  ;--------------------------------
# Line 228  SectionEnd Line 571  SectionEnd
571  ; Uninstaller  ; Uninstaller
572    
573  Section "Uninstall"  Section "Uninstall"
574    ; Remove registry keys    Var /GLOBAL vstdir
575    
576      Call un.DetectSystemType
577    
578      DetailPrint "Removing LinuxSampler directory from PATH variable ..."
579      ${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR"
580    
581      DetailPrint "Searching for VST plugin ..."
582      ClearErrors
583      ReadRegStr $0 HKLM "Software\LinuxSampler" "VST Directory"
584      IfErrors usedefaultvstdir 0
585      StrCpy $vstdir $0
586      DetailPrint "VST plugin location found in registry."
587      Goto vstdirDetected
588      usedefaultvstdir:
589      DetailPrint "WRN: No VST plugin location found in registry, trying default location."
590      ClearErrors
591      StrCpy $vstdir "${DEFAULT_VST_DIR}"
592      vstdirDetected:
593    
594      DetailPrint "Removing registry keys ..."
595    DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler"    DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler"
596    ; Remove files and uninstaller    DeleteRegKey HKLM "Software\LinuxSampler"
597    Delete $INSTDIR\*.*  
598    Delete $INSTDIR\plugins\*.*    ; Workaround for Vista and younger: switch system variables to 'all users'
599    ; Remove shortcuts, if any    ; otherwise e.g. we couldn't delete start menu shortcuts below on those
600      ; systems, as those variables would point to the current user.
601      SetShellVarContext all
602    
603      DetailPrint "Removing shortcuts (if any) from: $SMPROGRAMS ..."
604    Delete "$SMPROGRAMS\LinuxSampler\*.*"    Delete "$SMPROGRAMS\LinuxSampler\*.*"
605    ; Remove directories used  
606    RMDir "$SMPROGRAMS\LinuxSampler"    DetailPrint "Removing VST plugin from: $vstdir ..."
607    RMDir "$INSTDIR\plugins"    Delete "$vstdir\LinuxSampler.dll"
608    RMDir "$INSTDIR"  
609      DetailPrint "Removing directories used ..."
610      RMDir /r "$SMPROGRAMS\LinuxSampler"
611      RMDir /r "$INSTDIR"
612  SectionEnd  SectionEnd
613    
614  ;--------------------------------  ;--------------------------------
615  ;Descriptions  ;Descriptions
616    
617  ;Language strings  ;Language strings
618  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."
619  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."
620  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!"
621  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."
622  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."
623    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."
624  LangString DESC_SecShortcuts ${LANG_ENGLISH} "Installs start menu shortcuts for all applications."  LangString DESC_SecShortcuts ${LANG_ENGLISH} "Installs start menu shortcuts for all applications."
625    
626  ;Assign language strings to sections  ;Assign language strings to sections
# Line 259  LangString DESC_SecShortcuts ${LANG_ENGL Line 630  LangString DESC_SecShortcuts ${LANG_ENGL
630    !insertmacro MUI_DESCRIPTION_TEXT ${SecQSampler} $(DESC_SecQSampler)    !insertmacro MUI_DESCRIPTION_TEXT ${SecQSampler} $(DESC_SecQSampler)
631    !insertmacro MUI_DESCRIPTION_TEXT ${Secgigedit} $(DESC_Secgigedit)    !insertmacro MUI_DESCRIPTION_TEXT ${Secgigedit} $(DESC_Secgigedit)
632    !insertmacro MUI_DESCRIPTION_TEXT ${Seclibgig} $(DESC_Seclibgig)    !insertmacro MUI_DESCRIPTION_TEXT ${Seclibgig} $(DESC_Seclibgig)
633      !insertmacro MUI_DESCRIPTION_TEXT ${Seclibsndfile} $(DESC_Seclibsndfile)
634    !insertmacro MUI_DESCRIPTION_TEXT ${SecShortcuts} $(DESC_SecShortcuts)    !insertmacro MUI_DESCRIPTION_TEXT ${SecShortcuts} $(DESC_SecShortcuts)
635  !insertmacro MUI_FUNCTION_DESCRIPTION_END  !insertmacro MUI_FUNCTION_DESCRIPTION_END

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

  ViewVC Help
Powered by ViewVC