to reduce duplicate entries the setup3264.inc file was introduced that gets included in setup.ins and once.ins the control.ins was split into config.ins cleanup.ins to be included into once and setup
194 lines
6.2 KiB
TeX
194 lines
6.2 KiB
TeX
; Copyright (c) uib gmbh (www.uib.de)
|
|
; This sourcecode is owned by uib
|
|
; and published under the Terms of the General Public License.
|
|
; credits: http://www.opsi.org/en/credits/
|
|
|
|
[Actions]
|
|
requiredWinstVersion >= "4.11.2.6"
|
|
|
|
DefVar $UninstallProgram32$
|
|
DefVar $UninstallProgramOld32$
|
|
DefVar $IniFile32$
|
|
DefVar $UninstallProgram64$
|
|
DefVar $UninstallProgramOld64$
|
|
DefVar $IniFile64$
|
|
DefVar $IniCfgFile$
|
|
DefVar $LogDir$
|
|
DefVar $ProductId$
|
|
DefVar $MinimumSpace$
|
|
DefVar $InstallDir32$
|
|
DefVar $InstallDir64$
|
|
DefVar $ExitCode$
|
|
DefVar $INST_SystemType$
|
|
DefVar $INST_architecture$
|
|
DefVar $OLD_VERSION$
|
|
DefVar $OLD_CREATOR_TAG$
|
|
DefVar $OLD_RELEASE$
|
|
DefVar $OnceUninstallDone32$
|
|
DefVar $OnceUninstallDone64$
|
|
|
|
Set $INST_SystemType$ = GetSystemType
|
|
set $INST_architecture$ = GetProductProperty("install_architecture","system specific")
|
|
|
|
Set $LogDir$ = "%SystemDrive%\tmp"
|
|
|
|
; The token BUILDER_VARIABLES will be replaced by opsi-builder.sh
|
|
; and adds the following variables:
|
|
; from builder-product.cfg : all variables definded by attribute WINST[index]
|
|
; from builder-product.cfg : VENDOR PN VERSION RELEASE PRIORITY ADVICE TYPE
|
|
; from opsi-builder.cfg : CREATOR_TAG CREATOR_NAME CREATOR_EMAIL
|
|
; auto generated winst-variables
|
|
; $IconFile$: path to product picture
|
|
;
|
|
@@BUILDER_VARIABLES@@
|
|
|
|
; ----------------------------------------------------------------
|
|
; - Please edit the following values -
|
|
; ----------------------------------------------------------------
|
|
;$ProductId$ should be the name of the product in opsi
|
|
; therefore please: only lower letters, no umlauts,
|
|
; no white space use '-' as a seperator
|
|
Set $MinimumSpace$ = "400 MB"
|
|
; the path were we find the product after the installation
|
|
Set $InstallDir32$ = "%ProgramFiles32Dir%\Sereby AIO"
|
|
Set $InstallDir64$ = "%ProgramFiles64Dir%\Sereby AIO"
|
|
; ----------------------------------------------------------------
|
|
|
|
Set $IniCfgFile$ = "%ScriptPath%\opsi-" + $ProductId$ + ".ini"
|
|
Set $IniFile32$ = $InstallDir32$ + "\opsi-" + $ProductId$ + ".ini"
|
|
Set $IniFile64$ = $InstallDir64$ + "\opsi-" + $ProductId$ + ".ini"
|
|
|
|
if not(HasMinimumSpace ("%SystemDrive%", $MinimumSpace$))
|
|
LogError "Not enough space on %SystemDrive%, " + $MinimumSpace$ + " on drive %SystemDrive% needed for " + $ProductId$
|
|
isFatalError
|
|
; Stop process and set installation status to failed
|
|
else
|
|
comment "Show product picture"
|
|
ShowBitmap "%ScriptPath%\" + $ProductId$ + ".png" $NAME$
|
|
|
|
if FileExists("%ScriptPath%\cleanup3264.ins")
|
|
comment "Start uninstall sub section"
|
|
Sub "%ScriptPath%\cleanup3264.ins"
|
|
endif
|
|
|
|
if FileExists("%ScriptPath%\config3264.ins")
|
|
comment "Start uninstall sub section"
|
|
Sub "%ScriptPath%\config3264.ins"
|
|
endif
|
|
|
|
comment "installing"
|
|
|
|
if (($INST_SystemType$ = "x86 System") and ($INST_architecture$ = "system specific")) or ($INST_architecture$ = "both") or ($INST_architecture$ = "32 only")
|
|
Message "Installing " + $ProductId$ + " "+ $VERSION$ + "-" + $CREATOR_TAG$ + $RELEASE$ + " 32 Bit..."
|
|
comment "Start setup program"
|
|
ChangeDirectory "%SCRIPTPATH%"
|
|
comment "Copy files"
|
|
Files_install_32 /32Bit
|
|
if ($java_reinstall$ = "1")
|
|
Message "Uninstalling " + "Java" + " 32 + 64 Bit..."
|
|
Dosbatch_java_reinstall
|
|
endif
|
|
Dosbatch_install_32
|
|
Sub_check_exitcode
|
|
comment "Patch Registry"
|
|
Registry_install /32Bit
|
|
comment "Create shortcuts"
|
|
LinkFolder_install
|
|
endif
|
|
|
|
if ($INST_SystemType$ = "64 Bit System") and (($INST_architecture$ = "system specific") or ($INST_architecture$ = "both") or ($INST_architecture$ = "64 only"))
|
|
Message "Installing " + $ProductId$ + " "+ $VERSION$ + "-" + $CREATOR_TAG$ + $RELEASE$ + " 64 Bit..."
|
|
comment "Start setup program"
|
|
ChangeDirectory "%SCRIPTPATH%"
|
|
comment "Copy files"
|
|
Files_install_64 /64Bit
|
|
if ($java_reinstall$ = "1")
|
|
Message "Uninstalling " + "Java" + " 32 + 64 Bit..."
|
|
Dosbatch_java_reinstall
|
|
endif
|
|
Dosbatch_install_64
|
|
Sub_check_exitcode
|
|
comment "Patch Registry"
|
|
Registry_install /64Bit
|
|
comment "Create shortcuts"
|
|
LinkFolder_install
|
|
endif
|
|
|
|
comment "Reboot"
|
|
ExitWindows /Reboot
|
|
endif
|
|
|
|
include_insert setup3264.inc
|
|
|
|
[Registry_install]
|
|
; Example of setting some values of an registry key:
|
|
;
|
|
; openkey [HKEY_LOCAL_MACHINE\Software\$ProductId$]
|
|
; set "name1" = "some string value"
|
|
; set "name2" = REG_DWORD:0001
|
|
; set "name3" = REG_BINARY:00 af 99 cd
|
|
|
|
[LinkFolder_install]
|
|
; Example of deleting a folder from AllUsers startmenu:
|
|
;
|
|
; set_basefolder common_programs
|
|
; delete_subfolder $ProductId$
|
|
;
|
|
; Example of creating an shortcut to the installed exe in AllUsers startmenu:
|
|
;
|
|
; set_basefolder common_programs
|
|
; set_subfolder $ProductId$
|
|
;
|
|
; set_link
|
|
; name: $ProductId$
|
|
; target: <path to the program>
|
|
; parameters:
|
|
; working_dir: $InstallDir$
|
|
; icon_file:
|
|
; icon_index:
|
|
; end_link
|
|
;
|
|
; Example of creating an shortcut to the installed exe on AllUsers desktop:
|
|
;
|
|
; set_basefolder common_desktopdirectory
|
|
; set_subfolder ""
|
|
;
|
|
; set_link
|
|
; name: $ProductId$
|
|
; target: <path to the program>
|
|
; parameters: <some_param>
|
|
; working_dir: $InstallDir$
|
|
; icon_file: <path to icon file>
|
|
; icon_index: 2
|
|
; end_link
|
|
|
|
[Sub_check_exitcode]
|
|
comment "Test for installation success via exit code"
|
|
set $ExitCode$ = getLastExitCode
|
|
; informations to exit codes see
|
|
; http://msdn.microsoft.com/en-us/library/aa372835(VS.85).aspx
|
|
; http://msdn.microsoft.com/en-us/library/aa368542.aspx
|
|
if ($ExitCode$ = "0")
|
|
comment "Looks good: setup program gives exitcode zero"
|
|
else
|
|
comment "Setup program gives a exitcode unequal zero: " + $ExitCode$
|
|
if ($ExitCode$ = "1605")
|
|
comment "ERROR_UNKNOWN_PRODUCT 1605 This action is only valid for products that are currently installed."
|
|
comment "Uninstall of a not installed product failed - no problem"
|
|
else
|
|
if ($ExitCode$ = "1641")
|
|
comment "looks good: setup program gives exitcode 1641"
|
|
comment "ERROR_SUCCESS_REBOOT_INITIATED 1641 The installer has initiated a restart. This message is indicative of a success."
|
|
else
|
|
if ($ExitCode$ = "3010")
|
|
comment "looks good: setup program gives exitcode 3010"
|
|
comment "ERROR_SUCCESS_REBOOT_REQUIRED 3010 A restart is required to complete the install. This message is indicative of a success."
|
|
else
|
|
logError "Fatal: Setup program gives an unknown exitcode unequal zero: " + $ExitCode$
|
|
isFatalError
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|
|
|