/[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 1941 by senoner, Mon Jul 13 17:48:43 2009 UTC
# Line 21  SetCompressor lzma Line 21  SetCompressor lzma
21  !include "MUI.nsh"  !include "MUI.nsh"
22  !include "EnvVarUpdate.nsh"  !include "EnvVarUpdate.nsh"
23    
24  !define RELEASE_DATE "20090511"  !define RELEASE_DATE "20090623"
25    
26  ; The name of the installer  ; The name of the installer
27  Name "LinuxSampler (${RELEASE_DATE})"  Name "LinuxSampler (${RELEASE_DATE})"
# Line 31  OutFile "linuxsampler_${RELEASE_DATE}_se Line 31  OutFile "linuxsampler_${RELEASE_DATE}_se
31    
32  ; Java Runtime Environment, needed for JSampler  ; Java Runtime Environment, needed for JSampler
33  !define JRE_VERSION "1.6"  !define JRE_VERSION "1.6"
34  !define JRE_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=11292"  !define JRE_32_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=31621"
35    !define JRE_64_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=31623"
36    
37  ; The default installation directory  ; The default installation directory
38  InstallDir $PROGRAMFILES\LinuxSampler  InstallDir "$PROGRAMFILES64\LinuxSampler"
39    !define SUBDIR_32_BIT "32"
40    !define SUBDIR_64_BIT "64"
41    
42    !define DEFAULT_VST_DIR64 "$PROGRAMFILES64\Steinberg\VstPlugins"
43    !define DEFAULT_VST_DIR "$PROGRAMFILES\Steinberg\VstPlugins"
44    
45  ; Get installation folder from registry if available  ; Get installation folder from registry if available
46  InstallDirRegKey HKCU "Software\LinuxSampler" ""  InstallDirRegKey HKLM "Software\LinuxSampler" "Main Directory"
47    
48  ;--------------------------------  ;--------------------------------
49  ;Interface Settings  ;Interface Settings
# Line 62  VIAddVersionKey /LANG=${LANG_ENGLISH} "F Line 68  VIAddVersionKey /LANG=${LANG_ENGLISH} "F
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 84  Function .onInit Line 92  Function .onInit
92    Var /GLOBAL installingJSampler    Var /GLOBAL installingJSampler
93    Var /GLOBAL installingQSampler    Var /GLOBAL installingQSampler
94    Var /GLOBAL installinggigedit    Var /GLOBAL installinggigedit
95      Var /GLOBAL installing32BitToo
96    StrCpy $installingLinuxSampler "0"    StrCpy $installingLinuxSampler "0"
97    StrCpy $installingJSampler "0"    StrCpy $installingJSampler "0"
98    StrCpy $installingQSampler "0"    StrCpy $installingQSampler "0"
99    StrCpy $installinggigedit "0"    StrCpy $installinggigedit "0"
100      StrCpy $installing32BitToo "0"
101  FunctionEnd  FunctionEnd
102    
103  ; detects CPU capabilities and determmines which native binary type to install  !macro CreateInternetShortcut FILENAME URL ICONFILE ICONINDEX
104  Function DetectSystemType  WriteINIStr "${FILENAME}.url" "InternetShortcut" "URL" "${URL}"
105    Var /GLOBAL binType  WriteINIStr "${FILENAME}.url" "InternetShortcut" "IconFile" "${ICONFILE}"
106    WriteINIStr "${FILENAME}.url" "InternetShortcut" "IconIndex" "${ICONINDEX}"
107    !macroend
108    
109    ; detects CPU capabilities, determines which native binary type to install
110    ; and selects the appropriate windows registry view (32 bit or 64 bit)
111    !macro DetectSystemType un
112    Function ${un}DetectSystemType
113    ; check if this is a 64 bit windows    ; check if this is a 64 bit windows
114    System::Call "kernel32::GetCurrentProcess() i .s"    System::Call "kernel32::GetCurrentProcess() i .s"
115    System::Call "kernel32::IsWow64Process(i s, *i .r0)"    System::Call "kernel32::IsWow64Process(i s, *i .r0)"
116    IntCmp $0 0 not64bit    IntCmp $0 0 not64bit
117    StrCpy $binType BIN_TYPE_64BIT    StrCpy $binType BIN_TYPE_64BIT
118    DetailPrint "64 bit Windows detected."    DetailPrint "64 bit Windows detected."
119      SetRegView 64
120    Goto DetectSystemDone    Goto DetectSystemDone
121    
122    not64bit: ; a 32 bit system    not64bit: ; a 32 bit system
123    
124      SetRegView 32
125    
126    ; check if CPU supports SSE    ; check if CPU supports SSE
127    cpudesc::tell    cpudesc::tell
128    Pop $0                     ; full identification string in $0    Pop $0                     ; full identification string in $0
# Line 118  Function DetectSystemType Line 137  Function DetectSystemType
137    
138    DetectSystemDone:    DetectSystemDone:
139  FunctionEnd  FunctionEnd
140    !macroend
141    !insertmacro DetectSystemType ""
142    !insertmacro DetectSystemType "un."
143    
144  ; Check for the presence of gtkmm, and if false, ask the user whether to  ; Check for the presence of gtkmm, and if false, ask the user whether to
145  ; download and install gtkmm now from the internet.  ; download and install gtkmm now from the internet.
146    ; (NOTE: this function is currently unused, since we include the gtk(mm)
147    ; DLLs with the installer ATM, this is the recommended way by the gtk
148    ; project)
149  Function CheckForGtkmm  Function CheckForGtkmm
150    Var /GLOBAL gtkmmSetupFile    Var /GLOBAL gtkmmSetupFile
151    
# Line 153  FunctionEnd Line 178  FunctionEnd
178    
179  ; Downloads and launches the JRE installer from the internet  ; Downloads and launches the JRE installer from the internet
180  Function GetJRE  Function GetJRE
181          MessageBox MB_OK "JSampler requires Java ${JRE_VERSION}, it will now \    Var /GLOBAL jreUri
                          be downloaded and installed"  
182    
183          StrCpy $2 "$TEMP\Java Runtime Environment.exe"    StrCmp $binType BIN_TYPE_64BIT 0 +3
184          nsisdl::download /TIMEOUT=30000 ${JRE_URL} $2    StrCpy $jreUri ${JRE_64_URL}
185          Pop $R0 ;Get the return value    Goto +2
186                  StrCmp $R0 "success" +3    StrCpy $jreUri ${JRE_32_URL}
187                  MessageBox MB_OK "Download failed: $R0"  
188                  Quit    DetailPrint "Downloading JRE from: $jreUri"
189          ExecWait $2  
190          Delete $2    MessageBox MB_OK "JSampler requires Java ${JRE_VERSION}, it will now \
191                        be downloaded and installed"
192    
193      StrCpy $2 "$TEMP\Java Runtime Environment.exe"
194      nsisdl::download /TIMEOUT=30000 "$jreUri" $2
195      Pop $R0  ; Get the return value
196      StrCmp $R0 "success" +3
197      MessageBox MB_OK "Download failed: $R0"
198      Quit
199      ExecWait $2
200      Delete $2
201  FunctionEnd  FunctionEnd
202    
203  ; 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 206  Function DetectJRE
206               "CurrentVersion"               "CurrentVersion"
207    StrCmp $2 ${JRE_VERSION} done    StrCmp $2 ${JRE_VERSION} done
208    
209      StrCmp $binType BIN_TYPE_64BIT 0 downloadjre
210    
211      ; on 64 bit systems also check the 32 bit view of the registry, maybe
212      ; a 32 bit JRE was already installed
213      SetRegView 32
214      ReadRegStr $3 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" \
215                 "CurrentVersion"
216      SetRegView 64  ; restore 64 bit view
217      StrCmp $3 ${JRE_VERSION} done
218    
219      downloadjre:
220    Call GetJRE    Call GetJRE
221    
222    done:    done:
# Line 180  FunctionEnd Line 225  FunctionEnd
225  ; Tries to find the location where VST plugins should be installed to  ; Tries to find the location where VST plugins should be installed to
226  Function DetectVstPath  Function DetectVstPath
227    Var /GLOBAL vstPluginPath    Var /GLOBAL vstPluginPath
228      Var /GLOBAL vstPluginPath64
229    
230      StrCmp $binType BIN_TYPE_64BIT 0 detectVst32
231      SetRegView 64 ; make sure we have the 64 bit registry view
232    
233      ; ------- VST 64 bit detection -------
234    
235      ClearErrors
236      ReadRegStr $0 HKCU "Software\VST" "VSTPluginsPath"
237      IfErrors check2ndRegistryKey64 0
238      StrCpy $vstPluginPath64 $0
239      DetailPrint "Found VST plugin (64 bit) directory in HKCU registry."
240      Goto done64
241    
242      check2ndRegistryKey64:
243      ClearErrors
244      ReadRegStr $0 HKLM "Software\VST" "VSTPluginsPath"
245      IfErrors noRegistryKeyExists64 0
246      StrCpy $vstPluginPath64 $0
247      DetailPrint "Found VST plugin (64 bit) directory in HKLM registry."
248      Goto done64
249    
250      noRegistryKeyExists64:
251      ClearErrors
252      DetailPrint "No VST plugin directory (64 bit) defined in registry."
253      StrCpy $vstPluginPath64 "${DEFAULT_VST_DIR64}"
254    
255      done64:
256      SetRegView 32 ; make sure we have a 32 bit registry view
257    
258      detectVst32: ; it follows the same thing for the 32 bit registry view
259    
260      ; ------- VST 32 bit detection -------
261    
262    ClearErrors    ClearErrors
263    ReadRegStr $0 HKCU "Software\VST" "VSTPluginsPath"    ReadRegStr $0 HKCU "Software\VST" "VSTPluginsPath"
264    IfErrors check2ndRegistryKey 0    IfErrors check2ndRegistryKey 0
265    StrCpy $vstPluginPath $0    StrCpy $vstPluginPath $0
266    DetailPrint "Found VST plugin directory in HKCU registry."    DetailPrint "Found VST plugin (32 bit) directory in HKCU registry."
267    Goto done    Goto done
268    
269    check2ndRegistryKey:    check2ndRegistryKey:
# Line 193  Function DetectVstPath Line 271  Function DetectVstPath
271    ReadRegStr $0 HKLM "Software\VST" "VSTPluginsPath"    ReadRegStr $0 HKLM "Software\VST" "VSTPluginsPath"
272    IfErrors noRegistryKeyExists 0    IfErrors noRegistryKeyExists 0
273    StrCpy $vstPluginPath $0    StrCpy $vstPluginPath $0
274    DetailPrint "Found VST plugin directory in HKLM registry."    DetailPrint "Found VST plugin (32 bit) directory in HKLM registry."
275    Goto done    Goto done
276    
277    noRegistryKeyExists:    noRegistryKeyExists:
278    ClearErrors    ClearErrors
279    DetailPrint "No VST plugin directory defined in registry."    DetailPrint "No VST plugin directory (32 bit) defined in registry."
280    StrCpy $vstPluginPath "$PROGRAMFILES\Steinberg\VstPlugins"    StrCpy $vstPluginPath "${DEFAULT_VST_DIR}"
281    
282    done:    done: ; ------- summary of detection -------
283    DetailPrint "Using the following as VST plugin directory: $vstPluginPath"  
284      StrCmp $binType BIN_TYPE_64BIT 0 summaryVst32
285      SetRegView 64  ; restore 64 bit view
286      DetailPrint "Using the following as VST (64 bit) plugin directory: $vstPluginPath64"
287      summaryVst32:
288      DetailPrint "Using the following as VST (32 bit) plugin directory: $vstPluginPath"
289  FunctionEnd  FunctionEnd
290    
291  ;--------------------------------  ;--------------------------------
292    
293  ; primer things to do  ; primer things to do (before installing, not called on uninstall)
294  Section ""  Section ""
295    Call DetectSystemType    Call DetectSystemType
296    Call DetectVstPath    Call DetectVstPath
# Line 220  Section "LinuxSampler 0.5.1.12cvs" SecLi Line 303  Section "LinuxSampler 0.5.1.12cvs" SecLi
303    DetailPrint "Installing LinuxSampler binaries ..."    DetailPrint "Installing LinuxSampler binaries ..."
304    StrCpy $installingLinuxSampler "1"    StrCpy $installingLinuxSampler "1"
305    
   ; Set output path to the installation directory.  
   SetOutPath $INSTDIR  
   
306    StrCmp $binType BIN_TYPE_64BIT linuxsampler64    StrCmp $binType BIN_TYPE_64BIT linuxsampler64
307    StrCmp $binType BIN_TYPE_686SSE linuxsampler686sse    StrCmp $binType BIN_TYPE_686SSE linuxsampler686sse
308    Goto linuxsampler686    Goto linuxsampler686
# Line 230  Section "LinuxSampler 0.5.1.12cvs" SecLi Line 310  Section "LinuxSampler 0.5.1.12cvs" SecLi
310    ; Files to install    ; Files to install
311    
312    linuxsampler64:    linuxsampler64:
313      SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
314    File bin\64\linuxsampler.exe    File bin\64\linuxsampler.exe
315    File bin\64\liblinuxsampler-1.dll    File bin\64\liblinuxsampler-1.dll
316    SetOutPath $vstPluginPath    File bin\64\libsqlite3-0.dll
317    File bin\64\LinuxSampler.dll    SetOutPath $vstPluginPath64
318    Goto done    File /oname=LinuxSampler64.dll bin\64\LinuxSampler.dll
319      MessageBox MB_YESNO \
320        "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?" \
321        IDNO done
322    
323      ; so the other sections install their 32 bit versions as well
324      StrCpy $installing32BitToo "1"
325    
326    linuxsampler686sse:    linuxsampler686sse:
327      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
328    File bin\686sse\linuxsampler.exe    File bin\686sse\linuxsampler.exe
329    File bin\686sse\liblinuxsampler-1.dll    File bin\686sse\liblinuxsampler-1.dll
330      File bin\686\libsqlite3-0.dll
331    SetOutPath $vstPluginPath    SetOutPath $vstPluginPath
332    File bin\686sse\LinuxSampler.dll    File /oname=LinuxSampler32.dll bin\686sse\LinuxSampler.dll
333    Goto done    Goto done
334    
335    linuxsampler686:    linuxsampler686:
336      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
337    File bin\686\linuxsampler.exe    File bin\686\linuxsampler.exe
338    File bin\686\liblinuxsampler-1.dll    File bin\686\liblinuxsampler-1.dll
339      File bin\686\libsqlite3-0.dll
340    SetOutPath $vstPluginPath    SetOutPath $vstPluginPath
341    File bin\686\LinuxSampler.dll    File /oname=LinuxSampler32.dll bin\686\LinuxSampler.dll
342    Goto done    Goto done
343    
344    done:    done:
345  SectionEnd  SectionEnd
346    
347  Section "JSampler 'Fantasia' 0.8a-cvs6" SecJSampler  Section "JSampler 'Fantasia' 0.8a-cvs8" SecJSampler
348    DetailPrint "Installing JSampler binaries ..."    DetailPrint "Installing JSampler binaries ..."
349    ; make sure JRE is installed    ; make sure JRE is installed
350    Call DetectJRE    Call DetectJRE
# Line 261  Section "JSampler 'Fantasia' 0.8a-cvs6" Line 352  Section "JSampler 'Fantasia' 0.8a-cvs6"
352    ; Set output path to the installation directory.    ; Set output path to the installation directory.
353    SetOutPath $INSTDIR    SetOutPath $INSTDIR
354    ; Files to install    ; Files to install
355    File bin\Fantasia-0.8a-cvs6.jar    File bin\Fantasia-0.8a-cvs8.jar
356    File jsampler.ico    File jsampler.ico
357  SectionEnd  SectionEnd
358    
# Line 289  Section "gigedit 0.1.1.x (cvs2009-05-10) Line 380  Section "gigedit 0.1.1.x (cvs2009-05-10)
380    ; installer, so no check and no download necessary ATM)    ; installer, so no check and no download necessary ATM)
381    ;Call CheckForGtkmm    ;Call CheckForGtkmm
382    
   ; Set output path to the installation directory.  
   SetOutPath $INSTDIR  
   
