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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1900 by schoenebeck, Mon May 11 19:50:03 2009 UTC revision 2853 by persson, Fri Nov 20 17:34:28 2015 UTC
# Line 1  Line 1 
1  ; LinuxSampler Windows installer  ; LinuxSampler Windows installer
2  ;  ;
3  ; Copyright (C) 2007-2009, The LinuxSampler Developers  ; Copyright (C) 2007-2015, 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 RELEASE_DATE "20090511"  !define /date RELEASE_DATE "%Y%m%d"
29    !searchparse /file bin/686/linuxsampler.pc `Version: ` LINUXSAMPLER_VERSION
30    !searchparse /file bin/686/gig.pc `Version: ` LIBGIG_VERSION
31    !searchparse /file bin/686/gigedit.version `` GIGEDIT_VERSION
32    !define FANTASIA_VERSION "0.9"
33    !searchparse /file bin/686/qsampler.version `` QSAMPLER_VERSION
34    !searchparse /file bin/686/sndfile.pc `Version: ` SNDFILE_VERSION
35    
36  ; The name of the installer  ; The name of the installer
37  Name "LinuxSampler (${RELEASE_DATE})"  Name "LinuxSampler (${RELEASE_DATE})"
# Line 30  Name "LinuxSampler (${RELEASE_DATE})" Line 40  Name "LinuxSampler (${RELEASE_DATE})"
40  OutFile "linuxsampler_${RELEASE_DATE}_setup.exe"  OutFile "linuxsampler_${RELEASE_DATE}_setup.exe"
41    
42  ; Java Runtime Environment, needed for JSampler  ; Java Runtime Environment, needed for JSampler
43  !define JRE_VERSION "1.6"  ; jre-8u66-windows-i586.exe:
44  !define JRE_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=11292"  !define JRE_32_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=113217"
45    ; jre-8u66-windows-x64.exe:
46    !define JRE_64_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=113219"
47    
48  ; The default installation directory  ; The default installation directory
49  InstallDir $PROGRAMFILES\LinuxSampler  InstallDir "$PROGRAMFILES64\LinuxSampler"
50    !define SUBDIR_32_BIT "32"
51    !define SUBDIR_64_BIT "64"
52    
53    !define DEFAULT_VST_DIR64 "$PROGRAMFILES64\Steinberg\VstPlugins"
54    !define DEFAULT_VST_DIR "$PROGRAMFILES\Steinberg\VstPlugins"
55    
56  ; Get installation folder from registry if available  ; Get installation folder from registry if available
57  InstallDirRegKey HKCU "Software\LinuxSampler" ""  InstallDirRegKey HKLM "Software\LinuxSampler" "Main Directory"
58    
59  ;--------------------------------  ;--------------------------------
60  ;Interface Settings  ;Interface Settings
# Line 46  InstallDirRegKey HKCU "Software\LinuxSam Line 63  InstallDirRegKey HKCU "Software\LinuxSam
63  !define MUI_HEADERIMAGE_BITMAP "linuxsampler.bmp"  !define MUI_HEADERIMAGE_BITMAP "linuxsampler.bmp"
64  !define MUI_ABORTWARNING  !define MUI_ABORTWARNING
65    
 ;--------------------------------  
 ;Version Information  
   
 VIProductVersion "0.0.0.0"  
 VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "all-in-one installer"  
 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-2009 The LinuxSampler Project"  
 VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "LinuxSampler Installer (${RELEASE_DATE})"  
 VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "0.0.0"  
   
