; 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
Var AutomaticInstall
Var InstallType
+
!define NewInstall 0
!define UpgradeInstall 1
!define MigrateInstall 2
; 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
StrCpy $MySQLVersion ""
StrCpy $PostgreSQLPath ""
StrCpy $PostgreSQLVersion ""
+ StrCpy $LocalDirectorPassword ""
${GetParameters} $R0
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"
SetPluginUnload alwaysoff
+; Set client password
nsExec::Exec '"$PLUGINSDIR\openssl.exe" rand -base64 -out $PLUGINSDIR\pw.txt 33'
pop $R0
${If} $R0 = 0
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
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"
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"
Pop $R2
WriteRegDWORD HKLM Software\Bacula Components $R2
- WriteRegDWORD HKLM Software\Bacula Database $ConfigDirectorDB
-
; remove start menu items
SetShellVarContext all
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
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"
${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"
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"
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
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"
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
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
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
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
; 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."
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"
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"
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
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"
${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
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
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"
${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
!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}
!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}
!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
${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