383    StrCmp $binType BIN_TYPE_64BIT gigedit64    StrCmp $binType BIN_TYPE_64BIT gigedit64
384    ; 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
385    ;StrCmp $binType BIN_TYPE_686SSE gigedit686sse    ;StrCmp $binType BIN_TYPE_686SSE gigedit686sse
# Line 300  Section "gigedit 0.1.1.x (cvs2009-05-10) Line 388  Section "gigedit 0.1.1.x (cvs2009-05-10)
388    ; Files to install    ; Files to install
389    
390    gigedit64:    gigedit64:
391      SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
392    File bin\64\gigedit.exe    File bin\64\gigedit.exe
393    File bin\64\libgigedit-1.dll    File bin\64\libgigedit-1.dll
394    SetOutPath "$INSTDIR\plugins"    SetOutPath "$INSTDIR\${SUBDIR_64_BIT}\plugins"
395    File bin\64\plugins\libgigeditlinuxsamplerplugin-1.dll    File bin\64\plugins\libgigeditlinuxsamplerplugin-1.dll
396    SetOutPath $INSTDIR    SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
397    File bin\64\libatk-1.0-0.dll    File bin\64\libatk-1.0-0.dll
398    File bin\64\libatkmm-1.6-1.dll    File bin\64\libatkmm-1.6-1.dll
399    File bin\64\libcairo-2.dll    File bin\64\libcairo-2.dll
# Line 331  Section "gigedit 0.1.1.x (cvs2009-05-10) Line 420  Section "gigedit 0.1.1.x (cvs2009-05-10)
420    File bin\64\libsigc-2.0-0.dll    File bin\64\libsigc-2.0-0.dll
421    File bin\64\libtiff.dll    File bin\64\libtiff.dll
422    File bin\64\zlib1.dll    File bin\64\zlib1.dll
423    SetOutPath $INSTDIR\etc\gtk-2.0    SetOutPath $INSTDIR\${SUBDIR_64_BIT}\etc\gtk-2.0
424    File bin\64\etc\gtk-2.0\gtkrc    File bin\64\etc\gtk-2.0\gtkrc
425    SetOutPath $INSTDIR\lib\gtk-2.0\2.10.0\engines    SetOutPath $INSTDIR\${SUBDIR_64_BIT}\lib\gtk-2.0\2.10.0\engines
426    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
427    SetOutPath $INSTDIR\share\locale\de\LC_MESSAGES    SetOutPath $INSTDIR\${SUBDIR_64_BIT}\share\locale\de\LC_MESSAGES
428    File bin\64\share\locale\de\LC_MESSAGES\gigedit.mo    File bin\64\share\locale\de\LC_MESSAGES\gigedit.mo
429    File bin\64\share\locale\de\LC_MESSAGES\gtk20.mo    File bin\64\share\locale\de\LC_MESSAGES\gtk20.mo
430    SetOutPath $INSTDIR\share\locale\sv\LC_MESSAGES    SetOutPath $INSTDIR\${SUBDIR_64_BIT}\share\locale\sv\LC_MESSAGES
431    File bin\64\share\locale\sv\LC_MESSAGES\gigedit.mo    File bin\64\share\locale\sv\LC_MESSAGES\gigedit.mo
432    File bin\64\share\locale\sv\LC_MESSAGES\gtk20.mo    File bin\64\share\locale\sv\LC_MESSAGES\gtk20.mo
433    SetOutPath $INSTDIR\share\themes\MS-Windows\gtk-2.0    SetOutPath $INSTDIR\${SUBDIR_64_BIT}\share\themes\MS-Windows\gtk-2.0
434    File bin\64\share\themes\MS-Windows\gtk-2.0\gtkrc    File bin\64\share\themes\MS-Windows\gtk-2.0\gtkrc
435    Goto done  
436      ; shall we install the 32 bit version as well?
437      StrCmp $installing32BitToo "1" gigedit686 done
438    
439    gigedit686:    gigedit686:
440      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
441    File bin\686\gigedit.exe    File bin\686\gigedit.exe
442    File bin\686\libgigedit-1.dll    File bin\686\libgigedit-1.dll
443    SetOutPath "$INSTDIR\plugins"    SetOutPath "$INSTDIR\${SUBDIR_32_BIT}\plugins"
444    File bin\686\plugins\libgigeditlinuxsamplerplugin-1.dll    File bin\686\plugins\libgigeditlinuxsamplerplugin-1.dll
445    SetOutPath $INSTDIR    SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
446    File bin\686\intl.dll    File bin\686\intl.dll
447    File bin\686\jpeg62.dll    File bin\686\jpeg62.dll
448    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 469  Section "gigedit 0.1.1.x (cvs2009-05-10)
469    File bin\686\libsigc-2.0-0.dll    File bin\686\libsigc-2.0-0.dll
470    File bin\686\libtiff3.dll    File bin\686\libtiff3.dll
471    File bin\686\zlib1.dll    File bin\686\zlib1.dll
472    SetOutPath $INSTDIR\etc\gtk-2.0    SetOutPath $INSTDIR\${SUBDIR_32_BIT}\etc\gtk-2.0
473    File bin\686\etc\gtk-2.0\gdk-pixbuf.loaders    File bin\686\etc\gtk-2.0\gdk-pixbuf.loaders
474    File bin\686\etc\gtk-2.0\gtkrc    File bin\686\etc\gtk-2.0\gtkrc
475    SetOutPath $INSTDIR\lib\gtk-2.0\2.10.0\engines    SetOutPath $INSTDIR\${SUBDIR_32_BIT}\lib\gtk-2.0\2.10.0\engines
476    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
477    SetOutPath $INSTDIR\lib\gtk-2.0\2.10.0\loaders    SetOutPath $INSTDIR\${SUBDIR_32_BIT}\lib\gtk-2.0\2.10.0\loaders
478    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
479    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
480    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 490  Section "gigedit 0.1.1.x (cvs2009-05-10)
490    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
491    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
492    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
493    SetOutPath $INSTDIR\share\locale\de\LC_MESSAGES    SetOutPath $INSTDIR\${SUBDIR_32_BIT}\share\locale\de\LC_MESSAGES
494    File bin\686\share\locale\de\LC_MESSAGES\gigedit.mo    File bin\686\share\locale\de\LC_MESSAGES\gigedit.mo
495    File bin\686\share\locale\de\LC_MESSAGES\gtk20.mo    File bin\686\share\locale\de\LC_MESSAGES\gtk20.mo
496    SetOutPath $INSTDIR\share\locale\sv\LC_MESSAGES    SetOutPath $INSTDIR\${SUBDIR_32_BIT}\share\locale\sv\LC_MESSAGES
497    File bin\686\share\locale\sv\LC_MESSAGES\gigedit.mo    File bin\686\share\locale\sv\LC_MESSAGES\gigedit.mo
498    File bin\686\share\locale\sv\LC_MESSAGES\gtk20.mo    File bin\686\share\locale\sv\LC_MESSAGES\gtk20.mo
499    SetOutPath $INSTDIR\share\themes\MS-Windows\gtk-2.0    SetOutPath $INSTDIR\${SUBDIR_32_BIT}\share\themes\MS-Windows\gtk-2.0
500    File bin\686\share\themes\MS-Windows\gtk-2.0\gtkrc    File bin\686\share\themes\MS-Windows\gtk-2.0\gtkrc
501    Goto done    Goto done
502    
# Line 415  Section "libgig 3.2.1.x (cvs2009-05-03)" Line 507  Section "libgig 3.2.1.x (cvs2009-05-03)"
507    DetailPrint "Installing libgig binaries ..."    DetailPrint "Installing libgig binaries ..."
508    ; We make this a mandatory component    ; We make this a mandatory component
509    SectionIn RO    SectionIn RO
   ; Set output path to the installation directory.  
   SetOutPath $INSTDIR  
