change LogDir; add ProductProperty desktoplink, custom-post-install, custom-post-uninstall

fix uninstall - uncomment Winbatch_uninstall_old
This commit is contained in:
Dominik Daehn 2019-06-19 07:06:00 +02:00
parent 2697b0d2a6
commit dcbeadc41e
4 changed files with 92 additions and 34 deletions

View File

@ -7,22 +7,22 @@
Set $UninstallProgram$ = $InstallDir$ + "\" + $UninstallProg$ Set $UninstallProgram$ = $InstallDir$ + "\" + $UninstallProg$
Set $IniFile$ = $InstallDir$ + "\opsi-" + $ProductId$ + ".ini" Set $IniFile$ = $InstallDir$ + "\opsi-" + $ProductId$ + ".ini"
if FileExists($IniFile$) ;if FileExists($IniFile$)
Set $OLD_VERSION$ = GetValueFromInifile($IniFile$,"COMMON","VERSION","") ; Set $OLD_VERSION$ = GetValueFromInifile($IniFile$,"COMMON","VERSION","")
Set $OLD_CREATOR_TAG$ = GetValueFromInifile($IniFile$,"COMMON","CREATOR_TAG","") ; Set $OLD_CREATOR_TAG$ = GetValueFromInifile($IniFile$,"COMMON","CREATOR_TAG","")
Set $OLD_RELEASE$ = GetValueFromInifile($IniFile$,"COMMON","RELEASE","") ; Set $OLD_RELEASE$ = GetValueFromInifile($IniFile$,"COMMON","RELEASE","")
endif ;endif
Message "Uninstalling " + $ProductId$ + " " + $OLD_VERSION$ + "-" + $OLD_CREATOR_TAG$ + $OLD_RELEASE$ + " ..." ;Message "Uninstalling " + $ProductId$ + " " + $OLD_VERSION$ + "-" + $OLD_CREATOR_TAG$ + $OLD_RELEASE$ + " ..."
if FileExists($IniFile$) ;if FileExists($IniFile$)
Set $UninstallProg$ = GetValueFromInifile($IniFile$,"X86","UninstallProg","XXXXXXXX.exe") ; Set $UninstallProg$ = GetValueFromInifile($IniFile$,"X86","UninstallProg","XXXXXXXX.exe")
Set $UninstallProgramOld$ = $InstallDir$ + "\" + $UninstallProg$ ; Set $UninstallProgramOld$ = $InstallDir$ + "\" + $UninstallProg$
if FileExists($UninstallProgramOld$) ; if FileExists($UninstallProgramOld$)
comment "Uninstall program found, starting uninstall" ; comment "Uninstall program found, starting uninstall"
Winbatch_uninstall_old ; Winbatch_uninstall_old
sub_check_exitcode ; sub_check_exitcode
endif ; endif
endif ;endif
if FileExists($UninstallProgram$) if FileExists($UninstallProgram$)
comment "Uninstall program found, starting uninstall" comment "Uninstall program found, starting uninstall"
Winbatch_uninstall Winbatch_uninstall
@ -38,8 +38,19 @@ Registry_uninstall /32Bit
comment "Delete program shortcuts" comment "Delete program shortcuts"
LinkFolder_uninstall LinkFolder_uninstall
[Winbatch_uninstall_old] DefVar $Property_CustomPostUninstall$
"$UninstallProgramOld$" /silent /norestart /SUPPRESSMSGBOXES /nocancel Set $Property_CustomPostUninstall$ = getProductProperty("custom-post-uninstall","none")
if not ($Property_CustomPostUninstall$ = "none")
comment "Include custom post uninstall file"
if FileExists("%ScriptPath%\custom\" + $Property_CustomPostUninstall$)
sub_CustomPostUninstall
else
LogError "Include script NOT exists (" + $Property_CustomPostUninstall$ +")"
endif
endif
;[Winbatch_uninstall_old]
;"$UninstallProgramOld$" /silent /norestart /SUPPRESSMSGBOXES /nocancel
[Winbatch_uninstall] [Winbatch_uninstall]
@ -64,9 +75,12 @@ del -sf "$InstallDir$\"
; ;
; Example of deleting a shortcut from AllUsers desktop: ; Example of deleting a shortcut from AllUsers desktop:
; ;
; set_basefolder common_desktopdirectory set_basefolder common_desktopdirectory
; set_subfolder "" set_subfolder ""
; delete_element $ProductId$ delete_element $NAME$
[sub_CustomPostUninstall]
include_insert "%ScriptPath%\custom\" + $Property_CustomPostUninstall$
[Sub_check_exitcode] [Sub_check_exitcode]
comment "Test for installation success via exit code" comment "Test for installation success via exit code"

View File

@ -19,7 +19,11 @@ DefVar $OLD_VERSION$
DefVar $OLD_CREATOR_TAG$ DefVar $OLD_CREATOR_TAG$
DefVar $OLD_RELEASE$ DefVar $OLD_RELEASE$
Set $LogDir$ = "%SystemDrive%\tmp" ;Property Variables
DefVar $Property_CustomPostInstall$
DefVar $Property_DesktopLink$
Set $LogDir$ = "%opsiLogDir%"
; The token BUILDER_VARIABLES will be replaced by opsi-builder.sh ; The token BUILDER_VARIABLES will be replaced by opsi-builder.sh
; and adds the following variables: ; and adds the following variables:
@ -70,8 +74,21 @@ else
comment "Patch Registry" comment "Patch Registry"
Registry_install /32Bit Registry_install /32Bit
comment "Create shortcuts" Set $Property_DesktopLink$ = GetProductProperty("DesktopLink","false")
LinkFolder_install if ($Property_DesktopLink$ = "true")
comment "Create shortcuts"
LinkFolder_install
endif
Set $Property_CustomPostInstall$ = getProductProperty("custom-post-install","none")
if not ($Property_CustomPostInstall$ = "none")
comment "Include custom post install file"
if FileExists("%ScriptPath%\custom\" + $Property_CustomPostInstall$)
sub_CustomPostInstall
else
LogError "Include script NOT exists (" + $Property_CustomPostInstall$ +")"
endif
endif
endif endif
@ -116,17 +133,20 @@ copy "%ScriptPath%\fdm_uninstall.exe" "$InstallDir$"
; ;
; Example of creating an shortcut to the installed exe on AllUsers desktop: ; Example of creating an shortcut to the installed exe on AllUsers desktop:
; ;
; set_basefolder common_desktopdirectory set_basefolder common_desktopdirectory
; set_subfolder "" set_subfolder ""
; ;
; set_link set_link
; name: $ProductId$ name: $NAME$
; target: <path to the program> target: "$InstallDir$\fdm.exe"
; parameters: <some_param> parameters:
; working_dir: $InstallDir$ working_dir: $InstallDir$
; icon_file: <path to icon file> icon_file:
; icon_index: 2 icon_index:
; end_link end_link
[sub_CustomPostInstall]
include_insert "%ScriptPath%\custom\" + $Property_CustomPostInstall$
[Sub_check_exitcode] [Sub_check_exitcode]
comment "Test for installation success via exit code" comment "Test for installation success via exit code"

View File

@ -18,7 +18,7 @@ DefVar $OLD_VERSION$
DefVar $OLD_CREATOR_TAG$ DefVar $OLD_CREATOR_TAG$
DefVar $OLD_RELEASE$ DefVar $OLD_RELEASE$
Set $LogDir$ = "%SystemDrive%\tmp" Set $LogDir$ = "%opsiLogDir%"
; The token BUILDER_VARIABLES will be replaced by opsi-builder.sh ; The token BUILDER_VARIABLES will be replaced by opsi-builder.sh
; and adds the following variables: ; and adds the following variables:

View File

@ -21,6 +21,30 @@ onceScript:
customScript: customScript:
userLoginScript: userLoginScript:
[ProductProperty]
type: bool
name: desktoplink
description: Show Desktop Link on/off
default: False
[ProductProperty]
type: unicode
name: custom-post-install
multivalue: False
editable: True
description: Define filename for include script in custom directory after installation
values: ["none"]
default: ["none"]
[ProductProperty]
type: unicode
name: custom-post-uninstall
multivalue: False
editable: True
description: Define filename for include script in custom directory after uninstallation
values: ["none"]
default: ["none"]
[ProductDependency] [ProductDependency]
action: setup action: setup
requiredProduct: sereby.aio requiredProduct: sereby.aio