66  !define BIN_TYPE_64BIT  "64 bit"  !define BIN_TYPE_64BIT  "64 bit"
67  !define BIN_TYPE_686SSE "686 SSE"  !define BIN_TYPE_686SSE "686 SSE"
68  !define BIN_TYPE_686    "686"  !define BIN_TYPE_686    "686"
69    
70    Var /GLOBAL binType
71    
72  ;--------------------------------  ;--------------------------------
73  ; Pages  ; Pages
74    
# Line 78  VIAddVersionKey /LANG=${LANG_ENGLISH} "F Line 85  VIAddVersionKey /LANG=${LANG_ENGLISH} "F
85  !insertmacro MUI_LANGUAGE "English"  !insertmacro MUI_LANGUAGE "English"
86    
87  ;--------------------------------  ;--------------------------------
88    ;Version Information
89    
90    VIProductVersion "0.0.0.0"
91    VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "all-in-one installer"
92    VIAddVersionKey /LANG=${LANG_ENGLISH} "Comments" "http://linuxsampler.org"
93    VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "The LinuxSampler Project"
94    VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" ""
95    VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "© 2003-2015 The LinuxSampler Project"
96    VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "LinuxSampler Installer (${RELEASE_DATE})"
97    VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "0.0.0"
98    
99    ;--------------------------------
100    
101  Function .onInit  Function .onInit
102    Var /GLOBAL installingLinuxSampler    Var /GLOBAL installingLinuxSampler
103    Var /GLOBAL installingJSampler    Var /GLOBAL installingJSampler
104    Var /GLOBAL installingQSampler    Var /GLOBAL installingQSampler
105    Var /GLOBAL installinggigedit    Var /GLOBAL installinggigedit
106      Var /GLOBAL installing32BitToo
107    StrCpy $installingLinuxSampler "0"    StrCpy $installingLinuxSampler "0"
108    StrCpy $installingJSampler "0"    StrCpy $installingJSampler "0"
109    StrCpy $installingQSampler "0"    StrCpy $installingQSampler "0"
110    StrCpy $installinggigedit "0"    StrCpy $installinggigedit "0"
111      StrCpy $installing32BitToo "0"
112  FunctionEnd  FunctionEnd
113    
114  ; detects CPU capabilities and determmines which native binary type to install  !macro CreateInternetShortcut FILENAME URL ICONFILE ICONINDEX
115  Function DetectSystemType  WriteINIStr "${FILENAME}.url" "InternetShortcut" "URL" "${URL}"
116    Var /GLOBAL binType  WriteINIStr "${FILENAME}.url" "InternetShortcut" "IconFile" "${ICONFILE}"
117    WriteINIStr "${FILENAME}.url" "InternetShortcut" "IconIndex" "${ICONINDEX}"
118    !macroend
119    
120    ; detects CPU capabilities, determines which native binary type to install
121    ; and selects the appropriate windows registry view (32 bit or 64 bit)
122    !macro DetectSystemType un
123    Function ${un}DetectSystemType
124    ; check if this is a 64 bit windows    ; check if this is a 64 bit windows
125    System::Call "kernel32::GetCurrentProcess() i .s"    System::Call "kernel32::GetCurrentProcess() i .s"
126    System::Call "kernel32::IsWow64Process(i s, *i .r0)"    System::Call "kernel32::IsWow64Process(i s, *i .r0)"
127    IntCmp $0 0 not64bit    IntCmp $0 0 not64bit
128    StrCpy $binType BIN_TYPE_64BIT    StrCpy $binType BIN_TYPE_64BIT
129    DetailPrint "64 bit Windows detected."    DetailPrint "64 bit Windows detected."
130      SetRegView 64
131    Goto DetectSystemDone    Goto DetectSystemDone
132    
133    not64bit: ; a 32 bit system    not64bit: ; a 32 bit system
134    
135      SetRegView 32
136    
137    ; check if CPU supports SSE    ; check if CPU supports SSE
138    cpudesc::tell    cpudesc::tell
139    Pop $0                     ; full identification string in $0    Pop $0                     ; full identification string in $0
# Line 118  Function DetectSystemType Line 148  Function DetectSystemType
148    
149    DetectSystemDone:    DetectSystemDone:
150  FunctionEnd  FunctionEnd
151    !macroend
152  ; Check for the presence of gtkmm, and if false, ask the user whether to  !insertmacro DetectSystemType ""
153  ; download and install gtkmm now from the internet.  !insertmacro DetectSystemType "un."
 Function CheckForGtkmm  
   Var /GLOBAL gtkmmSetupFile  
   
   ClearErrors  
   ; This is just a lazy check for the presence of gtkmm, we should better use:  
   ; System::Call function (NSI internal function) to actually call an arbitrary  
   ; gtkmm function (/method) from a gtkmm DLL to make it certain  
   ReadRegStr $0 HKCU "Software\gtkmm\2.4" "Installer Language"  
   IfErrors +2 0  
   goto NoAbort  
   MessageBox MB_YESNO "gtkmm not found. Install it now (internet connection needed)?" IDYES InstallGtkmm  
     MessageBox MB_YESNO "gigedit won't work without gtkmm. Continue anyway?" IDYES NoAbort  
       Abort ;  causes installer to quit  
   InstallGtkmm:  
     ClearErrors  
         StrCpy $gtkmmSetupFile $TEMP\gtkmm-win32-runtime-2.10.11-1.exe  
     NSISdl::download "http://ftp.gnome.org/pub/gnome/binaries/win32/gtkmm/2.10/gtkmm-win32-runtime-2.10.11-1.exe" $gtkmmSetupFile  
     IfErrors 0 +2  
         Goto InstallGtkmmFailed  
         ExecWait $gtkmmSetupFile  
     Delete $gtkmmSetupFile ; we don't need it anymore  
         IfErrors 0 +2  
         Goto InstallGtkmmFailed  
         Goto NoAbort  
   InstallGtkmmFailed:  
         MessageBox MB_YESNO "Could not download gtkmm. gigedit won't work without gtkmm. Continue anyway?" IDYES NoAbort  
       Abort ;  causes installer to quit  
   NoAbort:  
 FunctionEnd  
154    
155  ; Downloads and launches the JRE installer from the internet  ; Downloads and launches the JRE installer from the internet
156  Function GetJRE  Function GetJRE
157          MessageBox MB_OK "JSampler requires Java ${JRE_VERSION}, it will now \    Var /GLOBAL jreUri
                          be downloaded and installed"  
158    
159          StrCpy $2 "$TEMP\Java Runtime Environment.exe"    StrCmp $binType BIN_TYPE_64BIT 0 +3
160          nsisdl::download /TIMEOUT=30000 ${JRE_URL} $2    StrCpy $jreUri ${JRE_64_URL}
161          Pop $R0 ;Get the return value    Goto +2
162                  StrCmp $R0 "success" +3    StrCpy $jreUri ${JRE_32_URL}
163                  MessageBox MB_OK "Download failed: $R0"  
164                  Quit    DetailPrint "Downloading JRE from: $jreUri"
165          ExecWait $2  
166          Delete $2    MessageBox MB_OK "JSampler requires Java ${JRE_VERSION} or later, \
167                        it will now be downloaded and installed"
168    
169      StrCpy $2 "$TEMP\Java Runtime Environment.exe"
170      nsisdl::download /TIMEOUT=30000 "$jreUri" $2
171      Pop $R0  ; Get the return value
172      StrCmp $R0 "success" +3
173      MessageBox MB_OK "Download failed: $R0"
174      Quit
175      ExecWait $2
176      Delete $2
177  FunctionEnd  FunctionEnd
178    
179  ; Checks if the JRE is already installed, if not it will download and install it from the internet  ; Checks if the JRE is already installed, if not it will download and install it from the internet
180  Function DetectJRE  Function DetectJRE
181    ReadRegStr $2 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" \    ReadRegStr $2 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" \
182               "CurrentVersion"               "CurrentVersion"
183    StrCmp $2 ${JRE_VERSION} done    ${VersionCompare} $2 ${JRE_VERSION} $R0
184      IntCmp $R0 1 done done
185    
186      StrCmp $binType BIN_TYPE_64BIT 0 downloadjre
187    
188      ; on 64 bit systems also check the 32 bit view of the registry, maybe
189      ; a 32 bit JRE was already installed
190      SetRegView 32
191      ReadRegStr $3 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" \
192                 "CurrentVersion"
193      SetRegView 64  ; restore 64 bit view
194      ${VersionCompare} $3 ${JRE_VERSION} $R0
195      IntCmp $R0 1 done done
196    
197      downloadjre:
198    Call GetJRE    Call GetJRE
199    
200    done:    done:
# Line 180  FunctionEnd Line 203  FunctionEnd
203  ; Tries to find the location where VST plugins should be installed to  ; Tries to find the location where VST plugins should be installed to
204  Function DetectVstPath  Function DetectVstPath
205    Var /GLOBAL vstPluginPath    Var /GLOBAL vstPluginPath
206      Var /GLOBAL vstPluginPath64
207    
208      StrCmp $binType BIN_TYPE_64BIT 0 detectVst32
209      SetRegView 64 ; make sure we have the 64 bit registry view
210    
211      ; ------- VST 64 bit detection -------
212    
213      ClearErrors
214      ReadRegStr $0 HKCU "Software\VST" "VSTPluginsPath"
215      IfErrors check2ndRegistryKey64 0
216      StrCpy $vstPluginPath64 $0
217      DetailPrint "Found VST plugin (64 bit) directory in HKCU registry."
218      Goto done64
219    
220      check2ndRegistryKey64:
221      ClearErrors
222      ReadRegStr $0 HKLM "Software\VST" "VSTPluginsPath"
223      IfErrors noRegistryKeyExists64 0
224      StrCpy $vstPluginPath64 $0
225      DetailPrint "Found VST plugin (64 bit) directory in HKLM registry."
226      Goto done64
227    
228      noRegistryKeyExists64:
229      ClearErrors
230      DetailPrint "No VST plugin directory (64 bit) defined in registry."
231      StrCpy $vstPluginPath64 "${DEFAULT_VST_DIR64}"
232    
233      done64:
234      SetRegView 32 ; make sure we have a 32 bit registry view
235    
236      detectVst32: ; it follows the same thing for the 32 bit registry view
237    
238      ; ------- VST 32 bit detection -------
239    
240    ClearErrors    ClearErrors
241    ReadRegStr $0 HKCU "Software\VST" "VSTPluginsPath"    ReadRegStr $0 HKCU "Software\VST" "VSTPluginsPath"
242    IfErrors check2ndRegistryKey 0    IfErrors check2ndRegistryKey 0
243    StrCpy $vstPluginPath $0    StrCpy $vstPluginPath $0
244    DetailPrint "Found VST plugin directory in HKCU registry."    DetailPrint "Found VST plugin (32 bit) directory in HKCU registry."
245    Goto done    Goto done
246    
247    check2ndRegistryKey:    check2ndRegistryKey:
# Line 193  Function DetectVstPath Line 249  Function DetectVstPath
249    ReadRegStr $0 HKLM "Software\VST" "VSTPluginsPath"    ReadRegStr $0 HKLM "Software\VST" "VSTPluginsPath"
250    IfErrors noRegistryKeyExists 0    IfErrors noRegistryKeyExists 0
251    StrCpy $vstPluginPath $0    StrCpy $vstPluginPath $0
252    DetailPrint "Found VST plugin directory in HKLM registry."    DetailPrint "Found VST plugin (32 bit) directory in HKLM registry."
253    Goto done    Goto done
254    
255    noRegistryKeyExists:    noRegistryKeyExists:
256    ClearErrors    ClearErrors
257    DetailPrint "No VST plugin directory defined in registry."    DetailPrint "No VST plugin directory (32 bit) defined in registry."
258    StrCpy $vstPluginPath "$PROGRAMFILES\Steinberg\VstPlugins"    StrCpy $vstPluginPath "${DEFAULT_VST_DIR}"
259    
260    done:    done: ; ------- summary of detection -------
261    DetailPrint "Using the following as VST plugin directory: $vstPluginPath"  
262      StrCmp $binType BIN_TYPE_64BIT 0 summaryVst32
263      SetRegView 64  ; restore 64 bit view
264      DetailPrint "Using the following as VST (64 bit) plugin directory: $vstPluginPath64"
265      summaryVst32:
266      DetailPrint "Using the following as VST (32 bit) plugin directory: $vstPluginPath"
267  FunctionEnd  FunctionEnd
268    
269  ;--------------------------------  ;--------------------------------
270    
271  ; primer things to do  ; primer things to do (before installing, not called on uninstall)
272  Section ""  Section ""
273    Call DetectSystemType    Call DetectSystemType
274    Call DetectVstPath    Call DetectVstPath
# Line 216  SectionEnd Line 277  SectionEnd
277  ;--------------------------------  ;--------------------------------
278    
279  ; The stuff to install  ; The stuff to install
280  Section "LinuxSampler 0.5.1.12cvs" SecLinuxSampler  Section "LinuxSampler ${LINUXSAMPLER_VERSION}" SecLinuxSampler
281    DetailPrint "Installing LinuxSampler binaries ..."    DetailPrint "Installing LinuxSampler binaries ..."
282    StrCpy $installingLinuxSampler "1"    StrCpy $installingLinuxSampler "1"
283    
   ; Set output path to the installation directory.  
   SetOutPath $INSTDIR  
   
