]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/win32/win32_installer/winbacula.nsi
Tweak rename Windows binaries
[bacula/bacula] / bacula / src / win32 / win32_installer / winbacula.nsi
index 075f8b35261feadc424e6ce6f23b7fce2e340142..25c2eb31673ea4f65d81eda7906bec1bd458bc6f 100644 (file)
 ; Added Bacula-SD and Bacula-DIR
 ; Replaced ParameterGiven with standard GetOptions
 ;
+; Kern Sibbald October 2010
+; Remove server installs
+; Install into single bacula directory
+;  (i.e. undo a large part of what Robert Nelson did)
+;
+;
 ; Command line options:
 ;
 ; /service    - 
 ; Basics
 ;
 Name "Bacula"
-OutFile "${OUT_DIR}\winbacula-${VERSION}.exe"
+OutFile "${OUT_DIR}\bacula-win${WINVER}-${VERSION}.exe"
 SetCompressor lzma
-InstallDir "$PROGRAMFILES\Bacula"
+
+InstallDir "C:\Program Files\Bacula"
 InstallDirRegKey HKLM "Software\Bacula" "InstallLocation"
 
 InstType "Client"
-InstType "Server"
-InstType "Full"
+;InstType "Server"
+;InstType "Full"
 
 !insertmacro GetParent
 
@@ -158,6 +165,7 @@ Var PostgreSQLVersion
 
 Var AutomaticInstall
 Var InstallType
+
 !define NewInstall      0
 !define UpgradeInstall  1
 !define MigrateInstall  2
@@ -171,8 +179,8 @@ Var NewComponents
 ;     2 = Director Service
 ;     3 = Command Console
 ;     4 = Bat Console
-;     5 = wxWidgets Console
-;     7 = Documentation (PDF)
+;     5 = wxWidgits Console
+;     6 = Documentation (PDF)
 ;     7 = Documentation (HTML)
 
 !define ComponentFile                   1
@@ -212,6 +220,7 @@ Function .onInit
   StrCpy $MySQLVersion ""
   StrCpy $PostgreSQLPath ""
   StrCpy $PostgreSQLVersion ""
+  StrCpy $LocalDirectorPassword ""
 
   ${GetParameters} $R0
 
@@ -240,37 +249,22 @@ Function .onInit
   Pop $LocalHostAddress
 
   Call GetUserName
-  Pop $ConfigDirectorMailAddress
-
-  Call FindDatabaseApps
 
   ; Configuration Defaults
 
   StrCpy $ConfigClientName               "$HostName-fd"
   StrCpy $ConfigClientPort               9102
-  StrCpy $ConfigClientMaxJobs            5
+  StrCpy $ConfigClientMaxJobs            10
   ;StrCpy $ConfigClientPassword
   StrCpy $ConfigClientInstallService     "$OptService"
   StrCpy $ConfigClientStartService       "$OptStart"
 
-  StrCpy $ConfigStorageName              "$HostName-sd"
-  StrCpy $ConfigStoragePort              9103
-  StrCpy $ConfigStorageMaxJobs           10
-  ;StrCpy $ConfigStoragePassword
-  StrCpy $ConfigStorageInstallService    "$OptService"
-  StrCpy $ConfigStorageStartService      "$OptStart"
-
-  ;StrCpy $ConfigDirectorName            "$HostName-dir"
   StrCpy $ConfigDirectorPort             9101
-  StrCpy $ConfigDirectorMaxJobs          1
-  ;StrCpy $ConfigDirectorPassword
-  StrCpy $ConfigDirectorDB               0
-  StrCpy $ConfigDirectorInstallService   "$OptService"
-  StrCpy $ConfigDirectorStartService     "$OptStart"
 
   StrCpy $ConfigMonitorName              "$HostName-mon"
   ;StrCpy $ConfigMonitorPassword
 
+; PLUGINSDIR refers to temporary helper programs and not Bacula plugins!
   InitPluginsDir
   File "/oname=$PLUGINSDIR\openssl.exe"  "${SRC_DIR}\openssl.exe"
   File "/oname=$PLUGINSDIR\libeay32.dll" "${SRC_DIR}\libeay32.dll"
@@ -282,6 +276,7 @@ Function .onInit
 
   SetPluginUnload alwaysoff
 
+; Set client password
   nsExec::Exec '"$PLUGINSDIR\openssl.exe" rand -base64 -out $PLUGINSDIR\pw.txt 33'
   pop $R0
   ${If} $R0 = 0
@@ -292,28 +287,9 @@ Function .onInit
      FileClose $R1
   ${EndIf}
 
-  nsExec::Exec '"$PLUGINSDIR\openssl.exe" rand -base64 -out $PLUGINSDIR\pw.txt 33'
-  pop $R0
-  ${If} $R0 = 0
-   FileOpen $R1 "$PLUGINSDIR\pw.txt" r
-   IfErrors +4
-     FileRead $R1 $R0
-     ${StrTrimNewLines} $ConfigStoragePassword $R0
-     FileClose $R1
-  ${EndIf}
-
-  nsExec::Exec '"$PLUGINSDIR\openssl.exe" rand -base64 -out $PLUGINSDIR\pw.txt 33'
-  pop $R0
-  ${If} $R0 = 0
-   FileOpen $R1 "$PLUGINSDIR\pw.txt" r
-   IfErrors +4
-     FileRead $R1 $R0
-     ${StrTrimNewLines} $LocalDirectorPassword $R0
-     FileClose $R1
-  ${EndIf}
-
   SetPluginUnload manual
 
+; Set monitor password
   nsExec::Exec '"$PLUGINSDIR\openssl.exe" rand -base64 -out $PLUGINSDIR\pw.txt 33'
   pop $R0
   ${If} $R0 = 0
@@ -337,43 +313,26 @@ Function InstallCommonFiles
     SetOutPath "$INSTDIR"
     File "Readme.txt"
 
-    SetOutPath "$INSTDIR\bin"
-!if "${BUILD_TOOLS}" == "VC8"
-    File "${SRC_DIR}\msvcm80.dll"
-    File "${SRC_DIR}\msvcp80.dll"
-    File "${SRC_DIR}\msvcr80.dll"
-    File "${SRC_DIR}\Microsoft.VC80.CRT.manifest"
-    File "${SRC_DIR}\pthreadVCE.dll"
-!endif
-!if "${BUILD_TOOLS}" == "VC8_DEBUG"
-    File "${SRC_DIR}\msvcm80.dll"
-    File "${SRC_DIR}\msvcp80.dll"
-    File "${SRC_DIR}\msvcr80.dll"
-    File "${SRC_DIR}\Microsoft.VC80.CRT.manifest"
-    File "${SRC_DIR}\msvcm80d.dll"
-    File "${SRC_DIR}\msvcp80d.dll"
-    File "${SRC_DIR}\msvcr80d.dll"
-    File "${SRC_DIR}\Microsoft.VC80.DebugCRT.manifest"
-    File "${SRC_DIR}\pthreadVCE.dll"
-!endif
-!if "${BUILD_TOOLS}" == "MinGW"
+    SetOutPath "$INSTDIR"
+!if "${BUILD_TOOLS}" == "MinGW32"
     File "${SRC_DIR}\mingwm10.dll"
     File "${SRC_DIR}\pthreadGCE.dll"
-!endif
-    File "${SRC_DIR}\libeay32.dll"
-    File "${SRC_DIR}\ssleay32.dll"
     File "${SRC_DIR}\zlib1.dll"
-!if "${BUILD_TOOLS}" == "VC8"
-    File "${SRC_DIR}\zlib1.dll.manifest"
+    File "${SRC_DIR}\ssleay32.dll"
+    File "${SRC_DIR}\libeay32.dll"
 !endif