510    
511    StrCmp $binType BIN_TYPE_64BIT libgig64    StrCmp $binType BIN_TYPE_64BIT libgig64
512    StrCmp $binType BIN_TYPE_686SSE libgig686sse    StrCmp $binType BIN_TYPE_686SSE libgig686sse
# Line 425  Section "libgig 3.2.1.x (cvs2009-05-03)" Line 515  Section "libgig 3.2.1.x (cvs2009-05-03)"
515    ; Files to install    ; Files to install
516    
517    libgig64:    libgig64:
518      SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
519    File bin\64\libgig-6.dll    File bin\64\libgig-6.dll
520    File bin\64\rifftree.exe    File bin\64\rifftree.exe
521    File bin\64\dlsdump.exe    File bin\64\dlsdump.exe
# Line 432  Section "libgig 3.2.1.x (cvs2009-05-03)" Line 523  Section "libgig 3.2.1.x (cvs2009-05-03)"
523    File bin\64\gigextract.exe    File bin\64\gigextract.exe
524    ; special dependency for the 64 bit version    ; special dependency for the 64 bit version
525    File bin\64\libgcc_s_sjlj-1.dll    File bin\64\libgcc_s_sjlj-1.dll
526    Goto done  
527      ; shall we install the 32 bit version as well?
528      StrCmp $installing32BitToo "1" libgig686sse done
529    
530    libgig686sse:    libgig686sse:
531      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
532    File bin\686sse\libgig-6.dll    File bin\686sse\libgig-6.dll
533    File bin\686sse\rifftree.exe    File bin\686sse\rifftree.exe
534    File bin\686sse\dlsdump.exe    File bin\686sse\dlsdump.exe
# Line 443  Section "libgig 3.2.1.x (cvs2009-05-03)" Line 537  Section "libgig 3.2.1.x (cvs2009-05-03)"
537    Goto done    Goto done
538    
539    libgig686:    libgig686:
540      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
541    File bin\686\libgig-6.dll    File bin\686\libgig-6.dll
542    File bin\686\rifftree.exe    File bin\686\rifftree.exe
543    File bin\686\dlsdump.exe    File bin\686\dlsdump.exe
# Line 452  Section "libgig 3.2.1.x (cvs2009-05-03)" Line 547  Section "libgig 3.2.1.x (cvs2009-05-03)"
547    
548    done:    done:
549    
550    ; As this is a mandatory component, we add the common binary directory    ; As this is a mandatory component, we misuse is for the following
551    ; of LinuxSampler and friends to the system's PATH variable here ...    ; common tasks as well ...
552    
553      ; Add LinuxSampler and friends to the system's PATH variable
554    ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR"    ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR"
555      ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR\${SUBDIR_64_BIT}"
556      ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR\${SUBDIR_32_BIT}"
557    
   ; As this is a mandatory component, we misuse it to install the uninstaller as well ...  
