--- misc/trunk/win32_installer/linuxsampler_all.nsi 2011/06/19 09:09:49 2186 +++ misc/trunk/win32_installer/linuxsampler_all.nsi 2016/10/23 10:25:33 3022 @@ -1,25 +1,29 @@ ; LinuxSampler Windows installer ; -; Copyright (C) 2007-2011, The LinuxSampler Developers +; Copyright (C) 2007-2016, The LinuxSampler Developers ; ; All-in-one Installer for all subprojects / software components of the ; LinuxSampler Project. ; ; PREREQUISITES: ; -; -> You must install the file cpudesc\cpudesc.dll into the NSIS's -; plugin directory before being able to compile this installer! +; -> You must install the file cpudesc\cpudesc.dll into the working +; directory before being able to compile this installer! ; ; -> The compiled binaries must be placed into the respective directories ; under bin\ (you have to read this file in order to get those exact ; locations and expected file names). +; NSIS plug-in for getting CPU information +!addplugindir cpudesc + ; Probably the best compression ratio SetCompressor lzma ;Include Modern UI !include "MUI.nsh" !include "EnvVarUpdate.nsh" +!include "WordFunc.nsh" !define /date RELEASE_DATE "%Y%m%d" !searchparse /file bin/686/linuxsampler.pc `Version: ` LINUXSAMPLER_VERSION @@ -37,10 +41,10 @@ ; Java Runtime Environment, needed for JSampler !define JRE_VERSION "1.6" -; jre-6u26-windows-i586.exe, 1.6.0_26-b03: -!define JRE_32_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=49025" -; jre-6u26-windows-x64.exe, 1.6.0_26-b03: -!define JRE_64_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=49026" +; jre-8u111-windows-i586.exe: +!define JRE_32_URL "http://javadl.oracle.com/webapps/download/AutoDL?BundleId=216432" +; jre-8u111-windows-x64.exe: +!define JRE_64_URL "http://javadl.oracle.com/webapps/download/AutoDL?BundleId=216434" ; The default installation directory InstallDir "$PROGRAMFILES64\LinuxSampler" @@ -89,7 +93,7 @@ VIAddVersionKey /LANG=${LANG_ENGLISH} "Comments" "http://linuxsampler.org" VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "The LinuxSampler Project" VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" "" -VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "© 2003-2011 The LinuxSampler Project" +VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "© 2003-2016 The LinuxSampler Project" VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "LinuxSampler Installer (${RELEASE_DATE})" VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "0.0.0" @@ -160,8 +164,8 @@ DetailPrint "Downloading JRE from: $jreUri" - MessageBox MB_OK "JSampler requires Java ${JRE_VERSION}, it will now \ - be downloaded and installed" + MessageBox MB_OK "JSampler requires Java ${JRE_VERSION} or later, \ + it will now be downloaded and installed" StrCpy $2 "$TEMP\Java Runtime Environment.exe" nsisdl::download /TIMEOUT=30000 "$jreUri" $2 @@ -177,7 +181,8 @@ Function DetectJRE ReadRegStr $2 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" \ "CurrentVersion" - StrCmp $2 ${JRE_VERSION} done + ${VersionCompare} $2 ${JRE_VERSION} $R0 + IntCmp $R0 1 done done StrCmp $binType BIN_TYPE_64BIT 0 downloadjre @@ -187,7 +192,8 @@ ReadRegStr $3 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" \ "CurrentVersion" SetRegView 64 ; restore 64 bit view - StrCmp $3 ${JRE_VERSION} done + ${VersionCompare} $3 ${JRE_VERSION} $R0 + IntCmp $R0 1 done done downloadjre: Call GetJRE @@ -285,7 +291,7 @@ linuxsampler64: SetOutPath "$INSTDIR\${SUBDIR_64_BIT}" File bin\64\linuxsampler.exe - File bin\64\liblinuxsampler-3.dll + File bin\64\liblinuxsampler-4.dll File bin\64\libsqlite3-0.dll SetOutPath $vstPluginPath64 File /oname=LinuxSampler64.dll bin\64\LinuxSampler.dll @@ -299,7 +305,7 @@ linuxsampler686sse: SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" File bin\686sse\linuxsampler.exe - File bin\686sse\liblinuxsampler-3.dll + File bin\686sse\liblinuxsampler-4.dll File bin\686\libsqlite3-0.dll SetOutPath $vstPluginPath File /oname=LinuxSampler32.dll bin\686sse\LinuxSampler.dll @@ -308,7 +314,7 @@ linuxsampler686: SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" File bin\686\linuxsampler.exe - File bin\686\liblinuxsampler-3.dll + File bin\686\liblinuxsampler-4.dll File bin\686\libsqlite3-0.dll SetOutPath $vstPluginPath File /oname=LinuxSampler32.dll bin\686\LinuxSampler.dll @@ -337,16 +343,31 @@ ; Files to install File bin\686\qsampler.exe File bin\686\liblscp-6.dll - File bin\686\QtCore4.dll - File bin\686\QtGui4.dll - File bin\686\mingwm10.dll - File bin\686\libgcc_s_dw2-1.dll + File bin\686\Qt5Core.dll + File bin\686\Qt5Gui.dll + File bin\686\Qt5Widgets.dll + File bin\686\libbz2-1.dll + File bin\686\libfreetype-6.dll + File bin\686\libglib-2.0-0.dll + File bin\686\libgraphite2.dll + File bin\686\libharfbuzz-0.dll + File bin\686\libiconv-2.dll + File bin\686\libicudt57.dll + File bin\686\libicuin57.dll + File bin\686\libicuuc57.dll + File bin\686\libintl-8.dll + File bin\686\liblscp-6.dll + File bin\686\libpcre-1.dll + File bin\686\libpcre16-0.dll + File bin\686\libpng16-16.dll + File bin\686\zlib1.dll + File qt.conf File qsampler.ico + SetOutPath $INSTDIR\plugins\platforms + File bin\686\plugins\platforms\qwindows.dll SetOutPath $INSTDIR\share\locale - File bin\686\share\locale\qsampler_ru.qm - File bin\686\share\locale\qsampler_cs.qm - File bin\686\share\locale\qt_ru.qm - File bin\686\share\locale\qt_cs.qm + File bin\686\share\locale\qsampler_*.qm + File bin\686\share\locale\qt*_*.qm SectionEnd Section "gigedit ${GIGEDIT_VERSION}" Secgigedit @@ -368,7 +389,7 @@ gigedit64: SetOutPath "$INSTDIR\${SUBDIR_64_BIT}" File bin\64\gigedit.exe - File bin\64\libgigedit-2.dll + File bin\64\libgigedit-3.dll SetOutPath "$INSTDIR\${SUBDIR_64_BIT}\plugins" File bin\64\plugins\libgigeditlinuxsamplerplugin.dll SetOutPath "$INSTDIR\${SUBDIR_64_BIT}" @@ -419,7 +440,7 @@ gigedit686: SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" File bin\686\gigedit.exe - File bin\686\libgigedit-2.dll + File bin\686\libgigedit-3.dll SetOutPath "$INSTDIR\${SUBDIR_32_BIT}\plugins" File bin\686\plugins\libgigeditlinuxsamplerplugin.dll SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" @@ -434,7 +455,7 @@ File bin\686\libgdk-win32-2.0-0.dll File bin\686\libgio-2.0-0.dll File bin\686\libgiomm-2.4-1.dll - File bin\686\libglib-2.0-0.dll + ; File bin\686\libglib-2.0-0.dll File bin\686\libglibmm-2.4-1.dll File bin\686\libgmodule-2.0-0.dll File bin\686\libgobject-2.0-0.dll @@ -448,7 +469,7 @@ File bin\686\libpng12-0.dll File bin\686\libsigc-2.0-0.dll File bin\686\libtiff3.dll - File bin\686\zlib1.dll + ; File bin\686\zlib1.dll SetOutPath $INSTDIR\${SUBDIR_32_BIT}\etc\gtk-2.0 File bin\686\etc\gtk-2.0\gdk-pixbuf.loaders File bin\686\etc\gtk-2.0\gtkrc @@ -483,7 +504,7 @@ done: SectionEnd -Section "libgig 3.3.0" Seclibgig +Section "libgig ${LIBGIG_VERSION}" Seclibgig DetailPrint "Installing libgig binaries ..." ; We make this a mandatory component SectionIn RO @@ -496,36 +517,76 @@ libgig64: SetOutPath "$INSTDIR\${SUBDIR_64_BIT}" - File bin\64\libgig-6.dll + File bin\64\libgig-7.dll + File bin\64\libakai-0.dll File bin\64\rifftree.exe File bin\64\dlsdump.exe File bin\64\gigdump.exe File bin\64\gigextract.exe - ; special dependencies for the 64 bit version + File bin\64\gigmerge.exe + File bin\64\gig2mono.exe + File bin\64\gig2stereo.exe + File bin\64\korg2gig.exe + File bin\64\korgdump.exe + File bin\64\akaidump.exe + File bin\64\akaiextract.exe + File bin\64\sf2dump.exe + File bin\64\sf2extract.exe File bin\64\libgcc_s_sjlj-1.dll File bin\64\libstdc++-6.dll ; shall we install the 32 bit version as well? - StrCmp $installing32BitToo "1" libgig686sse done + StrCmp $installing32BitToo "1" libgig686sse + StrCmp $installingQSampler "1" libgigForQsampler done + + ; QSampler needs the 32 bit libgig dll + libgigForQsampler: + SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" + File bin\686sse\libgig-7.dll + Goto libgig32common libgig686sse: SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" - File bin\686sse\libgig-6.dll + File bin\686sse\libgig-7.dll + File bin\686sse\libakai-0.dll File bin\686sse\rifftree.exe File bin\686sse\dlsdump.exe File bin\686sse\gigdump.exe File bin\686sse\gigextract.exe - Goto done + File bin\686sse\gigmerge.exe + File bin\686sse\gig2mono.exe + File bin\686sse\gig2stereo.exe + File bin\686sse\korg2gig.exe + File bin\686sse\korgdump.exe + File bin\686sse\akaidump.exe + File bin\686sse\akaiextract.exe + File bin\686sse\sf2dump.exe + File bin\686sse\sf2extract.exe + Goto libgig32common libgig686: SetOutPath "$INSTDIR\${SUBDIR_32_BIT}" - File bin\686\libgig-6.dll + File bin\686\libgig-7.dll + File bin\686\libakai-0.dll File bin\686\rifftree.exe File bin\686\dlsdump.exe File bin\686\gigdump.exe File bin\686\gigextract.exe - Goto done + File bin\686\gigmerge.exe + File bin\686\gig2mono.exe + File bin\686\gig2stereo.exe + File bin\686\korg2gig.exe + File bin\686\korgdump.exe + File bin\686\akaidump.exe + File bin\686\akaiextract.exe + File bin\686\sf2dump.exe + File bin\686\sf2extract.exe + libgig32common: + File bin\686\libgcc_s_dw2-1.dll + File bin\686\libwinpthread-1.dll + File bin\686\libstdc++-6.dll + done: ; As this is a mandatory component, we misuse is for the following @@ -584,6 +645,7 @@ File bin\686\libogg-0.dll File bin\686\libvorbis-0.dll File bin\686\libvorbisenc-2.dll + File bin\686\libspeex-1.dll Goto done done: @@ -701,7 +763,7 @@ 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_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_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_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." 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_SecShortcuts ${LANG_ENGLISH} "Installs start menu shortcuts for all applications."