-!If "${BUILD_TOOLS}" == "VC8_DEBUG"
-    File "${SRC_DIR}\zlib1.dll.manifest"
+!if "${BUILD_TOOLS}" == "MinGW64"
+    File "${SRC_DIR}\pthreadGCE.dll"
+    File "${SRC_DIR}\cryptoeay32-0.9.8.dll"
+    File "${SRC_DIR}\ssleay32-0.9.8.dll"
+    File "${SRC_DIR}\zlib1.dll"
 !endif
+    File "${SRC_DIR}\bacula.dll"
+
     File "/oname=$INSTDIR\openssl.cnf" "${SRC_DIR}\openssl.cnf"
     File "${SRC_DIR}\openssl.exe"
     File "${SRC_DIR}\bsleep.exe"
     File "${SRC_DIR}\bsmtp.exe"
-    File "${SRC_DIR}\bacula.dll"
     File "${SRC_DIR}\expr64.exe"
     File "${SRC_DIR}\snooze.exe"
 
@@ -384,12 +343,6 @@ Function InstallCommonFiles
 FunctionEnd
 
 Section "-Initialize"
-  ${If} $MySQLPath != ""
-    DetailPrint "Found MySQL (version $MySQLVersion)"
-  ${EndIf}
-  ${If} $PostgreSQLPath != ""
-    DetailPrint "Found PostgreSQL (version $PostgreSQLVersion)"
-  ${EndIf}
 
   WriteRegStr   HKLM Software\Bacula InstallLocation "$INSTDIR"
 
@@ -397,8 +350,6 @@ Section "-Initialize"
   Pop $R2
   WriteRegDWORD HKLM Software\Bacula Components $R2
 
-  WriteRegDWORD HKLM Software\Bacula Database $ConfigDirectorDB
-
   ; remove start menu items
   SetShellVarContext all
 
@@ -413,25 +364,19 @@ Section "-Initialize"
   CreateDirectory "$SMPROGRAMS\Bacula\Documentation"
 
   CreateDirectory "$INSTDIR"
-  CreateDirectory "$INSTDIR\bin"
-  CreateDirectory "$APPDATA\Bacula"
-  CreateDirectory "$APPDATA\Bacula\Work"
-  CreateDirectory "$APPDATA\Bacula\Spool"
+  CreateDirectory "$INSTDIR\working"
 
   SetOutPath "$INSTDIR"
   File "..\..\..\LICENSE"
-  Delete /REBOOTOK "$INSTDIR\bin\License.txt"
+  Delete /REBOOTOK "$INSTDIR\License.txt"
 
+; Output a series of SED commands to configure the .conf file(s)
   FileOpen $R1 $PLUGINSDIR\config.sed w
   FileWrite $R1 "s;@VERSION@;${VERSION};g$\r$\n"
   FileWrite $R1 "s;@DATE@;${__DATE__};g$\r$\n"
   FileWrite $R1 "s;@DISTNAME@;Windows;g$\r$\n"
 
-!If "$BUILD_TOOLS" == "MinGW"
-  StrCpy $R2 "MinGW32"
-!Else
-  StrCpy $R2 "MVS"
-!EndIf
+  StrCpy $R2 ${BUILD_TOOLS}
 
   Call GetHostName
   Exch $R3
@@ -439,34 +384,23 @@ Section "-Initialize"
 
   FileWrite $R1 "s;@DISTVER@;$R2;g$\r$\n"
 
-  ${StrRep} $R2 "$APPDATA\Bacula\Work" "\" "\\\\"
+  ${StrRep} $R2 "$INSTDIR\working" "\" "\\\\"
   FileWrite $R1 's;@working_dir@;$R2;g$\r$\n'
-  ${StrRep} $R2 "$APPDATA\Bacula\Work" "\" "\\"
+  ${StrRep} $R2 "$INSTDIR\working" "\" "\\"
   FileWrite $R1 's;@working_dir_cmd@;$R2;g$\r$\n'
 
-  ${StrRep} $R2 "$INSTDIR\bin" "\" "\\\\"
-  FileWrite $R1 's;@bin_dir@;$R2;g$\r$\n'
-  ${StrRep} $R2 "$INSTDIR\bin" "\" "\\"
-  FileWrite $R1 's;@bin_dir_cmd@;$R2;g$\r$\n'
+; ${StrRep} $R2 "$INSTDIR" "\" "\\\\"
+; FileWrite $R1 's;@bin_dir@;$R2;g$\r$\n'
+; ${StrRep} $R2 "$INSTDIR" "\" "\\"
+; FileWrite $R1 's;@bin_dir_cmd@;$R2;g$\r$\n'
 
-  ${StrRep} $R2 "$INSTDIR\bin\fdplugins" "\" "\\\\"
+  ${StrRep} $R2 "$INSTDIR\plugins" "\" "\\\\"
   FileWrite $R1 's;@fdplugins_dir@;$R2;g$\r$\n'
 
   ${StrRep} $R2 "$INSTDIR" "\" "/"
   FileWrite $R1 "s;@BUILD_DIR@;$R2;g$\r$\n"
 
-  Call IsDirectorSelected
-  Pop $R2
-  ${If} $R2 = 1
-    FileWrite $R1 "s;@director_address@;$LocalHostAddress;g$\r$\n"
-  ${Else}
-    ${If} "$ConfigDirectorAddress" != ""
-      FileWrite $R1 "s;@director_address@;$ConfigDirectorAddress;g$\r$\n"
-    ${EndIf}
-  ${EndIf}
-
   FileWrite $R1 "s;@client_address@;$LocalHostAddress;g$\r$\n"
-  FileWrite $R1 "s;@storage_address@;$LocalHostAddress;g$\r$\n"
 
   ${If} "$ConfigClientName" != ""
     FileWrite $R1 "s;@client_name@;$ConfigClientName;g$\r$\n"
@@ -480,35 +414,17 @@ Section "-Initialize"
   ${If} "$ConfigClientPassword" != ""
     FileWrite $R1 "s;@client_password@;$ConfigClientPassword;g$\r$\n"
   ${EndIf}
-  ${If} "$ConfigStorageName" != ""
-    FileWrite $R1 "s;@storage_name@;$ConfigStorageName;g$\r$\n"
-  ${EndIf}
-  ${If} "$ConfigStoragePort" != ""
-    FileWrite $R1 "s;@storage_port@;$ConfigStoragePort;g$\r$\n"
-  ${EndIf}
-  ${If} "$ConfigStorageMaxJobs" != ""
-    FileWrite $R1 "s;@storage_maxjobs@;$ConfigStorageMaxJobs;g$\r$\n"
-  ${EndIf}
-  ${If} "$ConfigStoragePassword" != ""
-    FileWrite $R1 "s;@storage_password@;$ConfigStoragePassword;g$\r$\n"
-  ${EndIf}
   ${If} "$ConfigDirectorName" != ""
     FileWrite $R1 "s;@director_name@;$ConfigDirectorName;g$\r$\n"
   ${EndIf}
   ${If} "$ConfigDirectorPort" != ""
     FileWrite $R1 "s;@director_port@;$ConfigDirectorPort;g$\r$\n"
   ${EndIf}
-  ${If} "$ConfigDirectorMaxJobs" != ""
-    FileWrite $R1 "s;@director_maxjobs@;$ConfigDirectorMaxJobs;g$\r$\n"
-  ${EndIf}
   ${If} "$ConfigDirectorPassword" != ""
     FileWrite $R1 "s;@director_password@;$ConfigDirectorPassword;g$\r$\n"
   ${EndIf}