558    ; Write the uninstall keys for Windows    ; Write the uninstall keys for Windows
559    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "DisplayName" "LinuxSampler ${RELEASE_DATE}"    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "DisplayName" "LinuxSampler ${RELEASE_DATE}"
560    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "UninstallString" '"$INSTDIR\uninstall.exe"'    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "UninstallString" '"$INSTDIR\uninstall.exe"'
561    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "NoModify" 1    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "NoModify" 1
562    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "NoRepair" 1    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler" "NoRepair" 1
563    WriteUninstaller "uninstall.exe"    WriteUninstaller "uninstall.exe"
564    ;Store installation folder  
565    WriteRegStr HKCU "Software\LinuxSampler" "" $INSTDIR    ; Store installation folders
566      WriteRegStr HKLM "Software\LinuxSampler" "Main Directory" $INSTDIR
567      StrCmp $binType BIN_TYPE_64BIT 0 +3
568      WriteRegStr HKLM "Software\LinuxSampler" "VST 64 Directory" $vstPluginPath64
569      StrCmp $installing32BitToo "1" 0 +2
570      WriteRegStr HKLM "Software\LinuxSampler" "VST 32 Directory" $vstPluginPath
571    
572      ; Just for info, store the release date as well
573      WriteRegStr HKLM "Software\LinuxSampler" "Release Date" ${RELEASE_DATE}
574  SectionEnd  SectionEnd
575    
576  Section "libsndfile 1.0.19" Seclibsndfile  Section "libsndfile 1.0.19" Seclibsndfile
577    DetailPrint "Installing libsndfile binaries ..."    DetailPrint "Installing libsndfile binaries ..."
578    ; We make this a mandatory component    ; We make this a mandatory component
579    SectionIn RO    SectionIn RO
   ; Set output path to the installation directory.  
   SetOutPath $INSTDIR  
