]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/win32/winbacula.nsi.in
added VSS toggling by enable_vss
[bacula/bacula] / bacula / src / win32 / winbacula.nsi.in
index 149c5b3ff2ab546b382183494a1186c790cc60ac..cc83244df6ecae1dc321094bd13beca6bbadaa09 100755 (executable)
@@ -1,14 +1,25 @@
 ; winbacula.nsi
 ;
-; Written by Michel Meyers (michel@tcnnet.dyndns.org)
+; Began as a version written by Michel Meyers (michel@tcnnet.dyndns.org)
 ;
-; Updated by Kern Sibbald for native Win32 Bacula
+; Adapted by Kern Sibbald for native Win32 Bacula
 ;    added a number of elements from Christopher Hull's installer
 ;
 ; D. Scott Barninger Nov 13 2004
 ; added configuration editing for bconsole.conf and wx-console.conf
 ; better explanation in dialog boxes for editing config files
 ; added Start Menu items
+; fix uninstall of config files to do all not just bacula-fd.conf
+;
+; D. Scott Barninger Dec 05 2004
+; added specification of default permissions for bacula-fd.conf
+;   - thanks to Jamie Ffolliott for pointing me at cacls
+; added removal of working-dir files if user selects to remove config
+; uninstall is now 100% clean
+;
+; D. Scott Barninger Apr 17 2005
+; 1.36.3 release docs update
+; add pdf manual and menu shortcut
 ;
 ; Command line options:
 ;
@@ -126,8 +137,11 @@ Section "Bacula File Service" SecService
   ; Create Start Menu Directory
   SetShellVarContext all
   CreateDirectory "$SMPROGRAMS\Bacula"
+  ; If not installed as service create Start Menu link
+  StrCmp $9 "1" Uninstall
   CreateShortCut "$SMPROGRAMS\Bacula\Start Bacula Client.lnk" "$INSTDIR\bin\bacula-fd.exe" "-c $INSTDIR\bin\bacula-fd.conf" "$INSTDIR\bin\bacula-fd.exe" 0
 
+  Uninstall:
   ; Write the uninstall keys for Windows & create Start Menu entry
   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "DisplayName" "Bacula Client"
   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "UninstallString" '"$INSTDIR\uninstall.exe"'
@@ -150,8 +164,11 @@ Section "Bacula File Service" SecService
   Call IsNt
   Pop $R0
   StrCmp $R0 "false" do_win98
-  MessageBox MB_YESNO|MB_ICONQUESTION  "Would you like to start the Bacula Client now?" IDNO NoStart
+  MessageBox MB_YESNO|MB_ICONQUESTION  "Would you like to start the Bacula Client now?" IDNO SetPerms
   Exec 'net start bacula'
+ SetPerms:
+  ; set default permissions on config file so it's not world readable
+  Exec 'cmd /C echo Y|cacls "$INSTDIR\bin\bacula-fd.conf" /G SYSTEM:F Administrators:F'
   goto NoStart 
  do_win98:
   File Start.bat
@@ -205,9 +222,13 @@ SectionEnd
 Section "Install Documentation" SecDoc
   SetOutPath "$INSTDIR\doc"
   CreateDirectory "$INSTDIR\doc"
-  File ..\..\doc\html-manual\*.html
-  File ..\..\doc\html-manual\*.gif
-  File ..\..\doc\html-manual\*.jpg
+  File ..\..\..\docs\manual\bacula\*.html
+  File ..\..\..\docs\manual\bacula\*.png
+  File ..\..\..\docs\manual\bacula\*.css
+  File ..\..\..\docs\manual\bacula.pdf
+  ; Create Start Menu entry
+  SetShellVarContext all
+  CreateShortCut "$SMPROGRAMS\Bacula\Manual.lnk" "$INSTDIR\doc\bacula.pdf"
 SectionEnd
 
 ;
@@ -253,24 +274,34 @@ Section "Uninstall"
 
   ; remove files and uninstaller (preserving config for now)
   CopyFiles /SILENT "$INSTDIR\bin\bacula-fd.conf" "$INSTDIR\bacula-fd.conf"
+  IfFileExists "$INSTDIR\bin\bconsole.conf" save_bconsole nosave_bconsole
+  save_bconsole:
+  CopyFiles /SILENT "$INSTDIR\bin\bconsole.conf" "$INSTDIR\bconsole.conf"
+  nosave_bconsole:
+  IfFileExists "$INSTDIR\bin\wx-console.conf" save_wxconsole nosave_wxconsole
+  save_wxconsole:
+  CopyFiles /SILENT "$INSTDIR\bin\wx-console.conf" "$INSTDIR\wx-console.conf"
+  nosave_wxconsole:
   Delete /REBOOTOK "$INSTDIR\bin\*.*"
   Delete /REBOOTOK "$INSTDIR\doc\*.*"
   CopyFiles /SILENT "$INSTDIR\bacula-fd.conf" "$INSTDIR\bin\bacula-fd.conf"
   CopyFiles /SILENT "$INSTDIR\bconsole.conf" "$INSTDIR\bin\bconsole.conf"
-  Delete /REBOOTOK "$INSTDIR\bacula-fd.conf"
+  CopyFiles /SILENT "$INSTDIR\wx-console.conf" "$INSTDIR\bin\wx-console.conf"
+  Delete /REBOOTOK "$INSTDIR\*.conf"
   Delete /REBOOTOK "$INSTDIR\Uninstall.exe"
 
   ; Check for existing installation
-  MessageBox MB_YESNO|MB_ICONQUESTION "Would you like to delete the current configuration file ($INSTDIR\bin\bacula-fd.conf)?" IDNO LeaveConfig
-  Delete /REBOOTOK "$INSTDIR\bin\bacula-fd.conf"
+  MessageBox MB_YESNO|MB_ICONQUESTION "Would you like to delete the current configuration files and the working state file?" IDNO LeaveConfig
+  Delete /REBOOTOK "$INSTDIR\bin\*.conf"
+  Delete /REBOOTOK "$INSTDIR\working\*"
   ; remove directories used
   RMDir "$INSTDIR\bin"
   RMDir "$INSTDIR\doc"
   RMDir "$INSTDIR\working"
   RMDir "$INSTDIR"
   RMDir "C:\tmp"
-  RMDir "$SMPROGRAMS\Bacula"
   LeaveConfig:
+  RMDir "$SMPROGRAMS\Bacula"
   
 SectionEnd