1 |
; LinuxSampler Windows installer |
; LinuxSampler Windows installer |
2 |
; |
; |
3 |
; Copyright (C) 2007-2010, The LinuxSampler Developers |
; Copyright (C) 2007-2016, 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: |
; PREREQUISITES: |
9 |
; |
; |
10 |
; -> You must install the file cpudesc\cpudesc.dll into the NSIS's |
; -> You must install the file cpudesc\cpudesc.dll into the working |
11 |
; plugin directory before being able to compile this installer! |
; directory before being able to compile this installer! |
12 |
; |
; |
13 |
; -> The compiled binaries must be placed into the respective directories |
; -> 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 |
; under bin\ (you have to read this file in order to get those exact |
15 |
; locations and expected file names). |
; locations and expected file names). |
16 |
|
|
17 |
|
; NSIS plug-in for getting CPU information |
18 |
|
!addplugindir cpudesc |
19 |
|
|
20 |
; Probably the best compression ratio |
; Probably the best compression ratio |
21 |
SetCompressor lzma |
SetCompressor lzma |
22 |
|
|
23 |
;Include Modern UI |
;Include Modern UI |
24 |
!include "MUI.nsh" |
!include "MUI.nsh" |
25 |
!include "EnvVarUpdate.nsh" |
!include "EnvVarUpdate.nsh" |
26 |
|
!include "WordFunc.nsh" |
27 |
|
|
28 |
!define /date RELEASE_DATE "%Y%m%d" |
!define /date RELEASE_DATE "%Y%m%d" |
29 |
!searchparse /file bin/686/linuxsampler.pc `Version: ` LINUXSAMPLER_VERSION |
!searchparse /file bin/686/linuxsampler.pc `Version: ` LINUXSAMPLER_VERSION |
41 |
|
|
42 |
; Java Runtime Environment, needed for JSampler |
; Java Runtime Environment, needed for JSampler |
43 |
!define JRE_VERSION "1.6" |
!define JRE_VERSION "1.6" |
44 |
; jre-6u21-windows-i586.exe, 1.6.0_21-b74: |
; jre-8u111-windows-i586.exe: |
45 |
!define JRE_32_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=41724" |
!define JRE_32_URL "http://javadl.oracle.com/webapps/download/AutoDL?BundleId=216432" |
46 |
; jre-6u21-windows-x64.exe, 1.6.0_21-b07: |
; jre-8u111-windows-x64.exe: |
47 |
!define JRE_64_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=41293" |
!define JRE_64_URL "http://javadl.oracle.com/webapps/download/AutoDL?BundleId=216434" |
48 |
|
|
49 |
; The default installation directory |
; The default installation directory |
50 |
InstallDir "$PROGRAMFILES64\LinuxSampler" |
InstallDir "$PROGRAMFILES64\LinuxSampler" |
93 |
VIAddVersionKey /LANG=${LANG_ENGLISH} "Comments" "http://linuxsampler.org" |
VIAddVersionKey /LANG=${LANG_ENGLISH} "Comments" "http://linuxsampler.org" |
94 |
VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "The LinuxSampler Project" |
VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "The LinuxSampler Project" |
95 |
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" "" |
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" "" |
96 |
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "© 2003-2010 The LinuxSampler Project" |
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "© 2003-2016 The LinuxSampler Project" |
97 |
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "LinuxSampler Installer (${RELEASE_DATE})" |
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "LinuxSampler Installer (${RELEASE_DATE})" |
98 |
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "0.0.0" |
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "0.0.0" |
99 |
|
|
164 |
|
|
165 |
DetailPrint "Downloading JRE from: $jreUri" |
DetailPrint "Downloading JRE from: $jreUri" |
166 |
|
|
167 |
MessageBox MB_OK "JSampler requires Java ${JRE_VERSION}, it will now \ |
MessageBox MB_OK "JSampler requires Java ${JRE_VERSION} or later, \ |
168 |
be downloaded and installed" |
it will now be downloaded and installed" |
169 |
|
|
170 |
StrCpy $2 "$TEMP\Java Runtime Environment.exe" |
StrCpy $2 "$TEMP\Java Runtime Environment.exe" |
171 |
nsisdl::download /TIMEOUT=30000 "$jreUri" $2 |
nsisdl::download /TIMEOUT=30000 "$jreUri" $2 |
181 |
Function DetectJRE |
Function DetectJRE |
182 |
ReadRegStr $2 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" \ |
ReadRegStr $2 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" \ |
183 |
"CurrentVersion" |
"CurrentVersion" |
184 |
StrCmp $2 ${JRE_VERSION} done |
${VersionCompare} $2 ${JRE_VERSION} $R0 |
185 |
|
IntCmp $R0 1 done done |
186 |
|
|
187 |
StrCmp $binType BIN_TYPE_64BIT 0 downloadjre |
StrCmp $binType BIN_TYPE_64BIT 0 downloadjre |
188 |
|
|
192 |
ReadRegStr $3 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" \ |
ReadRegStr $3 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" \ |
193 |
"CurrentVersion" |
"CurrentVersion" |
194 |
SetRegView 64 ; restore 64 bit view |
SetRegView 64 ; restore 64 bit view |
195 |
StrCmp $3 ${JRE_VERSION} done |
${VersionCompare} $3 ${JRE_VERSION} $R0 |
196 |
|
IntCmp $R0 1 done done |
197 |
|
|
198 |
downloadjre: |
downloadjre: |
199 |
Call GetJRE |
Call GetJRE |
291 |
linuxsampler64: |
linuxsampler64: |
292 |
SetOutPath "$INSTDIR\${SUBDIR_64_BIT}" |
SetOutPath "$INSTDIR\${SUBDIR_64_BIT}" |
293 |
File bin\64\linuxsampler.exe |
File bin\64\linuxsampler.exe |
294 |
File bin\64\liblinuxsampler-3.dll |
File bin\64\liblinuxsampler-4.dll |
295 |
File bin\64\libsqlite3-0.dll |
File bin\64\libsqlite3-0.dll |
296 |
SetOutPath $vstPluginPath64 |
SetOutPath $vstPluginPath64 |
297 |
File /oname=LinuxSampler64.dll bin\64\LinuxSampler.dll |
File /oname=LinuxSampler64.dll bin\64\LinuxSampler.dll |
305 |
linuxsampler686sse: |
linuxsampler686sse: |
306 |
SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" |
SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" |
307 |
File bin\686sse\linuxsampler.exe |
File bin\686sse\linuxsampler.exe |
308 |
File bin\686sse\liblinuxsampler-3.dll |
File bin\686sse\liblinuxsampler-4.dll |
309 |
File bin\686\libsqlite3-0.dll |
File bin\686\libsqlite3-0.dll |
310 |
SetOutPath $vstPluginPath |
SetOutPath $vstPluginPath |
311 |
File /oname=LinuxSampler32.dll bin\686sse\LinuxSampler.dll |
File /oname=LinuxSampler32.dll bin\686sse\LinuxSampler.dll |
314 |
linuxsampler686: |
linuxsampler686: |
315 |
SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" |
SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" |
316 |
File bin\686\linuxsampler.exe |
File bin\686\linuxsampler.exe |
317 |
File bin\686\liblinuxsampler-3.dll |
File bin\686\liblinuxsampler-4.dll |
318 |
File bin\686\libsqlite3-0.dll |
File bin\686\libsqlite3-0.dll |
319 |
SetOutPath $vstPluginPath |
SetOutPath $vstPluginPath |
320 |
File /oname=LinuxSampler32.dll bin\686\LinuxSampler.dll |
File /oname=LinuxSampler32.dll bin\686\LinuxSampler.dll |
343 |
; Files to install |
; Files to install |
344 |
File bin\686\qsampler.exe |
File bin\686\qsampler.exe |
345 |
File bin\686\liblscp-6.dll |
File bin\686\liblscp-6.dll |
346 |
File bin\686\QtCore4.dll |
File bin\686\Qt5Core.dll |
347 |
File bin\686\QtGui4.dll |
File bin\686\Qt5Gui.dll |
348 |
File bin\686\mingwm10.dll |
File bin\686\Qt5Widgets.dll |
349 |
File bin\686\libgcc_s_dw2-1.dll |
File bin\686\libbz2-1.dll |
350 |
|
File bin\686\libfreetype-6.dll |
351 |
|
File bin\686\libglib-2.0-0.dll |
352 |
|
File bin\686\libgraphite2.dll |
353 |
|
File bin\686\libharfbuzz-0.dll |
354 |
|
File bin\686\libiconv-2.dll |
355 |
|
File bin\686\libicudt57.dll |
356 |
|
File bin\686\libicuin57.dll |
357 |
|
File bin\686\libicuuc57.dll |
358 |
|
File bin\686\libintl-8.dll |
359 |
|
File bin\686\liblscp-6.dll |
360 |
|
File bin\686\libpcre-1.dll |
361 |
|
File bin\686\libpcre16-0.dll |
362 |
|
File bin\686\libpng16-16.dll |
363 |
|
File bin\686\zlib1.dll |
364 |
|
File qt.conf |
365 |
File qsampler.ico |
File qsampler.ico |
366 |
|
SetOutPath $INSTDIR\plugins\platforms |
367 |
|
File bin\686\plugins\platforms\qwindows.dll |
368 |
SetOutPath $INSTDIR\share\locale |
SetOutPath $INSTDIR\share\locale |
369 |
File bin\686\share\locale\qsampler_ru.qm |
File bin\686\share\locale\qsampler_ru.qm |
370 |
File bin\686\share\locale\qsampler_cs.qm |
File bin\686\share\locale\qsampler_cs.qm |
391 |
gigedit64: |
gigedit64: |
392 |
SetOutPath "$INSTDIR\${SUBDIR_64_BIT}" |
SetOutPath "$INSTDIR\${SUBDIR_64_BIT}" |
393 |
File bin\64\gigedit.exe |
File bin\64\gigedit.exe |
394 |
File bin\64\libgigedit-2.dll |
File bin\64\libgigedit-3.dll |
395 |
SetOutPath "$INSTDIR\${SUBDIR_64_BIT}\plugins" |
SetOutPath "$INSTDIR\${SUBDIR_64_BIT}\plugins" |
396 |
File bin\64\plugins\libgigeditlinuxsamplerplugin.dll |
File bin\64\plugins\libgigeditlinuxsamplerplugin.dll |
397 |
SetOutPath "$INSTDIR\${SUBDIR_64_BIT}" |
SetOutPath "$INSTDIR\${SUBDIR_64_BIT}" |
442 |
gigedit686: |
gigedit686: |
443 |
SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" |
SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" |
444 |
File bin\686\gigedit.exe |
File bin\686\gigedit.exe |
445 |
File bin\686\libgigedit-2.dll |
File bin\686\libgigedit-3.dll |
446 |
SetOutPath "$INSTDIR\${SUBDIR_32_BIT}\plugins" |
SetOutPath "$INSTDIR\${SUBDIR_32_BIT}\plugins" |
447 |
File bin\686\plugins\libgigeditlinuxsamplerplugin.dll |
File bin\686\plugins\libgigeditlinuxsamplerplugin.dll |
448 |
SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" |
SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" |
457 |
File bin\686\libgdk-win32-2.0-0.dll |
File bin\686\libgdk-win32-2.0-0.dll |
458 |
File bin\686\libgio-2.0-0.dll |
File bin\686\libgio-2.0-0.dll |
459 |
File bin\686\libgiomm-2.4-1.dll |
File bin\686\libgiomm-2.4-1.dll |
460 |
File bin\686\libglib-2.0-0.dll |
; File bin\686\libglib-2.0-0.dll |
461 |
File bin\686\libglibmm-2.4-1.dll |
File bin\686\libglibmm-2.4-1.dll |
462 |
File bin\686\libgmodule-2.0-0.dll |
File bin\686\libgmodule-2.0-0.dll |
463 |
File bin\686\libgobject-2.0-0.dll |
File bin\686\libgobject-2.0-0.dll |
471 |
File bin\686\libpng12-0.dll |
File bin\686\libpng12-0.dll |
472 |
File bin\686\libsigc-2.0-0.dll |
File bin\686\libsigc-2.0-0.dll |
473 |
File bin\686\libtiff3.dll |
File bin\686\libtiff3.dll |
474 |
File bin\686\zlib1.dll |
; File bin\686\zlib1.dll |
475 |
SetOutPath $INSTDIR\${SUBDIR_32_BIT}\etc\gtk-2.0 |
SetOutPath $INSTDIR\${SUBDIR_32_BIT}\etc\gtk-2.0 |
476 |
File bin\686\etc\gtk-2.0\gdk-pixbuf.loaders |
File bin\686\etc\gtk-2.0\gdk-pixbuf.loaders |
477 |
File bin\686\etc\gtk-2.0\gtkrc |
File bin\686\etc\gtk-2.0\gtkrc |
506 |
done: |
done: |
507 |
SectionEnd |
SectionEnd |
508 |
|
|
509 |
Section "libgig 3.3.0" Seclibgig |
Section "libgig ${LIBGIG_VERSION}" Seclibgig |
510 |
DetailPrint "Installing libgig binaries ..." |
DetailPrint "Installing libgig binaries ..." |
511 |
; We make this a mandatory component |
; We make this a mandatory component |
512 |
SectionIn RO |
SectionIn RO |
519 |
|
|
520 |
libgig64: |
libgig64: |
521 |
SetOutPath "$INSTDIR\${SUBDIR_64_BIT}" |
SetOutPath "$INSTDIR\${SUBDIR_64_BIT}" |
522 |
File bin\64\libgig-6.dll |
File bin\64\libgig-7.dll |
523 |
|
File bin\64\libakai-0.dll |
524 |
File bin\64\rifftree.exe |
File bin\64\rifftree.exe |
525 |
File bin\64\dlsdump.exe |
File bin\64\dlsdump.exe |
526 |
File bin\64\gigdump.exe |
File bin\64\gigdump.exe |
527 |
File bin\64\gigextract.exe |
File bin\64\gigextract.exe |
528 |
; special dependencies for the 64 bit version |
File bin\64\gigmerge.exe |
529 |
|
File bin\64\gig2mono.exe |
530 |
|
File bin\64\gig2stereo.exe |
531 |
|
File bin\64\korg2gig.exe |
532 |
|
File bin\64\korgdump.exe |
533 |
|
File bin\64\akaidump.exe |
534 |
|
File bin\64\akaiextract.exe |
535 |
|
File bin\64\sf2dump.exe |
536 |
|
File bin\64\sf2extract.exe |
537 |
File bin\64\libgcc_s_sjlj-1.dll |
File bin\64\libgcc_s_sjlj-1.dll |
538 |
File bin\64\libstdc++-6.dll |
File bin\64\libstdc++-6.dll |
539 |
|
|
540 |
; shall we install the 32 bit version as well? |
; shall we install the 32 bit version as well? |
541 |
StrCmp $installing32BitToo "1" libgig686sse done |
StrCmp $installing32BitToo "1" libgig686sse |
542 |
|
StrCmp $installingQSampler "1" libgigForQsampler done |
543 |
|
|
544 |
|
; QSampler needs the 32 bit libgig dll |
545 |
|
libgigForQsampler: |
546 |
|
SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" |
547 |
|
File bin\686sse\libgig-7.dll |
548 |
|
Goto libgig32common |
549 |
|
|
550 |
libgig686sse: |
libgig686sse: |
551 |
SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" |
SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" |
552 |
File bin\686sse\libgig-6.dll |
File bin\686sse\libgig-7.dll |
553 |
|
File bin\686sse\libakai-0.dll |
554 |
File bin\686sse\rifftree.exe |
File bin\686sse\rifftree.exe |
555 |
File bin\686sse\dlsdump.exe |
File bin\686sse\dlsdump.exe |
556 |
File bin\686sse\gigdump.exe |
File bin\686sse\gigdump.exe |
557 |
File bin\686sse\gigextract.exe |
File bin\686sse\gigextract.exe |
558 |
Goto done |
File bin\686sse\gigmerge.exe |
559 |
|
File bin\686sse\gig2mono.exe |
560 |
|
File bin\686sse\gig2stereo.exe |
561 |
|
File bin\686sse\korg2gig.exe |
562 |
|
File bin\686sse\korgdump.exe |
563 |
|
File bin\686sse\akaidump.exe |
564 |
|
File bin\686sse\akaiextract.exe |
565 |
|
File bin\686sse\sf2dump.exe |
566 |
|
File bin\686sse\sf2extract.exe |
567 |
|
Goto libgig32common |
568 |
|
|
569 |
libgig686: |
libgig686: |
570 |
SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" |
SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" |
571 |
File bin\686\libgig-6.dll |
File bin\686\libgig-7.dll |
572 |
|
File bin\686\libakai-0.dll |
573 |
File bin\686\rifftree.exe |
File bin\686\rifftree.exe |
574 |
File bin\686\dlsdump.exe |
File bin\686\dlsdump.exe |
575 |
File bin\686\gigdump.exe |
File bin\686\gigdump.exe |
576 |
File bin\686\gigextract.exe |
File bin\686\gigextract.exe |
577 |
Goto done |
File bin\686\gigmerge.exe |
578 |
|
File bin\686\gig2mono.exe |
579 |
|
File bin\686\gig2stereo.exe |
580 |
|
File bin\686\korg2gig.exe |
581 |
|
File bin\686\korgdump.exe |
582 |
|
File bin\686\akaidump.exe |
583 |
|
File bin\686\akaiextract.exe |
584 |
|
File bin\686\sf2dump.exe |
585 |
|
File bin\686\sf2extract.exe |
586 |
|
|
587 |
|
libgig32common: |
588 |
|
File bin\686\libgcc_s_dw2-1.dll |
589 |
|
File bin\686\libwinpthread-1.dll |
590 |
|
File bin\686\libstdc++-6.dll |
591 |
|
|
592 |
done: |
done: |
593 |
|
|
594 |
; As this is a mandatory component, we misuse is for the following |
; As this is a mandatory component, we misuse is for the following |
647 |
File bin\686\libogg-0.dll |
File bin\686\libogg-0.dll |
648 |
File bin\686\libvorbis-0.dll |
File bin\686\libvorbis-0.dll |
649 |
File bin\686\libvorbisenc-2.dll |
File bin\686\libvorbisenc-2.dll |
650 |
|
File bin\686\libspeex-1.dll |
651 |
Goto done |
Goto done |
652 |
|
|
653 |
done: |
done: |
765 |
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." |
766 |
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!" |
767 |
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." |
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." |
768 |
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 GigaStudio/Gigasampler format (up to v4), SoundFont, AKAI and KORG files. This library is required by LinuxSampler, gigedit and QSampler." |
769 |
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." |
770 |
LangString DESC_SecShortcuts ${LANG_ENGLISH} "Installs start menu shortcuts for all applications." |
LangString DESC_SecShortcuts ${LANG_ENGLISH} "Installs start menu shortcuts for all applications." |
771 |
|
|