1 |
; LinuxSampler Windows installer |
; LinuxSampler Windows installer |
2 |
; |
; |
3 |
; Copyright (C) 2007-2011, 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. |
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-6u31-windows-i586.exe: |
; jre-8u101-windows-i586.exe: |
45 |
!define JRE_32_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=62314" |
!define JRE_32_URL "http://javadl.oracle.com/webapps/download/AutoDL?BundleId=211997" |
46 |
; jre-6u31-windows-x86.exe: |
; jre-8u101-windows-x64.exe: |
47 |
!define JRE_64_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=60338" |
!define JRE_64_URL "http://javadl.oracle.com/webapps/download/AutoDL?BundleId=211999" |
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-2011 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 |
374 |
gigedit64: |
gigedit64: |
375 |
SetOutPath "$INSTDIR\${SUBDIR_64_BIT}" |
SetOutPath "$INSTDIR\${SUBDIR_64_BIT}" |
376 |
File bin\64\gigedit.exe |
File bin\64\gigedit.exe |
377 |
File bin\64\libgigedit-2.dll |
File bin\64\libgigedit-3.dll |
378 |
SetOutPath "$INSTDIR\${SUBDIR_64_BIT}\plugins" |
SetOutPath "$INSTDIR\${SUBDIR_64_BIT}\plugins" |
379 |
File bin\64\plugins\libgigeditlinuxsamplerplugin.dll |
File bin\64\plugins\libgigeditlinuxsamplerplugin.dll |
380 |
SetOutPath "$INSTDIR\${SUBDIR_64_BIT}" |
SetOutPath "$INSTDIR\${SUBDIR_64_BIT}" |
425 |
gigedit686: |
gigedit686: |
426 |
SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" |
SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" |
427 |
File bin\686\gigedit.exe |
File bin\686\gigedit.exe |
428 |
File bin\686\libgigedit-2.dll |
File bin\686\libgigedit-3.dll |
429 |
SetOutPath "$INSTDIR\${SUBDIR_32_BIT}\plugins" |
SetOutPath "$INSTDIR\${SUBDIR_32_BIT}\plugins" |
430 |
File bin\686\plugins\libgigeditlinuxsamplerplugin.dll |
File bin\686\plugins\libgigeditlinuxsamplerplugin.dll |
431 |
SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" |
SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" |
489 |
done: |
done: |
490 |
SectionEnd |
SectionEnd |
491 |
|
|
492 |
Section "libgig 3.3.0" Seclibgig |
Section "libgig ${LIBGIG_VERSION}" Seclibgig |
493 |
DetailPrint "Installing libgig binaries ..." |
DetailPrint "Installing libgig binaries ..." |
494 |
; We make this a mandatory component |
; We make this a mandatory component |
495 |
SectionIn RO |
SectionIn RO |
502 |
|
|
503 |
libgig64: |
libgig64: |
504 |
SetOutPath "$INSTDIR\${SUBDIR_64_BIT}" |
SetOutPath "$INSTDIR\${SUBDIR_64_BIT}" |
505 |
File bin\64\libgig-6.dll |
File bin\64\libgig-7.dll |
506 |
|
File bin\64\libakai-0.dll |
507 |
File bin\64\rifftree.exe |
File bin\64\rifftree.exe |
508 |
File bin\64\dlsdump.exe |
File bin\64\dlsdump.exe |
509 |
File bin\64\gigdump.exe |
File bin\64\gigdump.exe |
510 |
File bin\64\gigextract.exe |
File bin\64\gigextract.exe |
511 |
; special dependencies for the 64 bit version |
File bin\64\gigmerge.exe |
512 |
|
File bin\64\gig2mono.exe |
513 |
|
File bin\64\gig2stereo.exe |
514 |
|
File bin\64\korg2gig.exe |
515 |
|
File bin\64\korgdump.exe |
516 |
|
File bin\64\akaidump.exe |
517 |
|
File bin\64\akaiextract.exe |
518 |
|
File bin\64\sf2dump.exe |
519 |
|
File bin\64\sf2extract.exe |
520 |
File bin\64\libgcc_s_sjlj-1.dll |
File bin\64\libgcc_s_sjlj-1.dll |
521 |
File bin\64\libstdc++-6.dll |
File bin\64\libstdc++-6.dll |
522 |
|
|
523 |
; shall we install the 32 bit version as well? |
; shall we install the 32 bit version as well? |
524 |
StrCmp $installing32BitToo "1" libgig686sse done |
StrCmp $installing32BitToo "1" libgig686sse |
525 |
|
StrCmp $installingQSampler "1" libgigForQsampler done |
526 |
|
|
527 |
|
; QSampler needs the 32 bit libgig dll |
528 |
|
libgigForQsampler: |
529 |
|
SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" |
530 |
|
File bin\686sse\libgig-7.dll |
531 |
|
Goto libgig32common |
532 |
|
|
533 |
libgig686sse: |
libgig686sse: |
534 |
SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" |
SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" |
535 |
File bin\686sse\libgig-6.dll |
File bin\686sse\libgig-7.dll |
536 |
|
File bin\686sse\libakai-0.dll |
537 |
File bin\686sse\rifftree.exe |
File bin\686sse\rifftree.exe |
538 |
File bin\686sse\dlsdump.exe |
File bin\686sse\dlsdump.exe |
539 |
File bin\686sse\gigdump.exe |
File bin\686sse\gigdump.exe |
540 |
File bin\686sse\gigextract.exe |
File bin\686sse\gigextract.exe |
541 |
Goto done |
File bin\686sse\gigmerge.exe |
542 |
|
File bin\686sse\gig2mono.exe |
543 |
|
File bin\686sse\gig2stereo.exe |
544 |
|
File bin\686sse\korg2gig.exe |
545 |
|
File bin\686sse\korgdump.exe |
546 |
|
File bin\686sse\akaidump.exe |
547 |
|
File bin\686sse\akaiextract.exe |
548 |
|
File bin\686sse\sf2dump.exe |
549 |
|
File bin\686sse\sf2extract.exe |
550 |
|
Goto libgig32common |
551 |
|
|
552 |
libgig686: |
libgig686: |
553 |
SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" |
SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" |
554 |
File bin\686\libgig-6.dll |
File bin\686\libgig-7.dll |
555 |
|
File bin\686\libakai-0.dll |
556 |
File bin\686\rifftree.exe |
File bin\686\rifftree.exe |
557 |
File bin\686\dlsdump.exe |
File bin\686\dlsdump.exe |
558 |
File bin\686\gigdump.exe |
File bin\686\gigdump.exe |
559 |
File bin\686\gigextract.exe |
File bin\686\gigextract.exe |
560 |
Goto done |
File bin\686\gigmerge.exe |
561 |
|
File bin\686\gig2mono.exe |
562 |
|
File bin\686\gig2stereo.exe |
563 |
|
File bin\686\korg2gig.exe |
564 |
|
File bin\686\korgdump.exe |
565 |
|
File bin\686\akaidump.exe |
566 |
|
File bin\686\akaiextract.exe |
567 |
|
File bin\686\sf2dump.exe |
568 |
|
File bin\686\sf2extract.exe |
569 |
|
|
570 |
|
libgig32common: |
571 |
|
File bin\686\libgcc_s_dw2-1.dll |
572 |
|
File bin\686\libwinpthread-1.dll |
573 |
|
File bin\686\libstdc++-6.dll |
574 |
|
|
575 |
done: |
done: |
576 |
|
|
577 |
; As this is a mandatory component, we misuse is for the following |
; As this is a mandatory component, we misuse is for the following |
747 |
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." |
748 |
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!" |
749 |
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." |
750 |
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." |
751 |
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." |
752 |
LangString DESC_SecShortcuts ${LANG_ENGLISH} "Installs start menu shortcuts for all applications." |
LangString DESC_SecShortcuts ${LANG_ENGLISH} "Installs start menu shortcuts for all applications." |
753 |
|
|