/[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 2345 by persson, Tue May 1 11:43:07 2012 UTC
# Line 1  Line 1 
1  ; LinuxSampler Windows installer  ; LinuxSampler Windows installer
2  ;  ;
3  ; Copyright (C) 2007-2009, The LinuxSampler Developers  ; Copyright (C) 2007-2011, 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    
# Line 21  SetCompressor lzma Line 24  SetCompressor lzma
24  !include "MUI.nsh"  !include "MUI.nsh"
25  !include "EnvVarUpdate.nsh"  !include "EnvVarUpdate.nsh"
26    
27  !define RELEASE_DATE "20090511"  !define /date RELEASE_DATE "%Y%m%d"
28    !searchparse /file bin/686/linuxsampler.pc `Version: ` LINUXSAMPLER_VERSION
29    !searchparse /file bin/686/gig.pc `Version: ` LIBGIG_VERSION
30    !searchparse /file bin/686/gigedit.version `` GIGEDIT_VERSION
31    !define FANTASIA_VERSION "0.9"
32    !searchparse /file bin/686/qsampler.version `` QSAMPLER_VERSION
33    !searchparse /file bin/686/sndfile.pc `Version: ` SNDFILE_VERSION
34    
35  ; The name of the installer  ; The name of the installer
36  Name "LinuxSampler (${RELEASE_DATE})"  Name "LinuxSampler (${RELEASE_DATE})"
# Line 31  OutFile "linuxsampler_${RELEASE_DATE}_se Line 40  OutFile "linuxsampler_${RELEASE_DATE}_se
40    
41  ; Java Runtime Environment, needed for JSampler  ; Java Runtime Environment, needed for JSampler
42  !define JRE_VERSION "1.6"  !define JRE_VERSION "1.6"
43  !define JRE_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=11292"  ; jre-6u31-windows-i586.exe:
44    !define JRE_32_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=62314"
45    ; jre-6u31-windows-x86.exe:
46    !define JRE_64_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=60338"
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-2011 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}, it will now \
167                        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
# Line 172  Function DetectJRE Line 182  Function DetectJRE
182               "CurrentVersion"               "CurrentVersion"
183    StrCmp $2 ${JRE_VERSION} done    StrCmp $2 ${JRE_VERSION} done
184    
185      StrCmp $binType BIN_TYPE_64BIT 0 downloadjre
186    
187      ; on 64 bit systems also check the 32 bit view of the registry, maybe
188      ; a 32 bit JRE was already installed
189      SetRegView 32
190      ReadRegStr $3 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" \
191                 "CurrentVersion"
192      SetRegView 64  ; restore 64 bit view
193      StrCmp $3 ${JRE_VERSION} done
194    
195      downloadjre:
196    Call GetJRE    Call GetJRE
197    
198    done:    done:
# Line 180  FunctionEnd Line 201  FunctionEnd
201  ; Tries to find the location where VST plugins should be installed to  ; Tries to find the location where VST plugins should be installed to
202  Function DetectVstPath  Function DetectVstPath
203    Var /GLOBAL vstPluginPath    Var /GLOBAL vstPluginPath
204      Var /GLOBAL vstPluginPath64
205    
206      StrCmp $binType BIN_TYPE_64BIT 0 detectVst32
207      SetRegView 64 ; make sure we have the 64 bit registry view
208    
209      ; ------- VST 64 bit detection -------
210    
211      ClearErrors
212      ReadRegStr $0 HKCU "Software\VST" "VSTPluginsPath"
213      IfErrors check2ndRegistryKey64 0
214      StrCpy $vstPluginPath64 $0
215      DetailPrint "Found VST plugin (64 bit) directory in HKCU registry."
216      Goto done64
217    
218      check2ndRegistryKey64:
219      ClearErrors
220      ReadRegStr $0 HKLM "Software\VST" "VSTPluginsPath"
221      IfErrors noRegistryKeyExists64 0
222      StrCpy $vstPluginPath64 $0
223      DetailPrint "Found VST plugin (64 bit) directory in HKLM registry."
224      Goto done64
225    
226      noRegistryKeyExists64:
227      ClearErrors
228      DetailPrint "No VST plugin directory (64 bit) defined in registry."
229      StrCpy $vstPluginPath64 "${DEFAULT_VST_DIR64}"
230    
231      done64:
232      SetRegView 32 ; make sure we have a 32 bit registry view
233    
234      detectVst32: ; it follows the same thing for the 32 bit registry view
235    
236      ; ------- VST 32 bit detection -------
237    
238    ClearErrors    ClearErrors
239    ReadRegStr $0 HKCU "Software\VST" "VSTPluginsPath"    ReadRegStr $0 HKCU "Software\VST" "VSTPluginsPath"
240    IfErrors check2ndRegistryKey 0    IfErrors check2ndRegistryKey 0
241    StrCpy $vstPluginPath $0    StrCpy $vstPluginPath $0
242    DetailPrint "Found VST plugin directory in HKCU registry."    DetailPrint "Found VST plugin (32 bit) directory in HKCU registry."
243    Goto done    Goto done
244    
245    check2ndRegistryKey:    check2ndRegistryKey:
# Line 193  Function DetectVstPath Line 247  Function DetectVstPath
247    ReadRegStr $0 HKLM "Software\VST" "VSTPluginsPath"    ReadRegStr $0 HKLM "Software\VST" "VSTPluginsPath"
248    IfErrors noRegistryKeyExists 0    IfErrors noRegistryKeyExists 0
249    StrCpy $vstPluginPath $0    StrCpy $vstPluginPath $0
250    DetailPrint "Found VST plugin directory in HKLM registry."    DetailPrint "Found VST plugin (32 bit) directory in HKLM registry."
251    Goto done    Goto done
252    
253    noRegistryKeyExists:    noRegistryKeyExists:
254    ClearErrors    ClearErrors
255    DetailPrint "No VST plugin directory defined in registry."    DetailPrint "No VST plugin directory (32 bit) defined in registry."
256    StrCpy $vstPluginPath "$PROGRAMFILES\Steinberg\VstPlugins"    StrCpy $vstPluginPath "${DEFAULT_VST_DIR}"
257    
258    done:    done: ; ------- summary of detection -------
259    DetailPrint "Using the following as VST plugin directory: $vstPluginPath"  
260      StrCmp $binType BIN_TYPE_64BIT 0 summaryVst32
261      SetRegView 64  ; restore 64 bit view
262      DetailPrint "Using the following as VST (64 bit) plugin directory: $vstPluginPath64"
263      summaryVst32:
264      DetailPrint "Using the following as VST (32 bit) plugin directory: $vstPluginPath"
265  FunctionEnd  FunctionEnd
266    
267  ;--------------------------------  ;--------------------------------
268    
269  ; primer things to do  ; primer things to do (before installing, not called on uninstall)
270  Section ""  Section ""
271    Call DetectSystemType    Call DetectSystemType
272    Call DetectVstPath    Call DetectVstPath
# Line 216  SectionEnd Line 275  SectionEnd
275  ;--------------------------------  ;--------------------------------
276    
277  ; The stuff to install  ; The stuff to install
278  Section "LinuxSampler 0.5.1.12cvs" SecLinuxSampler  Section "LinuxSampler ${LINUXSAMPLER_VERSION}" SecLinuxSampler
279    DetailPrint "Installing LinuxSampler binaries ..."    DetailPrint "Installing LinuxSampler binaries ..."
280    StrCpy $installingLinuxSampler "1"    StrCpy $installingLinuxSampler "1"
281    
   ; Set output path to the installation directory.  
   SetOutPath $INSTDIR  
   
