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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1900 - (hide annotations) (download)
Mon May 11 19:50:03 2009 UTC (14 years, 10 months ago) by schoenebeck
File size: 20273 byte(s)
* finished pre-release installer

1 schoenebeck 1547 ; LinuxSampler Windows installer
2     ;
3 schoenebeck 1891 ; Copyright (C) 2007-2009, The LinuxSampler Developers
4 schoenebeck 1547 ;
5     ; All-in-one Installer for all subprojects / software components of the
6     ; LinuxSampler Project.
7 schoenebeck 1891 ;
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 schoenebeck 1900 ; -> The compiled binaries must be placed into the respective directories
14 schoenebeck 1891 ; under bin\ (you have to read this file in order to get those exact
15     ; locations and expected file names).
16 schoenebeck 1547
17     ; Probably the best compression ratio
18     SetCompressor lzma
19    
20     ;Include Modern UI
21     !include "MUI.nsh"
22 schoenebeck 1900 !include "EnvVarUpdate.nsh"
23 schoenebeck 1547
24 schoenebeck 1900 !define RELEASE_DATE "20090511"
25 schoenebeck 1581
26 schoenebeck 1547 ; The name of the installer
27 schoenebeck 1581 Name "LinuxSampler (${RELEASE_DATE})"
28 schoenebeck 1547
29     ; The file to write
30 schoenebeck 1581 OutFile "linuxsampler_${RELEASE_DATE}_setup.exe"
31 schoenebeck 1547
32     ; Java Runtime Environment, needed for JSampler
33     !define JRE_VERSION "1.6"
34     !define JRE_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=11292"
35    
36     ; The default installation directory
37     InstallDir $PROGRAMFILES\LinuxSampler
38    
39     ; Get installation folder from registry if available
40     InstallDirRegKey HKCU "Software\LinuxSampler" ""
41    
42     ;--------------------------------
43     ;Interface Settings
44    
45     !define MUI_HEADERIMAGE
46     !define MUI_HEADERIMAGE_BITMAP "linuxsampler.bmp"
47     !define MUI_ABORTWARNING
48    
49     ;--------------------------------
50     ;Version Information
51    
52     VIProductVersion "0.0.0.0"
53 schoenebeck 1581 VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "all-in-one installer"
54 schoenebeck 1547 VIAddVersionKey /LANG=${LANG_ENGLISH} "Comments" "http://linuxsampler.org"
55     VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "The LinuxSampler Project"
56     VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" ""
57 schoenebeck 1891 VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "� 2003-2009 The LinuxSampler Project"
58 schoenebeck 1581 VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "LinuxSampler Installer (${RELEASE_DATE})"
59 schoenebeck 1547 VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "0.0.0"
60    
61 schoenebeck 1891 !define BIN_TYPE_64BIT "64 bit"
62     !define BIN_TYPE_686SSE "686 SSE"
63     !define BIN_TYPE_686 "686"
64    
65 schoenebeck 1547 ;--------------------------------
66     ; Pages
67    
68     !insertmacro MUI_PAGE_LICENSE "license.rtf"
69     !insertmacro MUI_PAGE_COMPONENTS
70     !insertmacro MUI_PAGE_DIRECTORY
71     !insertmacro MUI_PAGE_INSTFILES
72     !insertmacro MUI_UNPAGE_CONFIRM
73     !insertmacro MUI_UNPAGE_INSTFILES
74    
75     ;--------------------------------
76     ;Languages
77    
78     !insertmacro MUI_LANGUAGE "English"
79    
80     ;--------------------------------
81    
82 schoenebeck 1581 Function .onInit
83     Var /GLOBAL installingLinuxSampler
84     Var /GLOBAL installingJSampler
85     Var /GLOBAL installingQSampler
86     Var /GLOBAL installinggigedit
87     StrCpy $installingLinuxSampler "0"
88     StrCpy $installingJSampler "0"
89     StrCpy $installingQSampler "0"
90     StrCpy $installinggigedit "0"
91     FunctionEnd
92    
93 schoenebeck 1891 ; detects CPU capabilities and determmines which native binary type to install
94     Function DetectSystemType
95     Var /GLOBAL binType
96    
97     ; check if this is a 64 bit windows
98     System::Call "kernel32::GetCurrentProcess() i .s"
99     System::Call "kernel32::IsWow64Process(i s, *i .r0)"
100     IntCmp $0 0 not64bit
101     StrCpy $binType BIN_TYPE_64BIT
102     DetailPrint "64 bit Windows detected."
103     Goto DetectSystemDone
104    
105     not64bit: ; a 32 bit system
106    
107     ; check if CPU supports SSE
108     cpudesc::tell
109     Pop $0 ; full identification string in $0
110     StrCpy $1 $0 1, 34 ; pull out one character after SSE=
111     IntFmt $2 "%u" $1 ; and turn it into a number
112     IntCmpU $2 1 +1 +4 +4
113     StrCpy $binType BIN_TYPE_686SSE
114     DetailPrint "32 bit Windows, SSE CPU detected."
115     Goto DetectSystemDone
116     StrCpy $binType BIN_TYPE_686
117     DetailPrint "32 bit Windows (no SSE support) detected."
118    
119     DetectSystemDone:
120     FunctionEnd
121    
122 schoenebeck 1547 ; Check for the presence of gtkmm, and if false, ask the user whether to
123     ; download and install gtkmm now from the internet.
124     Function CheckForGtkmm
125     Var /GLOBAL gtkmmSetupFile
126    
127 schoenebeck 1581 ClearErrors
128 schoenebeck 1547 ; This is just a lazy check for the presence of gtkmm, we should better use:
129     ; System::Call function (NSI internal function) to actually call an arbitrary
130     ; gtkmm function (/method) from a gtkmm DLL to make it certain
131     ReadRegStr $0 HKCU "Software\gtkmm\2.4" "Installer Language"
132     IfErrors +2 0
133     goto NoAbort
134     MessageBox MB_YESNO "gtkmm not found. Install it now (internet connection needed)?" IDYES InstallGtkmm
135     MessageBox MB_YESNO "gigedit won't work without gtkmm. Continue anyway?" IDYES NoAbort
136     Abort ; causes installer to quit
137     InstallGtkmm:
138     ClearErrors
139     StrCpy $gtkmmSetupFile $TEMP\gtkmm-win32-runtime-2.10.11-1.exe
140     NSISdl::download "http://ftp.gnome.org/pub/gnome/binaries/win32/gtkmm/2.10/gtkmm-win32-runtime-2.10.11-1.exe" $gtkmmSetupFile
141     IfErrors 0 +2
142     Goto InstallGtkmmFailed
143     ExecWait $gtkmmSetupFile
144     Delete $gtkmmSetupFile ; we don't need it anymore
145     IfErrors 0 +2
146     Goto InstallGtkmmFailed
147     Goto NoAbort
148     InstallGtkmmFailed:
149     MessageBox MB_YESNO "Could not download gtkmm. gigedit won't work without gtkmm. Continue anyway?" IDYES NoAbort
150     Abort ; causes installer to quit
151     NoAbort:
152     FunctionEnd
153    
154     ; Downloads and launches the JRE installer from the internet
155     Function GetJRE
156     MessageBox MB_OK "JSampler requires Java ${JRE_VERSION}, it will now \
157     be downloaded and installed"
158    
159     StrCpy $2 "$TEMP\Java Runtime Environment.exe"
160     nsisdl::download /TIMEOUT=30000 ${JRE_URL} $2
161     Pop $R0 ;Get the return value
162     StrCmp $R0 "success" +3
163     MessageBox MB_OK "Download failed: $R0"
164     Quit
165     ExecWait $2
166     Delete $2
167     FunctionEnd
168    
169     ; Checks if the JRE is already installed, if not it will download and install it from the internet
170     Function DetectJRE
171     ReadRegStr $2 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" \
172     "CurrentVersion"
173     StrCmp $2 ${JRE_VERSION} done
174    
175     Call GetJRE
176    
177     done:
178     FunctionEnd
179    
180 schoenebeck 1900 ; Tries to find the location where VST plugins should be installed to
181     Function DetectVstPath
182     Var /GLOBAL vstPluginPath
183    
184     ClearErrors
185     ReadRegStr $0 HKCU "Software\VST" "VSTPluginsPath"
186     IfErrors check2ndRegistryKey 0
187     StrCpy $vstPluginPath $0
188     DetailPrint "Found VST plugin directory in HKCU registry."
189     Goto done
190    
191     check2ndRegistryKey:
192     ClearErrors
193     ReadRegStr $0 HKLM "Software\VST" "VSTPluginsPath"
194     IfErrors noRegistryKeyExists 0
195     StrCpy $vstPluginPath $0
196     DetailPrint "Found VST plugin directory in HKLM registry."
197     Goto done
198    
199     noRegistryKeyExists:
200     ClearErrors
201     DetailPrint "No VST plugin directory defined in registry."
202     StrCpy $vstPluginPath "$PROGRAMFILES\Steinberg\VstPlugins"
203    
204     done:
205     DetailPrint "Using the following as VST plugin directory: $vstPluginPath"
206     FunctionEnd
207    
208 schoenebeck 1547 ;--------------------------------
209    
210 schoenebeck 1891 ; primer things to do
211     Section ""
212     Call DetectSystemType
213 schoenebeck 1900 Call DetectVstPath
214 schoenebeck 1891 SectionEnd
215    
216     ;--------------------------------
217    
218 schoenebeck 1547 ; The stuff to install
219 schoenebeck 1900 Section "LinuxSampler 0.5.1.12cvs" SecLinuxSampler
220 schoenebeck 1891 DetailPrint "Installing LinuxSampler binaries ..."
221 schoenebeck 1581 StrCpy $installingLinuxSampler "1"
222 schoenebeck 1891
223 schoenebeck 1547 ; Set output path to the installation directory.
224     SetOutPath $INSTDIR
225 schoenebeck 1891
226     StrCmp $binType BIN_TYPE_64BIT linuxsampler64
227     StrCmp $binType BIN_TYPE_686SSE linuxsampler686sse
228     Goto linuxsampler686
229    
230 schoenebeck 1547 ; Files to install
231 schoenebeck 1891
232     linuxsampler64:
233 schoenebeck 1900 File bin\64\linuxsampler.exe
234     File bin\64\liblinuxsampler-1.dll
235     SetOutPath $vstPluginPath
236     File bin\64\LinuxSampler.dll
237 schoenebeck 1891 Goto done
238    
239     linuxsampler686sse:
240 schoenebeck 1900 File bin\686sse\linuxsampler.exe
241     File bin\686sse\liblinuxsampler-1.dll
242     SetOutPath $vstPluginPath
243     File bin\686sse\LinuxSampler.dll
244 schoenebeck 1891 Goto done
245    
246     linuxsampler686:
247 schoenebeck 1900 File bin\686\linuxsampler.exe
248     File bin\686\liblinuxsampler-1.dll
249     SetOutPath $vstPluginPath
250     File bin\686\LinuxSampler.dll
251 schoenebeck 1891 Goto done
252    
253     done:
254 schoenebeck 1547 SectionEnd
255    
256 schoenebeck 1900 Section "JSampler 'Fantasia' 0.8a-cvs6" SecJSampler
257 schoenebeck 1891 DetailPrint "Installing JSampler binaries ..."
258 schoenebeck 1547 ; make sure JRE is installed
259     Call DetectJRE
260 schoenebeck 1581 StrCpy $installingJSampler "1"
261 schoenebeck 1547 ; Set output path to the installation directory.
262     SetOutPath $INSTDIR
263     ; Files to install
264 schoenebeck 1900 File bin\Fantasia-0.8a-cvs6.jar
265     File jsampler.ico
266 schoenebeck 1547 SectionEnd
267    
268 schoenebeck 1900 Section "QSampler 0.2.1.26" SecQSampler
269 schoenebeck 1891 DetailPrint "Installing QSampler binaries ..."
270 schoenebeck 1581 StrCpy $installingQSampler "1"
271 schoenebeck 1547 ; Set output path to the installation directory.
272     SetOutPath $INSTDIR
273     ; Files to install
274 schoenebeck 1900 File bin\686\qsampler.exe
275     File bin\686\QtCore4.dll
276     File bin\686\QtGui4.dll
277     File bin\686\mingwm10.dll
278     File qsampler.ico
279     SetOutPath $INSTDIR\share\locale
280     File bin\686\share\locale\qsampler_ru.qm
281 schoenebeck 1547 SectionEnd
282    
283 schoenebeck 1900 Section "gigedit 0.1.1.x (cvs2009-05-10)" Secgigedit
284 schoenebeck 1891 DetailPrint "Installing gigedit binaries ..."
285 schoenebeck 1581 StrCpy $installinggigedit "1"
286 schoenebeck 1891
287 schoenebeck 1547 ; make sure gtkmm is installed
288 schoenebeck 1900 ; (commented out for now, since we include gtk(mm) DLLs with this
289     ; installer, so no check and no download necessary ATM)
290     ;Call CheckForGtkmm
291    
292 schoenebeck 1547 ; Set output path to the installation directory.
293     SetOutPath $INSTDIR
294 schoenebeck 1891
295     StrCmp $binType BIN_TYPE_64BIT gigedit64
296 schoenebeck 1900 ; 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
297     ;StrCmp $binType BIN_TYPE_686SSE gigedit686sse
298 schoenebeck 1891 Goto gigedit686
299    
300 schoenebeck 1547 ; Files to install
301 schoenebeck 1891
302     gigedit64:
303 schoenebeck 1900 File bin\64\gigedit.exe
304     File bin\64\libgigedit-1.dll
305     SetOutPath "$INSTDIR\plugins"
306     File bin\64\plugins\libgigeditlinuxsamplerplugin-1.dll
307     SetOutPath $INSTDIR
308     File bin\64\libatk-1.0-0.dll
309     File bin\64\libatkmm-1.6-1.dll
310     File bin\64\libcairo-2.dll
311     File bin\64\libcairomm-1.0-1.dll
312     File bin\64\libgdkmm-2.4-1.dll
313     File bin\64\libgdk_pixbuf-2.0-0.dll
314     File bin\64\libgdk-win32-2.0-0.dll
315     File bin\64\libgio-2.0-0.dll
316     File bin\64\libgiomm-2.4-1.dll
317     File bin\64\libglib-2.0-0.dll
318     File bin\64\libglibmm-2.4-1.dll
319     File bin\64\libgmodule-2.0-0.dll
320     File bin\64\libgobject-2.0-0.dll
321     File bin\64\libgthread-2.0-0.dll
322     File bin\64\libgtkmm-2.4-1.dll
323     File bin\64\libgtk-win32-2.0-0.dll
324     File bin\64\libintl-8.dll
325     File bin\64\libjpeg-62.dll
326     File bin\64\libpango-1.0-0.dll
327     File bin\64\libpangocairo-1.0-0.dll
328     File bin\64\libpangomm-1.4-1.dll
329     File bin\64\libpangowin32-1.0-0.dll
330     File bin\64\libpng12-0.dll
331     File bin\64\libsigc-2.0-0.dll
332     File bin\64\libtiff.dll
333     File bin\64\zlib1.dll
334     SetOutPath $INSTDIR\etc\gtk-2.0
335     File bin\64\etc\gtk-2.0\gtkrc
336     SetOutPath $INSTDIR\lib\gtk-2.0\2.10.0\engines
337     File bin\64\lib\gtk-2.0\2.10.0\engines\libwimp.dll
338     SetOutPath $INSTDIR\share\locale\de\LC_MESSAGES
339     File bin\64\share\locale\de\LC_MESSAGES\gigedit.mo
340     File bin\64\share\locale\de\LC_MESSAGES\gtk20.mo
341     SetOutPath $INSTDIR\share\locale\sv\LC_MESSAGES
342     File bin\64\share\locale\sv\LC_MESSAGES\gigedit.mo
343     File bin\64\share\locale\sv\LC_MESSAGES\gtk20.mo
344     SetOutPath $INSTDIR\share\themes\MS-Windows\gtk-2.0
345     File bin\64\share\themes\MS-Windows\gtk-2.0\gtkrc
346 schoenebeck 1891 Goto done
347    
348     gigedit686:
349 schoenebeck 1900 File bin\686\gigedit.exe
350     File bin\686\libgigedit-1.dll
351     SetOutPath "$INSTDIR\plugins"
352     File bin\686\plugins\libgigeditlinuxsamplerplugin-1.dll
353     SetOutPath $INSTDIR
354     File bin\686\intl.dll
355     File bin\686\jpeg62.dll
356     File bin\686\libatk-1.0-0.dll
357     File bin\686\libatkmm-1.6-1.dll
358     File bin\686\libcairo-2.dll
359     File bin\686\libcairomm-1.0-1.dll
360     File bin\686\libgdkmm-2.4-1.dll
361     File bin\686\libgdk_pixbuf-2.0-0.dll
362     File bin\686\libgdk-win32-2.0-0.dll
363     File bin\686\libgio-2.0-0.dll
364     File bin\686\libgiomm-2.4-1.dll
365     File bin\686\libglib-2.0-0.dll
366     File bin\686\libglibmm-2.4-1.dll
367     File bin\686\libgmodule-2.0-0.dll
368     File bin\686\libgobject-2.0-0.dll
369     File bin\686\libgthread-2.0-0.dll
370     File bin\686\libgtkmm-2.4-1.dll
371     File bin\686\libgtk-win32-2.0-0.dll
372     File bin\686\libpango-1.0-0.dll
373     File bin\686\libpangocairo-1.0-0.dll
374     File bin\686\libpangomm-1.4-1.dll
375     File bin\686\libpangowin32-1.0-0.dll
376     File bin\686\libpng12-0.dll
377     File bin\686\libsigc-2.0-0.dll
378     File bin\686\libtiff3.dll
379     File bin\686\zlib1.dll
380     SetOutPath $INSTDIR\etc\gtk-2.0
381     File bin\686\etc\gtk-2.0\gdk-pixbuf.loaders
382     File bin\686\etc\gtk-2.0\gtkrc
383     SetOutPath $INSTDIR\lib\gtk-2.0\2.10.0\engines
384     File bin\686\lib\gtk-2.0\2.10.0\engines\libwimp.dll
385     SetOutPath $INSTDIR\lib\gtk-2.0\2.10.0\loaders
386     File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-ani.dll
387     File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-bmp.dll
388     File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-gif.dll
389     File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-icns.dll
390     File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-ico.dll
391     File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-jpeg.dll
392     File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-pcx.dll
393     File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-png.dll
394     File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-pnm.dll
395     File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-ras.dll
396     File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-tga.dll
397     File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-tiff.dll
398     File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-wbmp.dll
399     File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-xbm.dll
400     File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-xpm.dll
401     SetOutPath $INSTDIR\share\locale\de\LC_MESSAGES
402     File bin\686\share\locale\de\LC_MESSAGES\gigedit.mo
403     File bin\686\share\locale\de\LC_MESSAGES\gtk20.mo
404     SetOutPath $INSTDIR\share\locale\sv\LC_MESSAGES
405     File bin\686\share\locale\sv\LC_MESSAGES\gigedit.mo
406     File bin\686\share\locale\sv\LC_MESSAGES\gtk20.mo
407     SetOutPath $INSTDIR\share\themes\MS-Windows\gtk-2.0
408     File bin\686\share\themes\MS-Windows\gtk-2.0\gtkrc
409 schoenebeck 1891 Goto done
410    
411     done:
412 schoenebeck 1547 SectionEnd
413    
414 schoenebeck 1900 Section "libgig 3.2.1.x (cvs2009-05-03)" Seclibgig
415 schoenebeck 1891 DetailPrint "Installing libgig binaries ..."
416 schoenebeck 1547 ; We make this a mandatory component
417     SectionIn RO
418     ; Set output path to the installation directory.
419     SetOutPath $INSTDIR
420 schoenebeck 1891
421     StrCmp $binType BIN_TYPE_64BIT libgig64
422     StrCmp $binType BIN_TYPE_686SSE libgig686sse
423     Goto libgig686
424    
425 schoenebeck 1547 ; Files to install
426 schoenebeck 1891
427     libgig64:
428 schoenebeck 1900 File bin\64\libgig-6.dll
429     File bin\64\rifftree.exe
430     File bin\64\dlsdump.exe
431     File bin\64\gigdump.exe
432     File bin\64\gigextract.exe
433     ; special dependency for the 64 bit version
434     File bin\64\libgcc_s_sjlj-1.dll
435 schoenebeck 1891 Goto done
436    
437     libgig686sse:
438 schoenebeck 1900 File bin\686sse\libgig-6.dll
439     File bin\686sse\rifftree.exe
440     File bin\686sse\dlsdump.exe
441     File bin\686sse\gigdump.exe
442     File bin\686sse\gigextract.exe
443 schoenebeck 1891 Goto done
444    
445     libgig686:
446 schoenebeck 1900 File bin\686\libgig-6.dll
447     File bin\686\rifftree.exe
448     File bin\686\dlsdump.exe
449     File bin\686\gigdump.exe
450     File bin\686\gigextract.exe
451 schoenebeck 1891 Goto done
452    
453     done:
454    
455 schoenebeck 1900 ; As this is a mandatory component, we add the common binary directory
456     ; of LinuxSampler and friends to the system's PATH variable here ...
457     ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR"
458    
459 schoenebeck 1547 ; As this is a mandatory component, we misuse it to install the uninstaller as well ...
460     ; Write the uninstall keys for Windows
461 schoenebeck 1581 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "DisplayName" "LinuxSampler ${RELEASE_DATE}"
462 schoenebeck 1547 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "UninstallString" '"$INSTDIR\uninstall.exe"'
463     WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "NoModify" 1
464     WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "NoRepair" 1
465     WriteUninstaller "uninstall.exe"
466     ;Store installation folder
467     WriteRegStr HKCU "Software\LinuxSampler" "" $INSTDIR
468     SectionEnd
469    
470 schoenebeck 1900 Section "libsndfile 1.0.19" Seclibsndfile
471 schoenebeck 1891 DetailPrint "Installing libsndfile binaries ..."
472     ; We make this a mandatory component
473     SectionIn RO
474     ; Set output path to the installation directory.
475     SetOutPath $INSTDIR
476    
477     StrCmp $binType BIN_TYPE_64BIT libsndfile64
478     ; 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
479     ;StrCmp $binType BIN_TYPE_686SSE libsndfile686sse
480     Goto libsndfile686
481    
482     ; Files to install
483    
484     libsndfile64:
485 schoenebeck 1900 File bin\64\libsndfile-1.dll
486 schoenebeck 1891 Goto done
487    
488     libsndfile686:
489 schoenebeck 1900 File bin\686\libsndfile-1.dll
490 schoenebeck 1891 Goto done
491    
492     done:
493     SectionEnd
494    
495 schoenebeck 1547 Section "Start Menu Shortcuts" SecShortcuts
496     CreateDirectory "$SMPROGRAMS\LinuxSampler"
497 schoenebeck 1891
498 schoenebeck 1547 CreateShortCut "$SMPROGRAMS\LinuxSampler\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
499 schoenebeck 1891
500 schoenebeck 1581 StrCmp $installingLinuxSampler '1' 0 +2
501 schoenebeck 1900 CreateShortCut "$SMPROGRAMS\LinuxSampler\LinuxSampler 0.5.1 (stand alone backend).lnk" "$INSTDIR\linuxsampler.exe" "" "$INSTDIR\linuxsampler.exe" 0
502 schoenebeck 1891
503 schoenebeck 1581 StrCmp $installingJSampler '1' 0 +2
504     CreateShortCut '$SMPROGRAMS\LinuxSampler\JSampler Fantasia 0.8a (frontend).lnk' 'javaw' '-jar "$INSTDIR\Fantasia-0.8a.jar"' '$INSTDIR\jsampler.ico' 0
505 schoenebeck 1891
506 schoenebeck 1581 StrCmp $installingQSampler '1' 0 +2
507 schoenebeck 1587 CreateShortCut "$SMPROGRAMS\LinuxSampler\QSampler 0.2.1 (frontend).lnk" "$INSTDIR\qsampler.exe" "" "$INSTDIR\qsampler.ico" 0
508 schoenebeck 1891
509 schoenebeck 1581 StrCmp $installinggigedit '1' 0 +2
510     CreateShortCut "$SMPROGRAMS\LinuxSampler\gigedit 0.1.1 (stand alone).lnk" "$INSTDIR\gigedit.exe" "" "$INSTDIR\gigedit.exe" 0
511 schoenebeck 1547 SectionEnd
512    
513     ;--------------------------------
514    
515     ; Uninstaller
516    
517     Section "Uninstall"
518 schoenebeck 1900 DetailPrint "Removing LinuxSampler directory from PATH variable ..."
519     ${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR"
520    
521     DetailPrint "Removing registry keys ..."
522 schoenebeck 1547 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler"
523 schoenebeck 1900
524     DetailPrint "Removing VST plugin ..."
525     Delete $vstPluginPath\LinuxSampler.dll
526    
527     DetailPrint "Removing shortcuts (if any) ..."
528 schoenebeck 1547 Delete "$SMPROGRAMS\LinuxSampler\*.*"
529 schoenebeck 1900
530     DetailPrint "Removing directories used ..."
531 schoenebeck 1547 RMDir "$SMPROGRAMS\LinuxSampler"
532 schoenebeck 1900 RMDir /r "$INSTDIR"
533 schoenebeck 1547 SectionEnd
534    
535     ;--------------------------------
536     ;Descriptions
537    
538     ;Language strings
539 schoenebeck 1900 LangString DESC_SecLinuxSampler ${LANG_ENGLISH} "Sampler backend (stand-alone application and VST plugin), including sampler engine, MIDI and audio drivers, native C++ API as well as network (LSCP) API. Use a frontend application like JSampler or QSampler to control the sampler."
540 schoenebeck 1547 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."
541     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!"
542     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!"
543     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."
544 schoenebeck 1891 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."
545 schoenebeck 1547 LangString DESC_SecShortcuts ${LANG_ENGLISH} "Installs start menu shortcuts for all applications."
546    
547     ;Assign language strings to sections
548     !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
549     !insertmacro MUI_DESCRIPTION_TEXT ${SecLinuxSampler} $(DESC_SecLinuxSampler)
550     !insertmacro MUI_DESCRIPTION_TEXT ${SecJSampler} $(DESC_SecJSampler)
551     !insertmacro MUI_DESCRIPTION_TEXT ${SecQSampler} $(DESC_SecQSampler)
552     !insertmacro MUI_DESCRIPTION_TEXT ${Secgigedit} $(DESC_Secgigedit)
553     !insertmacro MUI_DESCRIPTION_TEXT ${Seclibgig} $(DESC_Seclibgig)
554 schoenebeck 1891 !insertmacro MUI_DESCRIPTION_TEXT ${Seclibsndfile} $(DESC_Seclibsndfile)
555 schoenebeck 1547 !insertmacro MUI_DESCRIPTION_TEXT ${SecShortcuts} $(DESC_SecShortcuts)
556     !insertmacro MUI_FUNCTION_DESCRIPTION_END

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC