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

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

  ViewVC Help
Powered by ViewVC