580    
581    StrCmp $binType BIN_TYPE_64BIT libsndfile64    StrCmp $binType BIN_TYPE_64BIT libsndfile64
582    ; 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 586  Section "libsndfile 1.0.19" Seclibsndfil
586    ; Files to install    ; Files to install
587    
588    libsndfile64:    libsndfile64:
589      SetOutPath "$INSTDIR\${SUBDIR_64_BIT}"
590    File bin\64\libsndfile-1.dll    File bin\64\libsndfile-1.dll
591    Goto done  
592      ; shall we install the 32 bit version as well?
593      StrCmp $installing32BitToo "1" libsndfile686 done
594    
595    libsndfile686:    libsndfile686:
596      SetOutPath "$INSTDIR\${SUBDIR_32_BIT}"
597    File bin\686\libsndfile-1.dll    File bin\686\libsndfile-1.dll
598    Goto done    Goto done
599    
# Line 493  Section "libsndfile 1.0.19" Seclibsndfil Line 601  Section "libsndfile 1.0.19" Seclibsndfil
601  SectionEnd  SectionEnd
602    
603  Section "Start Menu Shortcuts" SecShortcuts  Section "Start Menu Shortcuts" SecShortcuts
604      Var /GLOBAL javawbin
605      Var /GLOBAL samplerDir
606    
607      StrCmp $binType BIN_TYPE_64BIT 0 +3
608      StrCpy $samplerDir "$INSTDIR\${SUBDIR_64_BIT}"
609      Goto +2
610      StrCpy $samplerDir "$INSTDIR\${SUBDIR_32_BIT}"
611    
612      ; Switch system variables to 'all users', to ensure we create the start
613      ; menu shortcuts for all users and not just for the current user.
614      SetShellVarContext all
615    
616      ; try to resolve the full qualified path of the javaw binary
617      ClearErrors
618      SearchPath $javawbin javaw.exe
619      IfErrors 0 javawDetected
620      ClearErrors
621      ; if all fails, simply use SYSDIR (which should work almost always anyway)
622      DetailPrint "WRN: Could not resolve javaw.exe path, using SYSDIR."
623      StrCpy $javawbin "$SYSDIR\javaw.exe"
624      javawDetected:
625    
626    CreateDirectory "$SMPROGRAMS\LinuxSampler"    CreateDirectory "$SMPROGRAMS\LinuxSampler"
627    
628      SetOutPath $INSTDIR
629    CreateShortCut "$SMPROGRAMS\LinuxSampler\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0    CreateShortCut "$SMPROGRAMS\LinuxSampler\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
630    
631    StrCmp $installingLinuxSampler '1' 0 +2    StrCmp $installingLinuxSampler '1' 0 +3
632    CreateShortCut "$SMPROGRAMS\LinuxSampler\LinuxSampler 0.5.1 (stand alone backend).lnk" "$INSTDIR\linuxsampler.exe" "" "$INSTDIR\linuxsampler.exe" 0    SetOutPath $samplerDir
633      CreateShortCut "$SMPROGRAMS\LinuxSampler\LinuxSampler 0.5.1.12cvs (stand alone backend).lnk" "$samplerDir\linuxsampler.exe" "" "$samplerDir\linuxsampler.exe" 0
634    
635    StrCmp $installingJSampler '1' 0 +2    StrCmp $installingJSampler '1' 0 +3
636    CreateShortCut '$SMPROGRAMS\LinuxSampler\JSampler Fantasia 0.8a (frontend).lnk' 'javaw' '-jar "$INSTDIR\Fantasia-0.8a.jar"' '$INSTDIR\jsampler.ico' 0    SetOutPath $INSTDIR
637      CreateShortCut '$SMPROGRAMS\LinuxSampler\JSampler Fantasia 0.8a-cvs8 (frontend).lnk' '$javawbin' '-jar "$INSTDIR\Fantasia-0.8a-cvs8.jar"' '$INSTDIR\jsampler.ico' 0
638    
639    StrCmp $installingQSampler '1' 0 +2    StrCmp $installingQSampler '1' 0 +3
640    CreateShortCut "$SMPROGRAMS\LinuxSampler\QSampler 0.2.1 (frontend).lnk" "$INSTDIR\qsampler.exe" "" "$INSTDIR\qsampler.ico" 0    SetOutPath $INSTDIR
641      CreateShortCut "$SMPROGRAMS\LinuxSampler\QSampler 0.2.1.26 (frontend).lnk" "$INSTDIR\qsampler.exe" "" "$INSTDIR\qsampler.ico" 0
642    
643    StrCmp $installinggigedit '1' 0 +2    StrCmp $installinggigedit '1' 0 +3
644    CreateShortCut "$SMPROGRAMS\LinuxSampler\gigedit 0.1.1 (stand alone).lnk" "$INSTDIR\gigedit.exe" "" "$INSTDIR\gigedit.exe" 0    SetOutPath $samplerDir
645      CreateShortCut "$SMPROGRAMS\LinuxSampler\gigedit 0.1.1.x cvs2009-05-10 (stand alone).lnk" "$samplerDir\gigedit.exe" "" "$samplerDir\gigedit.exe" 0
646    
647      !insertmacro CreateInternetShortcut \
648      "$SMPROGRAMS\LinuxSampler\\Support LinuxSampler" \
649      "http://www.linuxsampler.org/donations.html" \
650      "" "0"
651  SectionEnd  SectionEnd
652    
653  ;--------------------------------  ;--------------------------------
# Line 515  SectionEnd Line 655  SectionEnd
655  ; Uninstaller  ; Uninstaller
656    
657  Section "Uninstall"  Section "Uninstall"
658    DetailPrint "Removing LinuxSampler directory from PATH variable ..."    Var /GLOBAL vstdir32
659      Var /GLOBAL vstdir64
660    
661      Call un.DetectSystemType
662    
663      DetailPrint "Removing LinuxSampler directories from PATH variable ..."
664    ${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR"    ${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR"
665      ${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR\${SUBDIR_32_BIT}"
666      ${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR\${SUBDIR_64_BIT}"
667    
668      StrCmp $binType BIN_TYPE_64BIT 0 uninstallVst32
669      DetailPrint "Searching for VST plugin (64 bit) ..."
670      ClearErrors
671      ReadRegStr $0 HKLM "Software\LinuxSampler" "VST 64 Directory"
672      IfErrors uninstallVst32 0
673      StrCpy $vstdir64 $0
674      DetailPrint "Removing VST plugin (64 bit) from: $vstdir64 ..."
675      Delete "$vstdir64\LinuxSampler64.dll"
676    
677      uninstallVst32:
678    
679      DetailPrint "Searching for VST plugin (32 bit) ..."
680      ClearErrors
681      ReadRegStr $0 HKLM "Software\LinuxSampler" "VST 32 Directory"
682      IfErrors uninstallVstDone 0
683      StrCpy $vstdir32 $0
684      DetailPrint "Removing VST plugin (32 bit) from: $vstdir32 ..."
685      Delete "$vstdir32\LinuxSampler32.dll"
686    
687      uninstallVstDone:
688      ClearErrors
689    
690    DetailPrint "Removing registry keys ..."    DetailPrint "Removing registry keys ..."
691    DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler"    DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LinuxSampler"
692      DeleteRegKey HKLM "Software\LinuxSampler"
693    
694    DetailPrint "Removing VST plugin ..."    ; Workaround for Vista and younger: switch system variables to 'all users'
695    Delete $vstPluginPath\LinuxSampler.dll    ; otherwise e.g. we couldn't delete start menu shortcuts below on those
696      ; systems, as those variables would point to the current user.
697      SetShellVarContext all
698    
699    DetailPrint "Removing shortcuts (if any) ..."    DetailPrint "Removing shortcuts (if any) from: $SMPROGRAMS ..."
700    Delete "$SMPROGRAMS\LinuxSampler\*.*"    Delete "$SMPROGRAMS\LinuxSampler\*.*"
701    
702    DetailPrint "Removing directories used ..."    DetailPrint "Removing directories used ..."
703    RMDir "$SMPROGRAMS\LinuxSampler"    RMDir /r "$SMPROGRAMS\LinuxSampler"
704    RMDir /r "$INSTDIR"    RMDir /r "$INSTDIR"
705  SectionEnd  SectionEnd
706    
# Line 536  SectionEnd Line 708  SectionEnd
708  ;Descriptions  ;Descriptions
709    
710  ;Language strings  ;Language strings
711  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."
712  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."
713  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!"
714  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."
715  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."
716  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."
717  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.1941

  ViewVC Help
Powered by ViewVC