284    StrCmp $binType BIN_TYPE_64BIT linuxsampler64    StrCmp $binType BIN_TYPE_64BIT linuxsampler64
285    StrCmp $binType BIN_TYPE_686SSE linuxsampler686sse    StrCmp $binType BIN_TYPE_686SSE linuxsampler686sse
286    Goto linuxsampler686    Goto linuxsampler686
# Line 230  Section "LinuxSampler 0.5.1.12cvs" SecLi Line 288  Section "LinuxSampler 0.5.1.12cvs" SecLi
288    ; Files to install    ; Files to install
289    
290    linuxsampler64:    linuxsampler64:
291      SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
292    File bin\64\linuxsampler.exe    File bin\64\linuxsampler.exe
293    File bin\64\liblinuxsampler-1.dll    File bin\64\liblinuxsampler-4.dll
294    SetOutPath $vstPluginPath    File bin\64\libsqlite3-0.dll
295    File bin\64\LinuxSampler.dll    SetOutPath $vstPluginPath64
296    Goto done    File /oname=LinuxSampler64.dll bin\64\LinuxSampler.dll
297      MessageBox MB_YESNO \
298        "It seems you are using a 64 bit Windows system. A native 64 bit version of LinuxSampler and its VST plugin version will be installed accordingly.$\r$\n$\r$\nShall a 32 bit version of the LinuxSampler VST be installed as well?" \
299        IDNO done
300    
301      ; so the other sections install their 32 bit versions as well
302      StrCpy $installing32BitToo "1"
303    
304    linuxsampler686sse:    linuxsampler686sse:
305      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
306    File bin\686sse\linuxsampler.exe    File bin\686sse\linuxsampler.exe
307    File bin\686sse\liblinuxsampler-1.dll    File bin\686sse\liblinuxsampler-4.dll
308      File bin\686\libsqlite3-0.dll
309    SetOutPath $vstPluginPath    SetOutPath $vstPluginPath
310    File bin\686sse\LinuxSampler.dll    File /oname=LinuxSampler32.dll bin\686sse\LinuxSampler.dll
311    Goto done    Goto done
312    
313    linuxsampler686:    linuxsampler686:
314      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
315    File bin\686\linuxsampler.exe    File bin\686\linuxsampler.exe
316    File bin\686\liblinuxsampler-1.dll    File bin\686\liblinuxsampler-4.dll
317      File bin\686\libsqlite3-0.dll
318    SetOutPath $vstPluginPath    SetOutPath $vstPluginPath
319    File bin\686\LinuxSampler.dll    File /oname=LinuxSampler32.dll bin\686\LinuxSampler.dll
320    Goto done    Goto done
321    
322    done:    done:
323  SectionEnd  SectionEnd
324    
325  Section "JSampler 'Fantasia' 0.8a-cvs6" SecJSampler  Section "JSampler 'Fantasia' ${FANTASIA_VERSION}" SecJSampler
326    DetailPrint "Installing JSampler binaries ..."    DetailPrint "Installing JSampler binaries ..."
327    ; make sure JRE is installed    ; make sure JRE is installed
328    Call DetectJRE    Call DetectJRE
# Line 261  Section "JSampler 'Fantasia' 0.8a-cvs6" Line 330  Section "JSampler 'Fantasia' 0.8a-cvs6"
330    ; Set output path to the installation directory.    ; Set output path to the installation directory.
331    SetOutPath $INSTDIR    SetOutPath $INSTDIR
332    ; Files to install    ; Files to install
333    File bin\Fantasia-0.8a-cvs6.jar    File bin\Fantasia-0.9.jar
334    File jsampler.ico    File jsampler.ico
335  SectionEnd  SectionEnd
336    
337  Section "QSampler 0.2.1.26" SecQSampler  Section "QSampler ${QSAMPLER_VERSION}" SecQSampler
338    DetailPrint "Installing QSampler binaries ..."    DetailPrint "Installing QSampler binaries ..."
339    StrCpy $installingQSampler "1"    StrCpy $installingQSampler "1"
340    ; Set output path to the installation directory.    ; Set output path to the installation directory.
341    SetOutPath $INSTDIR    SetOutPath $INSTDIR
342    ; Files to install    ; Files to install
343    File bin\686\qsampler.exe    File bin\686\qsampler.exe
344      File bin\686\liblscp-6.dll
345    File bin\686\QtCore4.dll    File bin\686\QtCore4.dll
346    File bin\686\QtGui4.dll    File bin\686\QtGui4.dll
347    File bin\686\mingwm10.dll    File bin\686\mingwm10.dll
348      File bin\686\libgcc_s_dw2-1.dll
349    File qsampler.ico    File qsampler.ico
350    SetOutPath $INSTDIR\share\locale    SetOutPath $INSTDIR\share\locale
351    File bin\686\share\locale\qsampler_ru.qm    File bin\686\share\locale\qsampler_ru.qm
352      File bin\686\share\locale\qsampler_cs.qm
353      File bin\686\share\locale\qt_ru.qm
354      File bin\686\share\locale\qt_cs.qm
355  SectionEnd  SectionEnd
356    
357  Section "gigedit 0.1.1.x (cvs2009-05-10)" Secgigedit  Section "gigedit ${GIGEDIT_VERSION}" Secgigedit
358    DetailPrint "Installing gigedit binaries ..."    DetailPrint "Installing gigedit binaries ..."
359    StrCpy $installinggigedit "1"    StrCpy $installinggigedit "1"
360    
# Line 289  Section "gigedit 0.1.1.x (cvs2009-05-10) Line 363  Section "gigedit 0.1.1.x (cvs2009-05-10)
363    ; installer, so no check and no download necessary ATM)    ; installer, so no check and no download necessary ATM)
364    ;Call CheckForGtkmm    ;Call CheckForGtkmm
365    
   ; Set output path to the installation directory.  
   SetOutPath $INSTDIR  
   