282    StrCmp $binType BIN_TYPE_64BIT linuxsampler64    StrCmp $binType BIN_TYPE_64BIT linuxsampler64
283    StrCmp $binType BIN_TYPE_686SSE linuxsampler686sse    StrCmp $binType BIN_TYPE_686SSE linuxsampler686sse
284    Goto linuxsampler686    Goto linuxsampler686
# Line 230  Section "LinuxSampler 0.5.1.12cvs" SecLi Line 286  Section "LinuxSampler 0.5.1.12cvs" SecLi
286    ; Files to install    ; Files to install
287    
288    linuxsampler64:    linuxsampler64:
289      SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
290    File bin\64\linuxsampler.exe    File bin\64\linuxsampler.exe
291    File bin\64\liblinuxsampler-1.dll    File bin\64\liblinuxsampler-3.dll
292    SetOutPath $vstPluginPath    File bin\64\libsqlite3-0.dll
293    File bin\64\LinuxSampler.dll    SetOutPath $vstPluginPath64
294    Goto done    File /oname=LinuxSampler64.dll bin\64\LinuxSampler.dll
295      MessageBox MB_YESNO \
296        "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?" \
297        IDNO done
298    
299      ; so the other sections install their 32 bit versions as well
300      StrCpy $installing32BitToo "1"
301    
302    linuxsampler686sse:    linuxsampler686sse:
303      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
304    File bin\686sse\linuxsampler.exe    File bin\686sse\linuxsampler.exe
305    File bin\686sse\liblinuxsampler-1.dll    File bin\686sse\liblinuxsampler-3.dll
306      File bin\686\libsqlite3-0.dll
307    SetOutPath $vstPluginPath    SetOutPath $vstPluginPath
308    File bin\686sse\LinuxSampler.dll    File /oname=LinuxSampler32.dll bin\686sse\LinuxSampler.dll
309    Goto done    Goto done
310    
311    linuxsampler686:    linuxsampler686:
312      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
313    File bin\686\linuxsampler.exe    File bin\686\linuxsampler.exe
314    File bin\686\liblinuxsampler-1.dll    File bin\686\liblinuxsampler-3.dll
315      File bin\686\libsqlite3-0.dll
316    SetOutPath $vstPluginPath    SetOutPath $vstPluginPath
317    File bin\686\LinuxSampler.dll    File /oname=LinuxSampler32.dll bin\686\LinuxSampler.dll
318    Goto done    Goto done
319    
320    done:    done:
321  SectionEnd  SectionEnd
322    
323  Section "JSampler 'Fantasia' 0.8a-cvs6" SecJSampler  Section "JSampler 'Fantasia' ${FANTASIA_VERSION}" SecJSampler
324    DetailPrint "Installing JSampler binaries ..."    DetailPrint "Installing JSampler binaries ..."
325    ; make sure JRE is installed    ; make sure JRE is installed
326    Call DetectJRE    Call DetectJRE
# Line 261  Section "JSampler 'Fantasia' 0.8a-cvs6" Line 328  Section "JSampler 'Fantasia' 0.8a-cvs6"
328    ; Set output path to the installation directory.    ; Set output path to the installation directory.
329    SetOutPath $INSTDIR    SetOutPath $INSTDIR
330    ; Files to install    ; Files to install
331    File bin\Fantasia-0.8a-cvs6.jar    File bin\Fantasia-0.9.jar
332    File jsampler.ico    File jsampler.ico
333  SectionEnd  SectionEnd
334    
335  Section "QSampler 0.2.1.26" SecQSampler  Section "QSampler ${QSAMPLER_VERSION}" SecQSampler
336    DetailPrint "Installing QSampler binaries ..."    DetailPrint "Installing QSampler binaries ..."
337    StrCpy $installingQSampler "1"    StrCpy $installingQSampler "1"
338    ; Set output path to the installation directory.    ; Set output path to the installation directory.
339    SetOutPath $INSTDIR    SetOutPath $INSTDIR
340    ; Files to install    ; Files to install
341    File bin\686\qsampler.exe    File bin\686\qsampler.exe
342      File bin\686\liblscp-6.dll
343    File bin\686\QtCore4.dll    File bin\686\QtCore4.dll
344    File bin\686\QtGui4.dll    File bin\686\QtGui4.dll
345    File bin\686\mingwm10.dll    File bin\686\mingwm10.dll
346      File bin\686\libgcc_s_dw2-1.dll
347    File qsampler.ico    File qsampler.ico
348    SetOutPath $INSTDIR\share\locale    SetOutPath $INSTDIR\share\locale
349    File bin\686\share\locale\qsampler_ru.qm    File bin\686\share\locale\qsampler_ru.qm
350      File bin\686\share\locale\qsampler_cs.qm
351      File bin\686\share\locale\qt_ru.qm
352      File bin\686\share\locale\qt_cs.qm
353  SectionEnd  SectionEnd
354    
355  Section "gigedit 0.1.1.x (cvs2009-05-10)" Secgigedit  Section "gigedit ${GIGEDIT_VERSION}" Secgigedit
356    DetailPrint "Installing gigedit binaries ..."    DetailPrint "Installing gigedit binaries ..."
357    StrCpy $installinggigedit "1"    StrCpy $installinggigedit "1"
358    
# Line 289  Section "gigedit 0.1.1.x (cvs2009-05-10) Line 361  Section "gigedit 0.1.1.x (cvs2009-05-10)
361    ; installer, so no check and no download necessary ATM)    ; installer, so no check and no download necessary ATM)
362    ;Call CheckForGtkmm    ;Call CheckForGtkmm
363    
   ; Set output path to the installation directory.  
   SetOutPath $INSTDIR  
   
364    StrCmp $binType BIN_TYPE_64BIT gigedit64    StrCmp $binType BIN_TYPE_64BIT gigedit64
365    ; 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
366    ;StrCmp $binType BIN_TYPE_686SSE gigedit686sse    ;StrCmp $binType BIN_TYPE_686SSE gigedit686sse
# Line 300  Section "gigedit 0.1.1.x (cvs2009-05-10) Line 369  Section "gigedit 0.1.1.x (cvs2009-05-10)
369    ; Files to install    ; Files to install
370    
371    gigedit64:    gigedit64:
372      SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
373    File bin\64\gigedit.exe    File bin\64\gigedit.exe
374    File bin\64\libgigedit-1.dll    File bin\64\libgigedit-2.dll
375    SetOutPath "$INSTDIR\plugins"    SetOutPath "$INSTDIR\${SUBDIR_64_BIT}\plugins"
376    File bin\64\plugins\libgigeditlinuxsamplerplugin-1.dll    File bin\64\plugins\libgigeditlinuxsamplerplugin.dll
377    SetOutPath $INSTDIR    SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
378    File bin\64\libatk-1.0-0.dll    File bin\64\libatk-1.0-0.dll
379    File bin\64\libatkmm-1.6-1.dll    File bin\64\libatkmm-1.6-1.dll
380    File bin\64\libcairo-2.dll    File bin\64\libcairo-2.dll
381    File bin\64\libcairomm-1.0-1.dll    File bin\64\libcairomm-1.0-1.dll
382      File bin\64\libexpat-1.dll
383      File bin\64\libfontconfig-1.dll
384      File bin\64\libfreetype-6.dll
385    File bin\64\libgdkmm-2.4-1.dll    File bin\64\libgdkmm-2.4-1.dll
386    File bin\64\libgdk_pixbuf-2.0-0.dll    File bin\64\libgdk_pixbuf-2.0-0.dll
387    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 395  Section "gigedit 0.1.1.x (cvs2009-05-10)
395    File bin\64\libgtkmm-2.4-1.dll    File bin\64\libgtkmm-2.4-1.dll
396    File bin\64\libgtk-win32-2.0-0.dll    File bin\64\libgtk-win32-2.0-0.dll
397    File bin\64\libintl-8.dll    File bin\64\libintl-8.dll
   File bin\64\libjpeg-62.dll  
398    File bin\64\libpango-1.0-0.dll    File bin\64\libpango-1.0-0.dll
399    File bin\64\libpangocairo-1.0-0.dll    File bin\64\libpangocairo-1.0-0.dll
400      File bin\64\libpangoft2-1.0-0.dll
401    File bin\64\libpangomm-1.4-1.dll    File bin\64\libpangomm-1.4-1.dll
402    File bin\64\libpangowin32-1.0-0.dll    File bin\64\libpangowin32-1.0-0.dll
403    File bin\64\libpng12-0.dll    File bin\64\libpng14-14.dll
404    File bin\64\libsigc-2.0-0.dll    File bin\64\libsigc-2.0-0.dll
   File bin\64\libtiff.dll  
405    File bin\64\zlib1.dll    File bin\64\zlib1.dll
406    SetOutPath $INSTDIR\etc\gtk-2.0    SetOutPath $INSTDIR\${SUBDIR_64_BIT}\etc\gtk-2.0
407    File bin\64\etc\gtk-2.0\gtkrc    File bin\64\etc\gtk-2.0\gtkrc
408    SetOutPath $INSTDIR\lib\gtk-2.0\2.10.0\engines    SetOutPath $INSTDIR\${SUBDIR_64_BIT}\lib\gtk-2.0\2.10.0\engines
409    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
410    SetOutPath $INSTDIR\share\locale\de\LC_MESSAGES    SetOutPath $INSTDIR\${SUBDIR_64_BIT}\share\locale\de\LC_MESSAGES
411    File bin\64\share\locale\de\LC_MESSAGES\gigedit.mo    File bin\64\share\locale\de\LC_MESSAGES\gigedit.mo
412    File bin\64\share\locale\de\LC_MESSAGES\gtk20.mo    File bin\64\share\locale\de\LC_MESSAGES\gtk20.mo
413    SetOutPath $INSTDIR\share\locale\sv\LC_MESSAGES    SetOutPath $INSTDIR\${SUBDIR_64_BIT}\share\locale\sv\LC_MESSAGES
414    File bin\64\share\locale\sv\LC_MESSAGES\gigedit.mo    File bin\64\share\locale\sv\LC_MESSAGES\gigedit.mo
415    File bin\64\share\locale\sv\LC_MESSAGES\gtk20.mo    File bin\64\share\locale\sv\LC_MESSAGES\gtk20.mo
416    SetOutPath $INSTDIR\share\themes\MS-Windows\gtk-2.0    SetOutPath $INSTDIR\${SUBDIR_64_BIT}\share\themes\MS-Windows\gtk-2.0
417    File bin\64\share\themes\MS-Windows\gtk-2.0\gtkrc    File bin\64\share\themes\MS-Windows\gtk-2.0\gtkrc
418    Goto done  
419      ; shall we install the 32 bit version as well?
420      StrCmp $installing32BitToo "1" gigedit686 done
421    
422    gigedit686:    gigedit686:
423      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
424    File bin\686\gigedit.exe    File bin\686\gigedit.exe
425    File bin\686\libgigedit-1.dll    File bin\686\libgigedit-2.dll
426    SetOutPath "$INSTDIR\plugins"    SetOutPath "$INSTDIR\${SUBDIR_32_BIT}\plugins"
427    File bin\686\plugins\libgigeditlinuxsamplerplugin-1.dll    File bin\686\plugins\libgigeditlinuxsamplerplugin.dll
428    SetOutPath $INSTDIR    SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
429    File bin\686\intl.dll    File bin\686\intl.dll
430    File bin\686\jpeg62.dll    File bin\686\jpeg62.dll
431    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 452  Section "gigedit 0.1.1.x (cvs2009-05-10)
452    File bin\686\libsigc-2.0-0.dll    File bin\686\libsigc-2.0-0.dll
453    File bin\686\libtiff3.dll    File bin\686\libtiff3.dll
454    File bin\686\zlib1.dll    File bin\686\zlib1.dll
455    SetOutPath $INSTDIR\etc\gtk-2.0    SetOutPath $INSTDIR\${SUBDIR_32_BIT}\etc\gtk-2.0
456    File bin\686\etc\gtk-2.0\gdk-pixbuf.loaders    File bin\686\etc\gtk-2.0\gdk-pixbuf.loaders
457    File bin\686\etc\gtk-2.0\gtkrc    File bin\686\etc\gtk-2.0\gtkrc
458    SetOutPath $INSTDIR\lib\gtk-2.0\2.10.0\engines    SetOutPath $INSTDIR\${SUBDIR_32_BIT}\lib\gtk-2.0\2.10.0\engines
459    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
460    SetOutPath $INSTDIR\lib\gtk-2.0\2.10.0\loaders    SetOutPath $INSTDIR\${SUBDIR_32_BIT}\lib\gtk-2.0\2.10.0\loaders
461    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
462    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
463    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 473  Section "gigedit 0.1.1.x (cvs2009-05-10)
473    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
474    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
475    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
476    SetOutPath $INSTDIR\share\locale\de\LC_MESSAGES    SetOutPath $INSTDIR\${SUBDIR_32_BIT}\share\locale\de\LC_MESSAGES
477    File bin\686\share\locale\de\LC_MESSAGES\gigedit.mo    File bin\686\share\locale\de\LC_MESSAGES\gigedit.mo
478    File bin\686\share\locale\de\LC_MESSAGES\gtk20.mo    File bin\686\share\locale\de\LC_MESSAGES\gtk20.mo
479    SetOutPath $INSTDIR\share\locale\sv\LC_MESSAGES    SetOutPath $INSTDIR\${SUBDIR_32_BIT}\share\locale\sv\LC_MESSAGES
480    File bin\686\share\locale\sv\LC_MESSAGES\gigedit.mo    File bin\686\share\locale\sv\LC_MESSAGES\gigedit.mo
481    File bin\686\share\locale\sv\LC_MESSAGES\gtk20.mo    File bin\686\share\locale\sv\LC_MESSAGES\gtk20.mo
482    SetOutPath $INSTDIR\share\themes\MS-Windows\gtk-2.0    SetOutPath $INSTDIR\${SUBDIR_32_BIT}\share\themes\MS-Windows\gtk-2.0
483    File bin\686\share\themes\MS-Windows\gtk-2.0\gtkrc    File bin\686\share\themes\MS-Windows\gtk-2.0\gtkrc
484    Goto done    Goto done
485    
486    done:    done:
487  SectionEnd  SectionEnd
488    
489  Section "libgig 3.2.1.x (cvs2009-05-03)" Seclibgig  Section "libgig 3.3.0" Seclibgig
490    DetailPrint "Installing libgig binaries ..."    DetailPrint "Installing libgig binaries ..."
491    ; We make this a mandatory component    ; We make this a mandatory component
492    SectionIn RO    SectionIn RO
   ; Set output path to the installation directory.  
   SetOutPath $INSTDIR  
493    
494    StrCmp $binType BIN_TYPE_64BIT libgig64    StrCmp $binType BIN_TYPE_64BIT libgig64
495    StrCmp $binType BIN_TYPE_686SSE libgig686sse    StrCmp $binType BIN_TYPE_686SSE libgig686sse
# Line 425  Section "libgig 3.2.1.x (cvs2009-05-03)" Line 498  Section "libgig 3.2.1.x (cvs2009-05-03)"
498    ; Files to install    ; Files to install
499    
500    libgig64:    libgig64:
501      SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
502    File bin\64\libgig-6.dll    File bin\64\libgig-6.dll
503    File bin\64\rifftree.exe    File bin\64\rifftree.exe
504    File bin\64\dlsdump.exe    File bin\64\dlsdump.exe
505    File bin\64\gigdump.exe    File bin\64\gigdump.exe
506    File bin\64\gigextract.exe    File bin\64\gigextract.exe
507    ; special dependency for the 64 bit version    ; special dependencies for the 64 bit version
508    File bin\64\libgcc_s_sjlj-1.dll    File bin\64\libgcc_s_sjlj-1.dll
509    Goto done    File bin\64\libstdc++-6.dll
510    
511      ; shall we install the 32 bit version as well?
512      StrCmp $installing32BitToo "1" libgig686sse done
513    
514    libgig686sse:    libgig686sse:
515      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
516    File bin\686sse\libgig-6.dll    File bin\686sse\libgig-6.dll
517    File bin\686sse\rifftree.exe    File bin\686sse\rifftree.exe
518    File bin\686sse\dlsdump.exe    File bin\686sse\dlsdump.exe
# Line 443  Section "libgig 3.2.1.x (cvs2009-05-03)" Line 521  Section "libgig 3.2.1.x (cvs2009-05-03)"
521    Goto done    Goto done
522    
523    libgig686:    libgig686:
524      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
525    File bin\686\libgig-6.dll    File bin\686\libgig-6.dll
526    File bin\686\rifftree.exe    File bin\686\rifftree.exe
527    File bin\686\dlsdump.exe    File bin\686\dlsdump.exe
# Line 452  Section "libgig 3.2.1.x (cvs2009-05-03)" Line 531  Section "libgig 3.2.1.x (cvs2009-05-03)"
531    
532    done:    done:
533    
534    ; As this is a mandatory component, we add the common binary directory    ; As this is a mandatory component, we misuse is for the following
535    ; of LinuxSampler and friends to the system's PATH variable here ...    ; common tasks as well ...
536    
537      ; Add LinuxSampler and friends to the system's PATH variable
538    ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR"    ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR"
539      ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR\${SUBDIR_64_BIT}"
540      ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR\${SUBDIR_32_BIT}"
541    
   ; As this is a mandatory component, we misuse it to install the uninstaller as well ...  
542    ; Write the uninstall keys for Windows    ; Write the uninstall keys for Windows
543    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "DisplayName" "LinuxSampler ${RELEASE_DATE}"    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "DisplayName" "LinuxSampler ${RELEASE_DATE}"
544    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "UninstallString" '"$INSTDIR\uninstall.exe"'    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "UninstallString" '"$INSTDIR\uninstall.exe"'
545    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "NoModify" 1    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "NoModify" 1
546    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "NoRepair" 1    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "NoRepair" 1
547    WriteUninstaller "uninstall.exe"    WriteUninstaller "uninstall.exe"
548    ;Store installation folder  
549    WriteRegStr HKCU "Software\LinuxSampler" "" $INSTDIR    ; Store installation folders
550      WriteRegStr HKLM "Software\LinuxSampler" "Main Directory" $INSTDIR
551      StrCmp $binType BIN_TYPE_64BIT 0 +3
552      WriteRegStr HKLM "Software\LinuxSampler" "VST 64 Directory" $vstPluginPath64
553      StrCmp $installing32BitToo "1" 0 +2
554      WriteRegStr HKLM "Software\LinuxSampler" "VST 32 Directory" $vstPluginPath
555    
556      ; Just for info, store the release date as well
557      WriteRegStr HKLM "Software\LinuxSampler" "Release Date" ${RELEASE_DATE}
558  SectionEnd  SectionEnd
559    
560  Section "libsndfile 1.0.19" Seclibsndfile  Section "libsndfile ${SNDFILE_VERSION}" Seclibsndfile
561    DetailPrint "Installing libsndfile binaries ..."    DetailPrint "Installing libsndfile binaries ..."
562    ; We make this a mandatory component    ; We make this a mandatory component
563    SectionIn RO    SectionIn RO
   ; Set output path to the installation directory.  
   SetOutPath $INSTDIR  
564    
565    StrCmp $binType BIN_TYPE_64BIT libsndfile64    StrCmp $binType BIN_TYPE_64BIT libsndfile64
566    ; 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 570  Section "libsndfile 1.0.19" Seclibsndfil
570    ; Files to install    ; Files to install
571    
572    libsndfile64:    libsndfile64:
573      SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
574    File bin\64\libsndfile-1.dll    File bin\64\libsndfile-1.dll
575    Goto done    File bin\64\libFLAC-8.dll
576      File bin\64\libogg-0.dll
577      File bin\64\libvorbis-0.dll
578      File bin\64\libvorbisenc-2.dll
579    
580      ; shall we install the 32 bit version as well?
581      StrCmp $installing32BitToo "1" libsndfile686 done
582    
583    libsndfile686:    libsndfile686:
584      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
585    File bin\686\libsndfile-1.dll    File bin\686\libsndfile-1.dll
586      File bin\686\libFLAC-8.dll
587      File bin\686\libogg-0.dll
588      File bin\686\libvorbis-0.dll
589      File bin\686\libvorbisenc-2.dll
590    Goto done    Goto done
591    
592    done:    done:
593  SectionEnd  SectionEnd
594    
595  Section "Start Menu Shortcuts" SecShortcuts  Section "Start Menu Shortcuts" SecShortcuts
596      Var /GLOBAL javawbin
597      Var /GLOBAL samplerDir
598    
599      StrCmp $binType BIN_TYPE_64BIT 0 +3
600      StrCpy $samplerDir "$INSTDIR\${SUBDIR_64_BIT}"
601      Goto +2
602      StrCpy $samplerDir "$INSTDIR\${SUBDIR_32_BIT}"
603    
604      ; Switch system variables to 'all users', to ensure we create the start
605      ; menu shortcuts for all users and not just for the current user.
606      SetShellVarContext all
607    
608      ; try to resolve the full qualified path of the javaw binary
609      ClearErrors
610      SearchPath $javawbin javaw.exe
611      IfErrors 0 javawDetected
612      ClearErrors
613      ; if all fails, simply use SYSDIR (which should work almost always anyway)
614      DetailPrint "WRN: Could not resolve javaw.exe path, using SYSDIR."
615      StrCpy $javawbin "$SYSDIR\javaw.exe"
616      javawDetected:
617    
618    CreateDirectory "$SMPROGRAMS\LinuxSampler"    CreateDirectory "$SMPROGRAMS\LinuxSampler"
619    
620      SetOutPath $INSTDIR
621    CreateShortCut "$SMPROGRAMS\LinuxSampler\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0    CreateShortCut "$SMPROGRAMS\LinuxSampler\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
622    
623    StrCmp $installingLinuxSampler '1' 0 +2    StrCmp $installingLinuxSampler '1' 0 +3
624    CreateShortCut "$SMPROGRAMS\LinuxSampler\LinuxSampler 0.5.1 (stand alone backend).lnk" "$INSTDIR\linuxsampler.exe" "" "$INSTDIR\linuxsampler.exe" 0    SetOutPath $samplerDir
625      CreateShortCut "$SMPROGRAMS\LinuxSampler\LinuxSampler ${LINUXSAMPLER_VERSION} (stand alone backend).lnk" "$samplerDir\linuxsampler.exe" "" "$samplerDir\linuxsampler.exe" 0
626    
627    StrCmp $installingJSampler '1' 0 +2    StrCmp $installingJSampler '1' 0 +3
628    CreateShortCut '$SMPROGRAMS\LinuxSampler\JSampler Fantasia 0.8a (frontend).lnk' 'javaw' '-jar "$INSTDIR\Fantasia-0.8a.jar"' '$INSTDIR\jsampler.ico' 0    SetOutPath $INSTDIR
629      CreateShortCut '$SMPROGRAMS\LinuxSampler\JSampler Fantasia ${FANTASIA_VERSION} (frontend).lnk' '$javawbin' '-jar "$INSTDIR\Fantasia-0.9.jar"' '$INSTDIR\jsampler.ico' 0
630    
631    StrCmp $installingQSampler '1' 0 +2    StrCmp $installingQSampler '1' 0 +3
632    CreateShortCut "$SMPROGRAMS\LinuxSampler\QSampler 0.2.1 (frontend).lnk" "$INSTDIR\qsampler.exe" "" "$INSTDIR\qsampler.ico" 0    SetOutPath $INSTDIR
633      CreateShortCut "$SMPROGRAMS\LinuxSampler\QSampler ${QSAMPLER_VERSION} (frontend).lnk" "$INSTDIR\qsampler.exe" "" "$INSTDIR\qsampler.ico" 0
634    
635    StrCmp $installinggigedit '1' 0 +2    StrCmp $installinggigedit '1' 0 +3
636    CreateShortCut "$SMPROGRAMS\LinuxSampler\gigedit 0.1.1 (stand alone).lnk" "$INSTDIR\gigedit.exe" "" "$INSTDIR\gigedit.exe" 0    SetOutPath $samplerDir
637      CreateShortCut "$SMPROGRAMS\LinuxSampler\gigedit ${GIGEDIT_VERSION} (stand alone).lnk" "$samplerDir\gigedit.exe" "" "$samplerDir\gigedit.exe" 0
638    
639      !insertmacro CreateInternetShortcut \
640      "$SMPROGRAMS\LinuxSampler\\Support LinuxSampler" \
641      "http://www.linuxsampler.org/donations.html" \
642      "" "0"
643  SectionEnd  SectionEnd
644    
645  ;--------------------------------  ;--------------------------------
# Line 515  SectionEnd Line 647  SectionEnd
647  ; Uninstaller  ; Uninstaller
648    
649  Section "Uninstall"  Section "Uninstall"
650    DetailPrint "Removing LinuxSampler directory from PATH variable ..."    Var /GLOBAL vstdir32
651      Var /GLOBAL vstdir64
652    
653      Call un.DetectSystemType
654    
655      DetailPrint "Removing LinuxSampler directories from PATH variable ..."
656    ${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR"    ${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR"
657      ${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR\${SUBDIR_32_BIT}"
658      ${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR\${SUBDIR_64_BIT}"
659    
660      StrCmp $binType BIN_TYPE_64BIT 0 uninstallVst32
661      DetailPrint "Searching for VST plugin (64 bit) ..."
662      ClearErrors
663      ReadRegStr $0 HKLM "Software\LinuxSampler" "VST 64 Directory"
664      IfErrors uninstallVst32 0
665      StrCpy $vstdir64 $0
666      DetailPrint "Removing VST plugin (64 bit) from: $vstdir64 ..."
667      Delete "$vstdir64\LinuxSampler64.dll"
668    
669      uninstallVst32:
670    
671      DetailPrint "Searching for VST plugin (32 bit) ..."
672      ClearErrors
673      ReadRegStr $0 HKLM "Software\LinuxSampler" "VST 32 Directory"
674      IfErrors uninstallVstDone 0
675      StrCpy $vstdir32 $0
676      DetailPrint "Removing VST plugin (32 bit) from: $vstdir32 ..."
677      Delete "$vstdir32\LinuxSampler32.dll"
678    
679      uninstallVstDone:
680      ClearErrors
681    
682    DetailPrint "Removing registry keys ..."    DetailPrint "Removing registry keys ..."
683    DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler"    DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler"
684      DeleteRegKey HKLM "Software\LinuxSampler"
685    
686    DetailPrint "Removing VST plugin ..."    ; Workaround for Vista and younger: switch system variables to 'all users'
687    Delete $vstPluginPath\LinuxSampler.dll    ; otherwise e.g. we couldn't delete start menu shortcuts below on those
688      ; systems, as those variables would point to the current user.
689      SetShellVarContext all
690    
691    DetailPrint "Removing shortcuts (if any) ..."    DetailPrint "Removing shortcuts (if any) from: $SMPROGRAMS ..."
692    Delete "$SMPROGRAMS\LinuxSampler\*.*"    Delete "$SMPROGRAMS\LinuxSampler\*.*"
693    
694    DetailPrint "Removing directories used ..."    DetailPrint "Removing directories used ..."
695    RMDir "$SMPROGRAMS\LinuxSampler"    RMDir /r "$SMPROGRAMS\LinuxSampler"
696    RMDir /r "$INSTDIR"    RMDir /r "$INSTDIR"
697  SectionEnd  SectionEnd
698    
# Line 536  SectionEnd Line 700  SectionEnd
700  ;Descriptions  ;Descriptions
701    
702  ;Language strings  ;Language strings
703  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."
704  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."
705  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!"
706  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."
707  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."
708  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."
709  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.2345

  ViewVC Help
Powered by ViewVC