-  ${If} "$ConfigDirectorMailServer" != ""
-    FileWrite $R1 "s;@smtp_host@;$ConfigDirectorMailServer;g$\r$\n"
-  ${EndIf}
-  ${If} "$ConfigDirectorMailAddress" != ""
-    FileWrite $R1 "s;@job_email@;$ConfigDirectorMailAddress;g$\r$\n"
+  ${If} "$ConfigDirectorAddress" != ""
+    FileWrite $R1 "s;@director_address@;$ConfigDirectorAddress;g$\r$\n"
   ${EndIf}
   ${If} "$ConfigMonitorName" != ""
     FileWrite $R1 "s;@monitor_name@;$ConfigMonitorName;g$\r$\n"
@@ -517,71 +433,34 @@ Section "-Initialize"
     FileWrite $R1 "s;@monitor_password@;$ConfigMonitorPassword;g$\r$\n"
   ${EndIf}
 
-  ${If} $ConfigDirectorDB = 1
-    ${If} $MySQLPath != ""
-      ${StrRep} $R2 "$MySQLPath\bin" "\" "\\"
-      FileWrite $R1 "s;@SQL_BINDIR@;$R2;g$\r$\n"
-    ${EndIf}
-  ${ElseIf} $ConfigDirectorDB = 2
-    ${If} $PostgreSQLPath != ""
-      ${StrRep} $R2 "$PostgreSQLPath\bin" "\" "\\"
-      FileWrite $R1 "s;@SQL_BINDIR@;$R2;g$\r$\n"
-    ${EndIf}
-  ${EndIf}
-
   FileClose $R1
 
-  ${If} $InstallType = ${MigrateInstall}
-    FileOpen $R1 $PLUGINSDIR\migrate.sed w
-    ${StrRep} $R2 "$APPDATA\Bacula\Work" "\" "\\\\"
-    FileWrite $R1 's;\(Working *Directory *= *\)[^ ][^ ]*.*$$;\1"$R2";$\r$\n'
-    FileWrite $R1 's;\(Pid *Directory *= *\)[^ ][^ ]*.*$$;\1"$R2";$\r$\n'
-    FileClose $R1
-  ${EndIf}
-
-  ${If} ${FileExists} "$OldInstallDir\bin\bacula-fd.exe"
-    nsExec::ExecToLog '"$OldInstallDir\bin\bacula-fd.exe" /kill'     ; Shutdown any bacula that could be running
-    Sleep 3000
-    nsExec::ExecToLog '"$OldInstallDir\bin\bacula-fd.exe" /remove'   ; Remove existing service
-  ${EndIf}
-
-  ${If} ${FileExists} "$OldInstallDir\bin\bacula-sd.exe"
-    nsExec::ExecToLog '"$OldInstallDir\bin\bacula-sd.exe" /kill'     ; Shutdown any bacula that could be running
+  ${If} ${FileExists} "$OldInstallDir\bacula-fd.exe"
+    nsExec::ExecToLog '"$OldInstallDir\bacula-fd.exe" /kill'     ; Shutdown any bacula that could be running
     Sleep 3000
-    nsExec::ExecToLog '"$OldInstallDir\bin\bacula-sd.exe" /remove'   ; Remove existing service
-  ${EndIf}
-
-  ${If} ${FileExists} "$OldInstallDir\bin\bacula-dir.exe"
-    nsExec::ExecToLog '"$OldInstallDir\bin\bacula-dir.exe" /kill'     ; Shutdown any bacula that could be running
-    Sleep 3000
-    nsExec::ExecToLog '"$OldInstallDir\bin\bacula-dir.exe" /remove'   ; Remove existing service
+    nsExec::ExecToLog '"$OldInstallDir\bacula-fd.exe" /remove'   ; Remove existing service
   ${EndIf}
 
 SectionEnd
 
+
 SectionGroup "Client" SecGroupClient
 
 Section "File Service" SecFileDaemon
   SectionIn 1 2 3
 
-  SetOutPath "$INSTDIR\bin\fdplugins"
+  SetOutPath "$INSTDIR\plugins"
   File "${SRC_DIR}\exchange-fd.dll"
 
-  SetOutPath "$INSTDIR\bin"
+  SetOutPath "$INSTDIR"
 
   File "${SRC_DIR}\bacula-fd.exe"
 
-  ${If} $InstallType = ${MigrateInstall}
-  ${AndIf} ${FileExists} "$OldInstallDir\bin\bacula-fd.conf"
-    CopyFiles "$OldInstallDir\bin\bacula-fd.conf" "$APPDATA\Bacula"
-    nsExec::ExecToLog '$PLUGINSDIR\sed.exe -f "$PLUGINSDIR\migrate.sed" -i.bak "$APPDATA\Bacula\bacula-fd.conf"'
-  ${Else}
-    File "/oname=$PLUGINSDIR\bacula-fd.conf" "bacula-fd.conf.in"
+  File "/oname=$PLUGINSDIR\bacula-fd.conf" "bacula-fd.conf.in"
 
-    StrCpy $0 "$APPDATA\Bacula"
-    StrCpy $1 bacula-fd.conf
-    Call ConfigEditAndCopy
-  ${EndIf}
+  StrCpy $0 "$INSTDIR"
+  StrCpy $1 bacula-fd.conf
+  Call ConfigEditAndCopy
 
   StrCpy $0 bacula-fd
   StrCpy $1 "File Service"
@@ -590,174 +469,7 @@ Section "File Service" SecFileDaemon
 
   Call InstallDaemon
 
-  CreateShortCut "$SMPROGRAMS\Bacula\Configuration\Edit Client Configuration.lnk" "write.exe" '"$APPDATA\Bacula\bacula-fd.conf"'
-SectionEnd
-
-SectionGroupEnd
-
-SectionGroup "Server" SecGroupServer
-
-Section "Storage Service" SecStorageDaemon
-  SectionIn 2 3
-
-  SetOutPath "$INSTDIR\bin"
-
-  File "${SRC_DIR}\loaderinfo.exe"
-  File "${SRC_DIR}\mt.exe"
-  File "${SRC_DIR}\mtx.exe"
-  File "${SRC_DIR}\scsitape.exe"
-  File "${SRC_DIR}\tapeinfo.exe"
-  File "${SRC_DIR}\bacula-sd.exe"
-  File "${SRC_DIR}\bcopy.exe"
-  File "${SRC_DIR}\bextract.exe"
-  File "${SRC_DIR}\bls.exe"
-  File "${SRC_DIR}\bscan.exe"
-  File "${SRC_DIR}\btape.exe"
-  File "${SRC_DIR}\scsilist.exe"
-  File "${SRC_DIR}\mkisofs.exe"
-  File "${SRC_DIR}\growisofs.exe"
-  File "${SRC_DIR}\dvd-ram-control.exe"
-  File "${SRC_DIR}\dvd+rw-booktype.exe"
-  File "${SRC_DIR}\dvd+rw-format.exe"
-  File "${SRC_DIR}\dvd+rw-mediainfo.exe"
-
-  File "/oname=$PLUGINSDIR\mtx-changer.cmd" "${SRC_DIR}\mtx-changer.cmd"
-
-  StrCpy $0 "$INSTDIR\bin"
-  StrCpy $1 mtx-changer.cmd
-  Call ConfigEditAndCopy
-
-  File "/oname=$PLUGINSDIR\disk-changer.cmd" "${SRC_DIR}\disk-changer.cmd"
-
-  StrCpy $0 "$INSTDIR\bin"
-  StrCpy $1 disk-changer.cmd
-  Call ConfigEditAndCopy
-
-  File "/oname=$PLUGINSDIR\dvd-handler.cmd" "${SRC_DIR}\dvd-handler.cmd"
-
-  StrCpy $0 "$INSTDIR\bin"
-  StrCpy $1 dvd-handler.cmd
-  Call ConfigEditAndCopy
-
-  File "/oname=$PLUGINSDIR\bacula-sd.conf" "bacula-sd.conf.in"
-
-  StrCpy $0 "$APPDATA\Bacula"
-  StrCpy $1 bacula-sd.conf
-  Call ConfigEditAndCopy
-
-  StrCpy $0 bacula-sd
-  StrCpy $1 "Storage Service"
-  StrCpy $2 $ConfigStorageInstallService
-  StrCpy $3 $ConfigStorageStartService
-  Call InstallDaemon
-
-  CreateShortCut "$SMPROGRAMS\Bacula\Configuration\List Devices.lnk" "$INSTDIR\bin\scsilist.exe" "/pause"
-  CreateShortCut "$SMPROGRAMS\Bacula\Configuration\Edit Storage Configuration.lnk" "write.exe" '"$APPDATA\Bacula\bacula-sd.conf"'
-SectionEnd
-
-Section "Director Service" SecDirectorDaemon
-  SectionIn 2 3
-
-  SetOutPath "$INSTDIR\bin"
-
-  ${If} $ConfigDirectorDB = 1
-    File /oname=bacula_cats.dll "${SRC_DIR}\cats_mysql.dll"
-    File "${SRC_DIR}\libmysql.dll"
-    File /oname=$PLUGINSDIR\create_database.cmd ${SRC_DIR}\create_mysql_database.cmd
-    File /oname=$PLUGINSDIR\drop_database.cmd ${SRC_DIR}\drop_mysql_database.cmd
-    File /oname=$PLUGINSDIR\make_tables.cmd ${SRC_DIR}\make_mysql_tables.cmd
-    File ${SRC_DIR}\make_mysql_tables.sql
-    File /oname=$PLUGINSDIR\drop_tables.cmd ${SRC_DIR}\drop_mysql_tables.cmd
-    File ${SRC_DIR}\drop_mysql_tables.sql
-    File /oname=$PLUGINSDIR\grant_privileges.cmd ${SRC_DIR}\grant_mysql_privileges.cmd
-    File ${SRC_DIR}\grant_mysql_privileges.sql
-    File /oname=$PLUGINSDIR\make_catalog_backup.cmd ${SRC_DIR}\make_mysql_catalog_backup.cmd
-  ${ElseIf} $ConfigDirectorDB = 2
-    File /oname=bacula_cats.dll "${SRC_DIR}\cats_postgresql.dll"
-    File "${SRC_DIR}\libpq.dll"
-!if "${BUILD_TOOLS}" == "VC8"
-    File "${SRC_DIR}\comerr32.dll"
-    File "${SRC_DIR}\libintl-2.dll"
-    File "${SRC_DIR}\libiconv-2.dll"
-    File "${SRC_DIR}\krb5_32.dll"
-!endif
-!If "${BUILD_TOOLS}" == "VC8_DEBUG"
-    File "${SRC_DIR}\comerr32.dll"
-    File "${SRC_DIR}\libintl-2.dll"
-    File "${SRC_DIR}\libiconv-2.dll"
-    File "${SRC_DIR}\krb5_32.dll"
-!endif
-    File /oname=$PLUGINSDIR\create_database.cmd ${SRC_DIR}\create_postgresql_database.cmd
-    File /oname=$PLUGINSDIR\drop_database.cmd ${SRC_DIR}\drop_postgresql_database.cmd
-    File /oname=$PLUGINSDIR\make_tables.cmd ${SRC_DIR}\make_postgresql_tables.cmd
-    File ${SRC_DIR}\create_postgresql_database.sql
-    File ${SRC_DIR}\make_postgresql_tables.sql
-    File /oname=$PLUGINSDIR\drop_tables.cmd ${SRC_DIR}\drop_postgresql_tables.cmd
-    File ${SRC_DIR}\drop_postgresql_tables.sql
-    File /oname=$PLUGINSDIR\grant_privileges.cmd ${SRC_DIR}\grant_postgresql_privileges.cmd
-    File ${SRC_DIR}\grant_postgresql_privileges.sql
-    File /oname=$PLUGINSDIR\make_catalog_backup.cmd ${SRC_DIR}\make_postgresql_catalog_backup.cmd
-  ${ElseIf} $ConfigDirectorDB = 3
-    File "${SRC_DIR}\sqlite3.exe"
-!if "${BUILD_TOOLS}" == "VC8"
-    File "${SRC_DIR}\sqlite3.exe.manifest"
-!endif
-!If "${BUILD_TOOLS}" == "VC8_DEBUG"
-    File "${SRC_DIR}\sqlite3.exe.manifest"
-!endif
-    File /oname=bacula_cats.dll "${SRC_DIR}\cats_sqlite3.dll"
-    File /oname=$PLUGINSDIR\create_database.cmd ${SRC_DIR}\create_sqlite3_database.cmd
-    File /oname=$PLUGINSDIR\drop_database.cmd ${SRC_DIR}\drop_sqlite3_database.cmd
-    File /oname=$PLUGINSDIR\make_tables.cmd ${SRC_DIR}\make_sqlite3_tables.cmd
-    File ${SRC_DIR}\make_sqlite3_tables.sql
-    File /oname=$PLUGINSDIR\drop_tables.cmd ${SRC_DIR}\drop_sqlite3_tables.cmd
-    File /oname=$PLUGINSDIR\grant_privileges.cmd ${SRC_DIR}\grant_sqlite3_privileges.cmd
-    File /oname=$PLUGINSDIR\make_catalog_backup.cmd ${SRC_DIR}\make_sqlite3_catalog_backup.cmd
-  ${EndIf}
-
-  File "${SRC_DIR}\bacula-dir.exe"
-  File "${SRC_DIR}\dbcheck.exe"
-
-  File "/oname=$PLUGINSDIR\delete_catalog_backup.cmd" "${SRC_DIR}\delete_catalog_backup.cmd"
-
-  StrCpy $0 "$INSTDIR\bin"
-  
-  StrCpy $1 create_database.cmd
-  Call ConfigEditAndCopy
-
-  StrCpy $1 drop_database.cmd
-  Call ConfigEditAndCopy
-
-  StrCpy $1 make_tables.cmd
-  Call ConfigEditAndCopy
-
-  StrCpy $1 drop_tables.cmd
-  Call ConfigEditAndCopy
-
-  StrCpy $1 grant_privileges.cmd
-  Call ConfigEditAndCopy
-
-  StrCpy $1 make_catalog_backup.cmd
-  Call ConfigEditAndCopy
-
-  StrCpy $1 delete_catalog_backup.cmd
-  Call ConfigEditAndCopy
-
-  File "${SRC_DIR}\query.sql"
-
-  File "/oname=$PLUGINSDIR\bacula-dir.conf" "bacula-dir.conf.in"
-
-  StrCpy $0 "$APPDATA\Bacula"
-  StrCpy $1 bacula-dir.conf
-  Call ConfigEditAndCopy
-
-  StrCpy $0 bacula-dir
-  StrCpy $1 "Director Service"
-  StrCpy $2 $ConfigDirectorInstallService
-  StrCpy $3 $ConfigDirectorStartService
-  Call InstallDaemon
-
-  CreateShortCut "$SMPROGRAMS\Bacula\Configuration\Edit Director Configuration.lnk" "write.exe" '"$APPDATA\Bacula\bacula-dir.conf"'
+  CreateShortCut "$SMPROGRAMS\Bacula\Configuration\Edit Client Configuration.lnk" "write.exe" '"$INSTDIR\bacula-fd.conf"'
 SectionEnd
 
 SectionGroupEnd
@@ -767,30 +479,25 @@ SectionGroup "Consoles" SecGroupConsoles
 Section "Command Console" SecConsole
   SectionIn 1 2 3
 
-  SetOutPath "$INSTDIR\bin"
+  SetOutPath "$INSTDIR"
 
   File "${SRC_DIR}\bconsole.exe"
   Call InstallCommonFiles
 
-  ${If} $InstallType = ${MigrateInstall}
-  ${AndIf} ${FileExists} "$OldInstallDir\bin\bconsole.conf"
-    CopyFiles "$OldInstallDir\bin\bconsole.conf" "$APPDATA\Bacula"
-  ${Else}
-    File "/oname=$PLUGINSDIR\bconsole.conf" "bconsole.conf.in"
-    StrCpy $0 "$APPDATA\Bacula"
-    StrCpy $1 bconsole.conf
-    Call ConfigEditAndCopy
-  ${EndIf}
+  File "/oname=$PLUGINSDIR\bconsole.conf" "bconsole.conf.in"
+  StrCpy $0 "$INSTDIR"
+  StrCpy $1 bconsole.conf
+  Call ConfigEditAndCopy
 
-  CreateShortCut "$SMPROGRAMS\Bacula\bconsole.lnk" "$INSTDIR\bin\bconsole.exe" '-c "$APPDATA\Bacula\bconsole.conf"' "$INSTDIR\bin\bconsole.exe" 0
-  CreateShortCut "$SMPROGRAMS\Bacula\Configuration\Edit Command Console Configuration.lnk" "write.exe" '"$APPDATA\Bacula\bconsole.conf"'
+  CreateShortCut "$SMPROGRAMS\Bacula\bconsole.lnk" "$INSTDIR\bconsole.exe" '-c "$INSTDIR\bconsole.conf"' "$INSTDIR\bconsole.exe" 0
+  CreateShortCut "$SMPROGRAMS\Bacula\Configuration\Edit Command Console Configuration.lnk" "write.exe" '"$INSTDIR\bconsole.conf"'
 
 SectionEnd
 
 Section "Bat Console" SecBatConsole
   SectionIn 1 2 3
-  
-  SetOutPath "$INSTDIR\bin"
+
+  SetOutPath "$INSTDIR"
 
   Call InstallCommonFiles
   File "${SRC_DIR}\QtCore4.dll"
@@ -798,57 +505,29 @@ Section "Bat Console" SecBatConsole
 
   File "${SRC_DIR}\bat.exe"
 
-  ${If} $InstallType = ${MigrateInstall}
-  ${AndIf} ${FileExists} "$OldInstallDir\bin\bat.conf"
-    CopyFiles "$OldInstallDir\bin\bat.conf" "$APPDATA\Bacula"
-  ${Else}
-    File "/oname=$PLUGINSDIR\bat.conf" "bat.conf.in"
-    StrCpy $0 "$APPDATA\Bacula"
-    StrCpy $1 bat.conf
-    Call ConfigEditAndCopy
-  ${EndIf}
+  File "/oname=$PLUGINSDIR\bat.conf" "bat.conf.in"
+  StrCpy $0 "$INSTDIR"
+  StrCpy $1 bat.conf
+  Call ConfigEditAndCopy
+
+  SetOutPath "$INSTDIR\help"
+  File "${SRC_DIR}\help\*"
+  SetOutPath "$INSTDIR"
+   
 
   ; Create Start Menu entry
-  CreateShortCut "$SMPROGRAMS\Bacula\Bat.lnk" "$INSTDIR\bin\bat.exe" '-c "$APPDATA\Bacula\bat.conf"' "$INSTDIR\bin\bat.exe" 0
-  CreateShortCut "$SMPROGRAMS\Bacula\Configuration\Edit Bat Configuration.lnk" "write.exe" '"$APPDATA\Bacula\bat.conf"'
+  CreateShortCut "$SMPROGRAMS\Bacula\Bat.lnk" "$INSTDIR\bat.exe" '-c "$INSTDIR\bat.conf"' "$INSTDIR\bat.exe" 0
+  CreateShortCut "$SMPROGRAMS\Bacula\Configuration\Edit Bat Configuration.lnk" "write.exe" '"$INSTDIR\bat.conf"'
 SectionEnd
 
 
-Section "Graphical Console" SecWxConsole
-  SectionIn 1 2 3
+; Deleted because wxconsole is deprecated
+;Section "Graphical Console" SecWxConsole
+;  SectionIn 1 2 3
   
-  SetOutPath "$INSTDIR\bin"
-
-  Call InstallCommonFiles
-!if "${BUILD_TOOLS}" == "VC8"
-  File "${SRC_DIR}\wxbase28_vc_bacula.dll"
-  File "${SRC_DIR}\wxmsw28_core_vc_bacula.dll"
-!endif
-!If "${BUILD_TOOLS}" == "VC8_DEBUG"
-  File "${SRC_DIR}\wxbase28_vc_bacula.dll"
-  File "${SRC_DIR}\wxmsw28_core_vc_bacula.dll"
-!endif
-!if "${BUILD_TOOLS}" == "MinGW"
-  File "${SRC_DIR}\wxbase28_gcc_bacula.dll"
-  File "${SRC_DIR}\wxmsw28_core_gcc_bacula.dll"
-!endif
-
-  File "${SRC_DIR}\bwx-console.exe"
-
-  ${If} $InstallType = ${MigrateInstall}
-  ${AndIf} ${FileExists} "$OldInstallDir\bin\bwx-console.conf"
-    CopyFiles "$OldInstallDir\bin\bwx-console.conf" "$APPDATA\Bacula"
-  ${Else}
-    File "/oname=$PLUGINSDIR\bwx-console.conf" "bwx-console.conf.in"
-    StrCpy $0 "$APPDATA\Bacula"
-    StrCpy $1 bwx-console.conf
-    Call ConfigEditAndCopy
-  ${EndIf}
-
-  ; Create Start Menu entry
-  CreateShortCut "$SMPROGRAMS\Bacula\bwx-console.lnk" "$INSTDIR\bin\bwx-console.exe" '-c "$APPDATA\Bacula\bwx-console.conf"' "$INSTDIR\bin\bwx-console.exe" 0
-  CreateShortCut "$SMPROGRAMS\Bacula\Configuration\Edit Graphical Console Configuration.lnk" "write.exe" '"$APPDATA\Bacula\bwx-console.conf"'
-SectionEnd
+;  SetOutPath "$INSTDIR"
+;
+;SectionEnd
 
 SectionGroupEnd
 
@@ -860,21 +539,30 @@ Section "Documentation (Acrobat Format)" SecDocPdf
   SetOutPath "$INSTDIR\doc"
   CreateDirectory "$INSTDIR\doc"
 
-  File "${SRC_DIR}\manual\bacula.pdf"
-  CreateShortCut "$SMPROGRAMS\Bacula\Documentation\Manual.lnk" '"$INSTDIR\doc\bacula.pdf"'
+  File "${SRC_DIR}\docs\manuals\en\console\console.pdf"
+  File "${SRC_DIR}\docs\manuals\en\misc\misc.pdf"
+  File "${SRC_DIR}\docs\manuals\en\main\main.pdf"
+  File "${SRC_DIR}\docs\manuals\en\utility\utility.pdf"
+  File "${SRC_DIR}\docs\manuals\en\problems\problems.pdf"
+  CreateShortCut "$SMPROGRAMS\Bacula\Documentation\Console.lnk" '"$INSTDIR\doc\console.pdf"'
+  CreateShortCut "$SMPROGRAMS\Bacula\Documentation\Main.lnk" '"$INSTDIR\doc\main.pdf"'
+  CreateShortCut "$SMPROGRAMS\Bacula\Documentation\Misc.lnk" '"$INSTDIR\doc\misc.pdf"'
+  CreateShortCut "$SMPROGRAMS\Bacula\Documentation\Utility.lnk" '"$INSTDIR\doc\utility.pdf"'
+  CreateShortCut "$SMPROGRAMS\Bacula\Documentation\Problems.lnk" '"$INSTDIR\doc\problems.pdf"'
+  SetOutPath "$INSTDIR"
 SectionEnd
 
-Section "Documentation (HTML Format)" SecDocHtml
-  SectionIn 3
+;Section "Documentation (HTML Format)" SecDocHtml
+;  SectionIn 3
 
-  SetOutPath "$INSTDIR\doc"
-  CreateDirectory "$INSTDIR\doc"
+; SetOutPath "$INSTDIR\doc"
+; CreateDirectory "$INSTDIR\doc"
 
-  File "${SRC_DIR}\manual\bacula\*.html"
-  File "${SRC_DIR}\manual\bacula\*.png"
-  File "${SRC_DIR}\manual\bacula\*.css"
-  CreateShortCut "$SMPROGRAMS\Bacula\Documentation\Manual (HTML).lnk" '"$INSTDIR\doc\index.html"'
-SectionEnd
+; File "${SRC_DIR}\manual\bacula\*.html"
+; File "${SRC_DIR}\manual\bacula\*.png"
+; File "${SRC_DIR}\manual\bacula\*.css"
+; CreateShortCut "$SMPROGRAMS\Bacula\Documentation\Manual (HTML).lnk" '"$INSTDIR\doc\index.html"'
+;SectionEnd
 
 SectionGroupEnd
 
@@ -882,8 +570,7 @@ Section "-Finish"
   Push $R0
 
   ${If} $OsIsNT = 1
-    nsExec::ExecToLog 'cmd.exe /C echo Y|cacls "$INSTDIR" /T /G SYSTEM:F Administrators:F'
-    nsExec::ExecToLog 'cmd.exe /C echo Y|cacls "$APPDATA\Bacula" /T /G SYSTEM:F Administrators:F'
+;   nsExec::ExecToLog 'cmd.exe /C echo Y|cacls "$INSTDIR" /T /G SYSTEM:F Administrators:F'
   ${EndIf}
 
   ; Write the uninstall keys for Windows & create Start Menu entry
@@ -896,9 +583,9 @@ Section "-Finish"
   WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "VersionMinor" $R0
   WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "NoModify" 1
   WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "NoRepair" 1
-  WriteRegStr   HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "URLUpdateInfo" "http://sourceforge.net/project/showfiles.php?group_id=50727"
+  WriteRegStr   HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "URLUpdateInfo" "http://www.bacula.org"
   WriteRegStr   HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "URLInfoAbout" "http://www.bacula.org"
-  WriteRegStr   HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "HelpLink" "http://www.bacula.org/?page=support"
+  WriteRegStr   HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "HelpLink" "http://www.bacula.org?page=support"
   WriteRegStr   HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula" "UninstallString" '"$INSTDIR\uninstall.exe"'
   WriteUninstaller "$INSTDIR\Uninstall.exe"
   CreateShortCut "$SMPROGRAMS\Bacula\Uninstall Bacula.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0
@@ -908,13 +595,8 @@ SectionEnd
 ; Extra Page descriptions
 
 LangString DESC_SecFileDaemon ${LANG_ENGLISH} "Install Bacula File Daemon on this system."
-LangString DESC_SecStorageDaemon ${LANG_ENGLISH} "Install Bacula Storage Daemon on this system."
-LangString DESC_SecDirectorDaemon ${LANG_ENGLISH} "Install Bacula Director Daemon on this system."
 LangString DESC_SecConsole ${LANG_ENGLISH} "Install command console program on this system."
 LangString DESC_SecBatConsole ${LANG_ENGLISH} "Install Bat graphical console program on this system."
-LangString DESC_SecWxConsole ${LANG_ENGLISH} "Install wxWidgets graphical console program on this system."
-LangString DESC_SecDocPdf ${LANG_ENGLISH} "Install documentation in Acrobat format on this system."
-LangString DESC_SecDocHtml ${LANG_ENGLISH} "Install documentation in HTML format on this system."
 
 LangString TITLE_ConfigPage1 ${LANG_ENGLISH} "Configuration"
 LangString SUBTITLE_ConfigPage1 ${LANG_ENGLISH} "Set installation configuration."
@@ -926,48 +608,27 @@ LangString TITLE_InstallType ${LANG_ENGLISH} "Installation Type"
 LangString SUBTITLE_InstallType ${LANG_ENGLISH} "Choose installation type."
 
 LangString TITLE_WriteTemplates ${LANG_ENGLISH} "Create Templates"
-LangString SUBTITLE_WriteTemplates ${LANG_ENGLISH} "Create resource templates for inclusion in the Director's configuration file."
+LangString SUBTITLE_WriteTemplates ${LANG_ENGLISH} "Create a resource template for inclusion in the Director's configuration file."
 
 !InsertMacro MUI_FUNCTION_DESCRIPTION_BEGIN
   !InsertMacro MUI_DESCRIPTION_TEXT ${SecFileDaemon} $(DESC_SecFileDaemon)
-  !InsertMacro MUI_DESCRIPTION_TEXT ${SecStorageDaemon} $(DESC_SecStorageDaemon)
-  !InsertMacro MUI_DESCRIPTION_TEXT ${SecDirectorDaemon} $(DESC_SecDirectorDaemon)
   !InsertMacro MUI_DESCRIPTION_TEXT ${SecConsole} $(DESC_SecConsole)
   !InsertMacro MUI_DESCRIPTION_TEXT ${SecBatConsole} $(DESC_SecBatConsole)
-  !InsertMacro MUI_DESCRIPTION_TEXT ${SecWxConsole} $(DESC_SecWxConsole)
-  !InsertMacro MUI_DESCRIPTION_TEXT ${SecDocPdf} $(DESC_SecDocPdf)
-  !InsertMacro MUI_DESCRIPTION_TEXT ${SecDocHtml} $(DESC_SecDocHtml)
 !InsertMacro MUI_FUNCTION_DESCRIPTION_END
 
 ; Uninstall section
 
-UninstallText "This will uninstall Bacula. Hit next to continue."
+UninstallText "This will uninstall Bacula. Click Uninstall to continue."
 
 Section "Uninstall"
   ; Shutdown any baculum that could be running
-  nsExec::ExecToLog '"$INSTDIR\bin\bacula-fd.exe" /kill'
-  nsExec::ExecToLog '"$INSTDIR\bin\bacula-sd.exe" /kill'
-  nsExec::ExecToLog '"$INSTDIR\bin\bacula-dir.exe" /kill'
+  nsExec::ExecToLog '"$INSTDIR\bacula-fd.exe" /kill'
   Sleep 3000
 
-  ReadRegDWORD $R0 HKLM "Software\Bacula" "Service_Bacula-fd"
-  ${If} $R0 = 1
-    ; Remove bacula service
-    nsExec::ExecToLog '"$INSTDIR\bin\bacula-fd.exe" /remove'
-    nsExec::ExecToLog '"$INSTDIR\bin\exchange-fd.dll" /remove'
-  ${EndIf}
-  
-  ReadRegDWORD $R0 HKLM "Software\Bacula" "Service_Bacula-sd"
-  ${If} $R0 = 1
-    ; Remove bacula service
-    nsExec::ExecToLog '"$INSTDIR\bin\bacula-sd.exe" /remove'
-  ${EndIf}
-  
-  ReadRegDWORD $R0 HKLM "Software\Bacula" "Service_Bacula-dir"
-  ${If} $R0 = 1
-    ; Remove bacula service
-    nsExec::ExecToLog '"$INSTDIR\bin\bacula-dir.exe" /remove'
-  ${EndIf}
+; ReadRegDWORD $R0 HKLM "Software\Bacula" "Service_Bacula-fd"
+  ; Remove bacula service
+  nsExec::ExecToLog '"$INSTDIR\bacula-fd.exe" /remove'
+  nsExec::ExecToLog '"$INSTDIR\plugins\exchange-fd.dll" /remove'
   
   ; remove registry keys
   DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Bacula"
@@ -979,16 +640,16 @@ Section "Uninstall"
   RMDir "$SMPROGRAMS\Bacula"
 
   ; remove files and uninstaller (preserving config for now)
-  Delete /REBOOTOK "$INSTDIR\bin\*"
   Delete /REBOOTOK "$INSTDIR\doc\*"
   Delete /REBOOTOK "$INSTDIR\*"
+  Delete /REBOOTOK "$INSTDIR\help\*"
 
   ; Check for existing installation
   MessageBox MB_YESNO|MB_ICONQUESTION \
   "Would you like to delete the current configuration files and the working state file?" IDNO NoDel
-    Delete /REBOOTOK "$APPDATA\Bacula\*"
-    Delete /REBOOTOK "$APPDATA\Bacula\Work\*"
-    Delete /REBOOTOK "$APPDATA\Bacula\Spool\*"
+    Delete /REBOOTOK "$INSTDIR\*"
+    Delete /REBOOTOK "$INSTDIR\working\*"
+    Delete /REBOOTOK "$INSTDIR\plugins\*"
     Delete /REBOOTOK "$PLUGINSDIR\bacula-*.conf"
     Delete /REBOOTOK "$PLUGINSDIR\*console.conf"
     Delete /REBOOTOK "$PLUGINSDIR\*conf.in"
@@ -1000,14 +661,14 @@ Section "Uninstall"
     Delete /REBOOTOK "$PLUGINSDIR\*.sed" 
     Delete /REBOOTOK "$PLUGINSDIR\*.cmd"    
     Delete /REBOOTOK "$PLUGINSDIR\*.sql"    
-    RMDir "$APPDATA\Bacula\Work"
-    RMDir "$APPDATA\Bacula\Spool"
-    RMDir "$APPDATA\Bacula"
+    RMDir "$INSTDIR\plugins"
+    RMDir "$INSTDIR\working"
+    RMDir "$INSTDIR"
 NoDel:
 
   ; remove directories used
-  RMDir "$INSTDIR\bin"
   RMDir "$INSTDIR\doc"
+  RMDir "$INSTDIR\help"
   RMDir "$INSTDIR"
 SectionEnd
 
@@ -1023,7 +684,10 @@ Function InstallDaemon
   WriteRegDWORD HKLM "Software\Bacula" "Service_$0" $2
   
   ${If} $2 = 1
-    nsExec::ExecToLog '"$INSTDIR\bin\$0.exe" /install -c "$APPDATA\Bacula\$0.conf"'
+    nsExec::ExecToLog '"$INSTDIR\$0.exe" /kill'
+    sleep 3000
+    nsExec::ExecToLog '"$INSTDIR\$0.exe" /remove'
+    nsExec::ExecToLog '"$INSTDIR\$0.exe" /install -c "$INSTDIR\$0.conf"'
 
     ${If} $OsIsNT <> 1
       File "Start.bat"
@@ -1036,11 +700,11 @@ Function InstallDaemon
       ${If} $OsIsNT = 1
         nsExec::ExecToLog 'net start $0'
       ${Else}
-        Exec '"$INSTDIR\bin\$0.exe" -c "$APPDATA\Bacula\$0.conf"'
+        Exec '"$INSTDIR\$0.exe" /service -c "$INSTDIR\$0.conf"'
       ${EndIf}
     ${EndIf}
   ${Else}
-    CreateShortCut "$SMPROGRAMS\Bacula\Start $1.lnk" "$INSTDIR\bin\$0.exe" '-c "$APPDATA\Bacula\$0.conf"' "$INSTDIR\bin\$0.exe" 0
+    CreateShortCut "$SMPROGRAMS\Bacula\Start $1.lnk" "$INSTDIR\$0.exe" '-c "$INSTDIR\$0.conf"' "$INSTDIR\$0.exe" 0
   ${EndIf}
 FunctionEnd
 
@@ -1137,81 +801,25 @@ Function ConfigEditAndCopy
   Pop $R1
 FunctionEnd
 
-Function FindDatabaseApps
-  Push $R1
-
-  ReadRegStr $0 HKLM "Software\MySQL AB\MySQL Server 5.0" "Location"
-
-  ${If} $0 != ""
-    Call RemoveTrailingSlash
-    StrCpy $MySQLPath $0
-    ReadRegStr $0 HKLM "Software\MySQL AB\MySQL Server 5.0" "Version"
-    StrCpy $MySQLVersion $0
-  ${EndIf}
-
-  EnumRegKey $R1 HKLM "Software\PostgreSQL\Installations" 0
-  ${If} $R1 != ""
-    ReadRegStr $0 HKLM "Software\PostgreSQL\Installations\$R1" "Base Directory"
-    Call RemoveTrailingSlash
-    StrCpy $PostgreSQLPath $0
-    ReadRegStr $0 HKLM "Software\PostgreSQL\Installations\$R1" "Version"
-    StrCpy $PostgreSQLVersion $0
-  ${EndIf}
-
-  Pop $R1
-FunctionEnd
-
-Function RemoveTrailingSlash
-  Push $R1
-  StrCpy $R1 $0 "" -1
-  ${If} $R1 == "\"
-    StrCpy $0 $0 -1
-  ${EndIf}
-  Pop $R1
-FunctionEnd
-
-Function IsDirectorSelected
-  Push $R0
-  SectionGetFlags ${SecDirectorDaemon} $R0
-  IntOp $R0 $R0 & ${SF_SELECTED}
-  Exch $R0
-FunctionEnd
-
 Function GetSelectedComponents
   Push $R0
   StrCpy $R0 0
   ${If} ${SectionIsSelected} ${SecFileDaemon}
     IntOp $R0 $R0 | ${ComponentFile}
   ${EndIf}
-  ${If} ${SectionIsSelected} ${SecStorageDaemon}
-    IntOp $R0 $R0 | ${ComponentStorage}
-  ${EndIf}
-  ${If} ${SectionIsSelected} ${SecDirectorDaemon}
-    IntOp $R0 $R0 | ${ComponentDirector}
-  ${EndIf}
   ${If} ${SectionIsSelected} ${SecConsole}
     IntOp $R0 $R0 | ${ComponentTextConsole}
   ${EndIf}
   ${If} ${SectionIsSelected} ${SecBatConsole}
     IntOp $R0 $R0 | ${ComponentBatConsole}
   ${EndIf}
-  ${If} ${SectionIsSelected} ${SecWxConsole}
-    IntOp $R0 $R0 | ${ComponentGUIConsole}
-  ${EndIf}
   ${If} ${SectionIsSelected} ${SecDocPdf}
     IntOp $R0 $R0 | ${ComponentPDFDocs}
   ${EndIf}
-  ${If} ${SectionIsSelected} ${SecDocHtml}
-    IntOp $R0 $R0 | ${ComponentHTMLDocs}
-  ${EndIf}
   Exch $R0
 FunctionEnd
 
 Function PageComponentsShow
-  ${If} $OsIsNT <> 1
-    Call DisableServerSections
-  ${EndIf}
-
   Call SelectPreviousComponents
   Call UpdateComponentUI
 FunctionEnd
@@ -1255,21 +863,8 @@ Function EnterWriteTemplates
     WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 2" State 1
     DeleteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 2" Flags
     WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 3" State "C:\$ConfigClientName.conf"
-    WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 5" Flags REQ_SAVE|FILE_EXPLORER|WARN_IF_EXIST
   ${EndIf}
 
-  IntOp $R0 $NewComponents & ${ComponentStorage}
-  ${If} $R0 = 0
-    WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 4" State 0
-    WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 4" Flags DISABLED
-    DeleteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 5" State
-    WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 5" Flags REQ_SAVE|FILE_EXPLORER|WARN_IF_EXIST|DISABLED
-  ${Else}
-    WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 4" State 1
-    DeleteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 4" Flags
-    WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 5" State "C:\$ConfigStorageName.conf"
-    WriteINIStr "$PLUGINSDIR\WriteTemplates.ini" "Field 5" Flags REQ_SAVE|FILE_EXPLORER|WARN_IF_EXIST
-  ${EndIf}
 
   !InsertMacro MUI_HEADER_TEXT "$(TITLE_WriteTemplates)" "$(SUBTITLE_WriteTemplates)"
   !InsertMacro MUI_INSTALLOPTIONS_DISPLAY "WriteTemplates.ini"
@@ -1285,16 +880,6 @@ Function EnterWriteTemplates
     ${EndIf}
   ${EndIf}
 
-  !InsertMacro MUI_INSTALLOPTIONS_READ $R0 "WriteTemplates.ini" "Field 4" State
-  ${If} $R0 <> 0
-    File "/oname=$PLUGINSDIR\storage.conf.in" "storage.conf.in"
-
-    nsExec::ExecToLog '$PLUGINSDIR\sed.exe -f "$PLUGINSDIR\config.sed" -i.bak "$PLUGINSDIR\storage.conf.in"'
-    !InsertMacro MUI_INSTALLOPTIONS_READ $R0 "WriteTemplates.ini" "Field 5" State
-    ${If} $R0 != ""
-      CopyFiles "$PLUGINSDIR\storage.conf.in" "$R0"
-    ${EndIf}
-  ${EndIf}
 
   Pop $R1
   Pop $R0
@@ -1310,22 +895,6 @@ Function SelectPreviousComponents
       !InsertMacro UnselectSection ${SecFileDaemon}
       !InsertMacro ClearSectionFlag ${SecFileDaemon} ${SF_RO}
     ${EndIf}
-    IntOp $R1 $PreviousComponents & ${ComponentStorage}
-    ${If} $R1 <> 0
-      !InsertMacro SelectSection ${SecStorageDaemon}
-      !InsertMacro SetSectionFlag ${SecStorageDaemon} ${SF_RO}
-    ${Else}
-      !InsertMacro UnselectSection ${SecStorageDaemon}
-      !InsertMacro ClearSectionFlag ${SecStorageDaemon} ${SF_RO}
-    ${EndIf}
-    IntOp $R1 $PreviousComponents & ${ComponentDirector}
-    ${If} $R1 <> 0
-      !InsertMacro SelectSection ${SecDirectorDaemon}
-      !InsertMacro SetSectionFlag ${SecDirectorDaemon} ${SF_RO}
-    ${Else}
-      !InsertMacro UnselectSection ${SecDirectorDaemon}
-      !InsertMacro ClearSectionFlag ${SecDirectorDaemon} ${SF_RO}
-    ${EndIf}
     IntOp $R1 $PreviousComponents & ${ComponentTextConsole}
     ${If} $R1 <> 0
       !InsertMacro SelectSection ${SecConsole}
@@ -1342,15 +911,6 @@ Function SelectPreviousComponents
       !InsertMacro UnselectSection ${SecBatConsole}
       !InsertMacro ClearSectionFlag ${SecBatConsole} ${SF_RO}
     ${EndIf}
-    IntOp $R1 $PreviousComponents & ${ComponentGUIConsole}
-    ${If} $R1 <> 0
-      !InsertMacro SelectSection ${SecWxConsole}
-      !InsertMacro SetSectionFlag ${SecWxConsole} ${SF_RO}
-    ${Else}
-      !InsertMacro UnselectSection ${SecWxConsole}
-      !InsertMacro ClearSectionFlag ${SecWxConsole} ${SF_RO}
-    ${EndIf}
-    IntOp $R1 $PreviousComponents & ${ComponentPDFDocs}
     ${If} $R1 <> 0
       !InsertMacro SelectSection ${SecDocPdf}
       !InsertMacro SetSectionFlag ${SecDocPdf} ${SF_RO}
@@ -1358,26 +918,9 @@ Function SelectPreviousComponents
       !InsertMacro UnselectSection ${SecDocPdf}
       !InsertMacro ClearSectionFlag ${SecDocPdf} ${SF_RO}
     ${EndIf}
-    IntOp $R1 $PreviousComponents & ${ComponentHTMLDocs}
-    ${If} $R1 <> 0
-      !InsertMacro SelectSection ${SecDocHtml}
-      !InsertMacro SetSectionFlag ${SecDocHtml} ${SF_RO}
-    ${Else}
-      !InsertMacro UnselectSection ${SecDocHtml}
-      !InsertMacro ClearSectionFlag ${SecDocHtml} ${SF_RO}
-    ${EndIf}
   ${EndIf}
 FunctionEnd
 
-Function DisableServerSections
-  !InsertMacro UnselectSection ${SecGroupServer}
-  !InsertMacro SetSectionFlag  ${SecGroupServer} ${SF_RO}
-  !InsertMacro UnselectSection ${SecStorageDaemon}
-  !InsertMacro SetSectionFlag  ${SecStorageDaemon} ${SF_RO}
-  !InsertMacro UnselectSection ${SecDirectorDaemon}
-  !InsertMacro SetSectionFlag  ${SecDirectorDaemon} ${SF_RO}
-FunctionEnd
-
 Function UpdateComponentUI
   Push $R0
   Push $R1
@@ -1395,48 +938,24 @@ Function UpdateComponentUI
     ${Else}
       !InsertMacro ClearSectionFlag ${SecFileDaemon} ${SF_BOLD}
     ${EndIf}
-    IntOp $R1 $NewComponents & ${ComponentStorage}
-    ${If} $R1 <> 0
-      !InsertMacro SetSectionFlag ${SecStorageDaemon} ${SF_BOLD}
-    ${Else}
-      !InsertMacro ClearSectionFlag ${SecStorageDaemon} ${SF_BOLD}
-    ${EndIf}
-    IntOp $R1 $NewComponents & ${ComponentDirector}
-    ${If} $R1 <> 0
-      !InsertMacro SetSectionFlag ${SecDirectorDaemon} ${SF_BOLD}
-    ${Else}
-      !InsertMacro ClearSectionFlag ${SecDirectorDaemon} ${SF_BOLD}
-    ${EndIf}
     IntOp $R1 $NewComponents & ${ComponentTextConsole}
     ${If} $R1 <> 0
       !InsertMacro SetSectionFlag ${SecConsole} ${SF_BOLD}
     ${Else}
       !InsertMacro ClearSectionFlag ${SecConsole} ${SF_BOLD}
     ${EndIf}
-    IntOp $R1 $NewComponents & ${ComponentBatConsole}
+   IntOp $R1 $NewComponents & ${ComponentBatConsole}
     ${If} $R1 <> 0
       !InsertMacro SetSectionFlag ${SecBatConsole} ${SF_BOLD}
     ${Else}
       !InsertMacro ClearSectionFlag ${SecBatConsole} ${SF_BOLD}
     ${EndIf}
-    IntOp $R1 $NewComponents & ${ComponentGUIConsole}
-    ${If} $R1 <> 0
-      !InsertMacro SetSectionFlag ${SecWxConsole} ${SF_BOLD}
-    ${Else}
-      !InsertMacro ClearSectionFlag ${SecWxConsole} ${SF_BOLD}
-    ${EndIf}
     IntOp $R1 $NewComponents & ${ComponentPDFDocs}
     ${If} $R1 <> 0
       !InsertMacro SetSectionFlag ${SecDocPdf} ${SF_BOLD}
     ${Else}
       !InsertMacro ClearSectionFlag ${SecDocPdf} ${SF_BOLD}
     ${EndIf}
-    IntOp $R1 $NewComponents & ${ComponentHTMLDocs}
-    ${If} $R1 <> 0
-      !InsertMacro SetSectionFlag ${SecDocHtml} ${SF_BOLD}
-    ${Else}
-      !InsertMacro ClearSectionFlag ${SecDocHtml} ${SF_BOLD}
-    ${EndIf}
   ${EndIf}
 
   GetDlgItem $R0 $HWNDPARENT 1