366    StrCmp $binType BIN_TYPE_64BIT gigedit64    StrCmp $binType BIN_TYPE_64BIT gigedit64
367    ; 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    ; 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
368    ;StrCmp $binType BIN_TYPE_686SSE gigedit686sse    ;StrCmp $binType BIN_TYPE_686SSE gigedit686sse
# Line 300  Section "gigedit 0.1.1.x (cvs2009-05-10) Line 371  Section "gigedit 0.1.1.x (cvs2009-05-10)
371    ; Files to install    ; Files to install
372    
373    gigedit64:    gigedit64:
374      SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
375    File bin\64\gigedit.exe    File bin\64\gigedit.exe
376    File bin\64\libgigedit-1.dll    File bin\64\libgigedit-3.dll
377    SetOutPath "$INSTDIR\plugins"    SetOutPath "$INSTDIR\${SUBDIR_64_BIT}\plugins"
378    File bin\64\plugins\libgigeditlinuxsamplerplugin-1.dll    File bin\64\plugins\libgigeditlinuxsamplerplugin.dll
379    SetOutPath $INSTDIR    SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
380    File bin\64\libatk-1.0-0.dll    File bin\64\libatk-1.0-0.dll
381    File bin\64\libatkmm-1.6-1.dll    File bin\64\libatkmm-1.6-1.dll
382    File bin\64\libcairo-2.dll    File bin\64\libcairo-2.dll
383    File bin\64\libcairomm-1.0-1.dll    File bin\64\libcairomm-1.0-1.dll
384      File bin\64\libexpat-1.dll
385      File bin\64\libfontconfig-1.dll
386      File bin\64\libfreetype-6.dll
387    File bin\64\libgdkmm-2.4-1.dll    File bin\64\libgdkmm-2.4-1.dll
388    File bin\64\libgdk_pixbuf-2.0-0.dll    File bin\64\libgdk_pixbuf-2.0-0.dll
389    File bin\64\libgdk-win32-2.0-0.dll    File bin\64\libgdk-win32-2.0-0.dll
# Line 322  Section "gigedit 0.1.1.x (cvs2009-05-10) Line 397  Section "gigedit 0.1.1.x (cvs2009-05-10)
397    File bin\64\libgtkmm-2.4-1.dll    File bin\64\libgtkmm-2.4-1.dll
398    File bin\64\libgtk-win32-2.0-0.dll    File bin\64\libgtk-win32-2.0-0.dll
399    File bin\64\libintl-8.dll    File bin\64\libintl-8.dll
   File bin\64\libjpeg-62.dll  
400    File bin\64\libpango-1.0-0.dll    File bin\64\libpango-1.0-0.dll
401    File bin\64\libpangocairo-1.0-0.dll    File bin\64\libpangocairo-1.0-0.dll
402      File bin\64\libpangoft2-1.0-0.dll
403    File bin\64\libpangomm-1.4-1.dll    File bin\64\libpangomm-1.4-1.dll
404    File bin\64\libpangowin32-1.0-0.dll    File bin\64\libpangowin32-1.0-0.dll
405    File bin\64\libpng12-0.dll    File bin\64\libpng14-14.dll
406    File bin\64\libsigc-2.0-0.dll    File bin\64\libsigc-2.0-0.dll
   File bin\64\libtiff.dll  
407    File bin\64\zlib1.dll    File bin\64\zlib1.dll
408    SetOutPath $INSTDIR\etc\gtk-2.0    SetOutPath $INSTDIR\${SUBDIR_64_BIT}\etc\gtk-2.0
409    File bin\64\etc\gtk-2.0\gtkrc    File bin\64\etc\gtk-2.0\gtkrc
410    SetOutPath $INSTDIR\lib\gtk-2.0\2.10.0\engines    SetOutPath $INSTDIR\${SUBDIR_64_BIT}\lib\gtk-2.0\2.10.0\engines
411    File bin\64\lib\gtk-2.0\2.10.0\engines\libwimp.dll    File bin\64\lib\gtk-2.0\2.10.0\engines\libwimp.dll
412    SetOutPath $INSTDIR\share\locale\de\LC_MESSAGES    SetOutPath $INSTDIR\${SUBDIR_64_BIT}\share\locale\de\LC_MESSAGES
413    File bin\64\share\locale\de\LC_MESSAGES\gigedit.mo    File bin\64\share\locale\de\LC_MESSAGES\gigedit.mo
414    File bin\64\share\locale\de\LC_MESSAGES\gtk20.mo    File bin\64\share\locale\de\LC_MESSAGES\gtk20.mo
415    SetOutPath $INSTDIR\share\locale\sv\LC_MESSAGES    SetOutPath $INSTDIR\${SUBDIR_64_BIT}\share\locale\sv\LC_MESSAGES
416    File bin\64\share\locale\sv\LC_MESSAGES\gigedit.mo    File bin\64\share\locale\sv\LC_MESSAGES\gigedit.mo
417    File bin\64\share\locale\sv\LC_MESSAGES\gtk20.mo    File bin\64\share\locale\sv\LC_MESSAGES\gtk20.mo
418    SetOutPath $INSTDIR\share\themes\MS-Windows\gtk-2.0    SetOutPath $INSTDIR\${SUBDIR_64_BIT}\share\themes\MS-Windows\gtk-2.0
419    File bin\64\share\themes\MS-Windows\gtk-2.0\gtkrc    File bin\64\share\themes\MS-Windows\gtk-2.0\gtkrc
420    Goto done  
421      ; shall we install the 32 bit version as well?
422      StrCmp $installing32BitToo "1" gigedit686 done
423    
424    gigedit686:    gigedit686:
425      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
426    File bin\686\gigedit.exe    File bin\686\gigedit.exe
427    File bin\686\libgigedit-1.dll    File bin\686\libgigedit-3.dll
428    SetOutPath "$INSTDIR\plugins"    SetOutPath "$INSTDIR\${SUBDIR_32_BIT}\plugins"
429    File bin\686\plugins\libgigeditlinuxsamplerplugin-1.dll    File bin\686\plugins\libgigeditlinuxsamplerplugin.dll
430    SetOutPath $INSTDIR    SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
431    File bin\686\intl.dll    File bin\686\intl.dll
432    File bin\686\jpeg62.dll    File bin\686\jpeg62.dll
433    File bin\686\libatk-1.0-0.dll    File bin\686\libatk-1.0-0.dll
# Line 377  Section "gigedit 0.1.1.x (cvs2009-05-10) Line 454  Section "gigedit 0.1.1.x (cvs2009-05-10)
454    File bin\686\libsigc-2.0-0.dll    File bin\686\libsigc-2.0-0.dll
455    File bin\686\libtiff3.dll    File bin\686\libtiff3.dll
456    File bin\686\zlib1.dll    File bin\686\zlib1.dll
457    SetOutPath $INSTDIR\etc\gtk-2.0    SetOutPath $INSTDIR\${SUBDIR_32_BIT}\etc\gtk-2.0
458    File bin\686\etc\gtk-2.0\gdk-pixbuf.loaders    File bin\686\etc\gtk-2.0\gdk-pixbuf.loaders
459    File bin\686\etc\gtk-2.0\gtkrc    File bin\686\etc\gtk-2.0\gtkrc
460    SetOutPath $INSTDIR\lib\gtk-2.0\2.10.0\engines    SetOutPath $INSTDIR\${SUBDIR_32_BIT}\lib\gtk-2.0\2.10.0\engines
461    File bin\686\lib\gtk-2.0\2.10.0\engines\libwimp.dll    File bin\686\lib\gtk-2.0\2.10.0\engines\libwimp.dll
462    SetOutPath $INSTDIR\lib\gtk-2.0\2.10.0\loaders    SetOutPath $INSTDIR\${SUBDIR_32_BIT}\lib\gtk-2.0\2.10.0\loaders
463    File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-ani.dll    File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-ani.dll
464    File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-bmp.dll    File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-bmp.dll
465    File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-gif.dll    File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-gif.dll
# Line 398  Section "gigedit 0.1.1.x (cvs2009-05-10) Line 475  Section "gigedit 0.1.1.x (cvs2009-05-10)
475    File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-wbmp.dll    File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-wbmp.dll
476    File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-xbm.dll    File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-xbm.dll
477    File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-xpm.dll    File bin\686\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-xpm.dll
478    SetOutPath $INSTDIR\share\locale\de\LC_MESSAGES    SetOutPath $INSTDIR\${SUBDIR_32_BIT}\share\locale\de\LC_MESSAGES
479    File bin\686\share\locale\de\LC_MESSAGES\gigedit.mo    File bin\686\share\locale\de\LC_MESSAGES\gigedit.mo
480    File bin\686\share\locale\de\LC_MESSAGES\gtk20.mo    File bin\686\share\locale\de\LC_MESSAGES\gtk20.mo
481    SetOutPath $INSTDIR\share\locale\sv\LC_MESSAGES    SetOutPath $INSTDIR\${SUBDIR_32_BIT}\share\locale\sv\LC_MESSAGES
482    File bin\686\share\locale\sv\LC_MESSAGES\gigedit.mo    File bin\686\share\locale\sv\LC_MESSAGES\gigedit.mo
483    File bin\686\share\locale\sv\LC_MESSAGES\gtk20.mo    File bin\686\share\locale\sv\LC_MESSAGES\gtk20.mo
484    SetOutPath $INSTDIR\share\themes\MS-Windows\gtk-2.0    SetOutPath $INSTDIR\${SUBDIR_32_BIT}\share\themes\MS-Windows\gtk-2.0
485    File bin\686\share\themes\MS-Windows\gtk-2.0\gtkrc    File bin\686\share\themes\MS-Windows\gtk-2.0\gtkrc
486    Goto done    Goto done
487    
488    done:    done:
489  SectionEnd  SectionEnd
490    
491  Section "libgig 3.2.1.x (cvs2009-05-03)" Seclibgig  Section "libgig ${LIBGIG_VERSION}" Seclibgig
492    DetailPrint "Installing libgig binaries ..."    DetailPrint "Installing libgig binaries ..."
493    ; We make this a mandatory component    ; We make this a mandatory component
494    SectionIn RO    SectionIn RO
   ; Set output path to the installation directory.  
   SetOutPath $INSTDIR  
495    
496    StrCmp $binType BIN_TYPE_64BIT libgig64    StrCmp $binType BIN_TYPE_64BIT libgig64
497    StrCmp $binType BIN_TYPE_686SSE libgig686sse    StrCmp $binType BIN_TYPE_686SSE libgig686sse
# Line 425  Section "libgig 3.2.1.x (cvs2009-05-03)" Line 500  Section "libgig 3.2.1.x (cvs2009-05-03)"
500    ; Files to install    ; Files to install
501    
502    libgig64:    libgig64:
503    File bin\64\libgig-6.dll    SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
504      File bin\64\libgig-7.dll
505      File bin\64\libakai-0.dll
506    File bin\64\rifftree.exe    File bin\64\rifftree.exe
507    File bin\64\dlsdump.exe    File bin\64\dlsdump.exe
508    File bin\64\gigdump.exe    File bin\64\gigdump.exe
509    File bin\64\gigextract.exe    File bin\64\gigextract.exe
510    ; special dependency for the 64 bit version    File bin\64\gigmerge.exe
511      File bin\64\gig2mono.exe
512      File bin\64\gig2stereo.exe
513      File bin\64\korg2gig.exe
514      File bin\64\korgdump.exe
515      File bin\64\akaidump.exe
516      File bin\64\akaiextract.exe
517      File bin\64\sf2dump.exe
518      File bin\64\sf2extract.exe
519      ; special dependencies for the 64 bit version
520    File bin\64\libgcc_s_sjlj-1.dll    File bin\64\libgcc_s_sjlj-1.dll
521      File bin\64\libstdc++-6.dll
522    
523      ; shall we install the 32 bit version as well?
524      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 done    Goto done
532    
533    libgig686sse:    libgig686sse:
534    File bin\686sse\libgig-6.dll    SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
535      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      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 done    Goto done
551    
552    libgig686:    libgig686:
553    File bin\686\libgig-6.dll    SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
554      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      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    Goto done    Goto done
570    
571    done:    done:
572    
573    ; As this is a mandatory component, we add the common binary directory    ; As this is a mandatory component, we misuse is for the following
574    ; of LinuxSampler and friends to the system's PATH variable here ...    ; common tasks as well ...
575    
576      ; Add LinuxSampler and friends to the system's PATH variable
577    ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR"    ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR"
578      ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR\${SUBDIR_64_BIT}"
579      ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR\${SUBDIR_32_BIT}"
580    
   ; As this is a mandatory component, we misuse it to install the uninstaller as well ...  
581    ; Write the uninstall keys for Windows    ; Write the uninstall keys for Windows
582    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "DisplayName" "LinuxSampler ${RELEASE_DATE}"    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "DisplayName" "LinuxSampler ${RELEASE_DATE}"
583    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "UninstallString" '"$INSTDIR\uninstall.exe"'    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "UninstallString" '"$INSTDIR\uninstall.exe"'
584    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "NoModify" 1    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "NoModify" 1
585    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "NoRepair" 1    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "NoRepair" 1
586    WriteUninstaller "uninstall.exe"    WriteUninstaller "uninstall.exe"
587    ;Store installation folder  
588    WriteRegStr HKCU "Software\LinuxSampler" "" $INSTDIR    ; Store installation folders
589      WriteRegStr HKLM "Software\LinuxSampler" "Main Directory" $INSTDIR
590      StrCmp $binType BIN_TYPE_64BIT 0 +3
591      WriteRegStr HKLM "Software\LinuxSampler" "VST 64 Directory" $vstPluginPath64
592      StrCmp $installing32BitToo "1" 0 +2
593      WriteRegStr HKLM "Software\LinuxSampler" "VST 32 Directory" $vstPluginPath
594    
595      ; Just for info, store the release date as well
596      WriteRegStr HKLM "Software\LinuxSampler" "Release Date" ${RELEASE_DATE}
597  SectionEnd  SectionEnd
598    
599  Section "libsndfile 1.0.19" Seclibsndfile  Section "libsndfile ${SNDFILE_VERSION}" Seclibsndfile
600    DetailPrint "Installing libsndfile binaries ..."    DetailPrint "Installing libsndfile binaries ..."
601    ; We make this a mandatory component    ; We make this a mandatory component
602    SectionIn RO    SectionIn RO
   ; Set output path to the installation directory.  
   SetOutPath $INSTDIR  
603    
604    StrCmp $binType BIN_TYPE_64BIT libsndfile64    StrCmp $binType BIN_TYPE_64BIT libsndfile64
605    ; 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    ; 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
# Line 482  Section "libsndfile 1.0.19" Seclibsndfil Line 609  Section "libsndfile 1.0.19" Seclibsndfil
609    ; Files to install    ; Files to install
610    
611    libsndfile64:    libsndfile64:
612      SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
613    File bin\64\libsndfile-1.dll    File bin\64\libsndfile-1.dll
614    Goto done    File bin\64\libFLAC-8.dll
615      File bin\64\libogg-0.dll
616      File bin\64\libvorbis-0.dll
617      File bin\64\libvorbisenc-2.dll
618    
619      ; shall we install the 32 bit version as well?
620      StrCmp $installing32BitToo "1" libsndfile686 done
621    
622    libsndfile686:    libsndfile686:
623      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
624    File bin\686\libsndfile-1.dll    File bin\686\libsndfile-1.dll
625      File bin\686\libFLAC-8.dll
626      File bin\686\libogg-0.dll
627      File bin\686\libvorbis-0.dll
628      File bin\686\libvorbisenc-2.dll
629    Goto done    Goto done
630    
631    done:    done:
632  SectionEnd  SectionEnd
633    
634  Section "Start Menu Shortcuts" SecShortcuts  Section "Start Menu Shortcuts" SecShortcuts
635      Var /GLOBAL javawbin
636      Var /GLOBAL samplerDir
637    
638      StrCmp $binType BIN_TYPE_64BIT 0 +3
639      StrCpy $samplerDir "$INSTDIR\${SUBDIR_64_BIT}"
640      Goto +2
641      StrCpy $samplerDir "$INSTDIR\${SUBDIR_32_BIT}"
642    
643      ; Switch system variables to 'all users', to ensure we create the start
644      ; menu shortcuts for all users and not just for the current user.
645      SetShellVarContext all
646    
647      ; try to resolve the full qualified path of the javaw binary
648      ClearErrors
649      SearchPath $javawbin javaw.exe
650      IfErrors 0 javawDetected
651      ClearErrors
652      ; if all fails, simply use SYSDIR (which should work almost always anyway)
653      DetailPrint "WRN: Could not resolve javaw.exe path, using SYSDIR."
654      StrCpy $javawbin "$SYSDIR\javaw.exe"
655      javawDetected:
656    
657    CreateDirectory "$SMPROGRAMS\LinuxSampler"    CreateDirectory "$SMPROGRAMS\LinuxSampler"
658    
659      SetOutPath $INSTDIR
660    CreateShortCut "$SMPROGRAMS\LinuxSampler\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0    CreateShortCut "$SMPROGRAMS\LinuxSampler\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
661    
662    StrCmp $installingLinuxSampler '1' 0 +2    StrCmp $installingLinuxSampler '1' 0 +3
663    CreateShortCut "$SMPROGRAMS\LinuxSampler\LinuxSampler 0.5.1 (stand alone backend).lnk" "$INSTDIR\linuxsampler.exe" "" "$INSTDIR\linuxsampler.exe" 0    SetOutPath $samplerDir
664      CreateShortCut "$SMPROGRAMS\LinuxSampler\LinuxSampler ${LINUXSAMPLER_VERSION} (stand alone backend).lnk" "$samplerDir\linuxsampler.exe" "" "$samplerDir\linuxsampler.exe" 0
665    
666    StrCmp $installingJSampler '1' 0 +2    StrCmp $installingJSampler '1' 0 +3
667    CreateShortCut '$SMPROGRAMS\LinuxSampler\JSampler Fantasia 0.8a (frontend).lnk' 'javaw' '-jar "$INSTDIR\Fantasia-0.8a.jar"' '$INSTDIR\jsampler.ico' 0    SetOutPath $INSTDIR
668      CreateShortCut '$SMPROGRAMS\LinuxSampler\JSampler Fantasia ${FANTASIA_VERSION} (frontend).lnk' '$javawbin' '-jar "$INSTDIR\Fantasia-0.9.jar"' '$INSTDIR\jsampler.ico' 0
669    
670    StrCmp $installingQSampler '1' 0 +2    StrCmp $installingQSampler '1' 0 +3
671    CreateShortCut "$SMPROGRAMS\LinuxSampler\QSampler 0.2.1 (frontend).lnk" "$INSTDIR\qsampler.exe" "" "$INSTDIR\qsampler.ico" 0    SetOutPath $INSTDIR
672      CreateShortCut "$SMPROGRAMS\LinuxSampler\QSampler ${QSAMPLER_VERSION} (frontend).lnk" "$INSTDIR\qsampler.exe" "" "$INSTDIR\qsampler.ico" 0
673    
674    StrCmp $installinggigedit '1' 0 +2    StrCmp $installinggigedit '1' 0 +3
675    CreateShortCut "$SMPROGRAMS\LinuxSampler\gigedit 0.1.1 (stand alone).lnk" "$INSTDIR\gigedit.exe" "" "$INSTDIR\gigedit.exe" 0    SetOutPath $samplerDir
676      CreateShortCut "$SMPROGRAMS\LinuxSampler\gigedit ${GIGEDIT_VERSION} (stand alone).lnk" "$samplerDir\gigedit.exe" "" "$samplerDir\gigedit.exe" 0
677    
678      !insertmacro CreateInternetShortcut \
679      "$SMPROGRAMS\LinuxSampler\\Support LinuxSampler" \
680      "http://www.linuxsampler.org/donations.html" \
681      "" "0"
682  SectionEnd  SectionEnd
683    
684  ;--------------------------------  ;--------------------------------
# Line 515  SectionEnd Line 686  SectionEnd
686  ; Uninstaller  ; Uninstaller
687    
688  Section "Uninstall"  Section "Uninstall"
689    DetailPrint "Removing LinuxSampler directory from PATH variable ..."    Var /GLOBAL vstdir32
690      Var /GLOBAL vstdir64
691    
692      Call un.DetectSystemType
693    
694      DetailPrint "Removing LinuxSampler directories from PATH variable ..."
695    ${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR"    ${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR"
696      ${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR\${SUBDIR_32_BIT}"
697      ${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR\${SUBDIR_64_BIT}"
698    
699      StrCmp $binType BIN_TYPE_64BIT 0 uninstallVst32
700      DetailPrint "Searching for VST plugin (64 bit) ..."
701      ClearErrors
702      ReadRegStr $0 HKLM "Software\LinuxSampler" "VST 64 Directory"
703      IfErrors uninstallVst32 0
704      StrCpy $vstdir64 $0
705      DetailPrint "Removing VST plugin (64 bit) from: $vstdir64 ..."
706      Delete "$vstdir64\LinuxSampler64.dll"
707    
708      uninstallVst32:
709    
710      DetailPrint "Searching for VST plugin (32 bit) ..."
711      ClearErrors
712      ReadRegStr $0 HKLM "Software\LinuxSampler" "VST 32 Directory"
713      IfErrors uninstallVstDone 0
714      StrCpy $vstdir32 $0
715      DetailPrint "Removing VST plugin (32 bit) from: $vstdir32 ..."
716      Delete "$vstdir32\LinuxSampler32.dll"
717    
718      uninstallVstDone:
719      ClearErrors
720    
721    DetailPrint "Removing registry keys ..."    DetailPrint "Removing registry keys ..."
722    DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler"    DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler"
723      DeleteRegKey HKLM "Software\LinuxSampler"
724    
725    DetailPrint "Removing VST plugin ..."    ; Workaround for Vista and younger: switch system variables to 'all users'
726    Delete $vstPluginPath\LinuxSampler.dll    ; otherwise e.g. we couldn't delete start menu shortcuts below on those
727      ; systems, as those variables would point to the current user.
728      SetShellVarContext all
729    
730    DetailPrint "Removing shortcuts (if any) ..."    DetailPrint "Removing shortcuts (if any) from: $SMPROGRAMS ..."
731    Delete "$SMPROGRAMS\LinuxSampler\*.*"    Delete "$SMPROGRAMS\LinuxSampler\*.*"
732    
733    DetailPrint "Removing directories used ..."    DetailPrint "Removing directories used ..."
734    RMDir "$SMPROGRAMS\LinuxSampler"    RMDir /r "$SMPROGRAMS\LinuxSampler"
735    RMDir /r "$INSTDIR"    RMDir /r "$INSTDIR"
736  SectionEnd  SectionEnd
737    
# Line 536  SectionEnd Line 739  SectionEnd
739  ;Descriptions  ;Descriptions
740    
741  ;Language strings  ;Language strings
742  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."  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."
743  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."
744  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!"
745  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!"  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."
746  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."
747  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."
748  LangString DESC_SecShortcuts ${LANG_ENGLISH} "Installs start menu shortcuts for all applications."  LangString DESC_SecShortcuts ${LANG_ENGLISH} "Installs start menu shortcuts for all applications."
749    

Legend:
Removed from v.1900  
changed lines
  Added in v.2853

  ViewVC Help
Powered by ViewVC