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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1903 - (show annotations) (download)
Tue May 12 20:24:46 2009 UTC (13 years, 1 month ago) by schoenebeck
File size: 22653 byte(s)
* further bugfixes regarding the new installer

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

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC