exception handling script copy
This commit is contained in:
95
CLIENT_DATA/delsub32_inact.ins
Normal file
95
CLIENT_DATA/delsub32_inact.ins
Normal file
@@ -0,0 +1,95 @@
|
||||
; Copyright (c) uib gmbh (www.uib.de)
|
||||
; This sourcecode is owned by uib gmbh
|
||||
; and published under the Terms of the General Public License.
|
||||
; credits: http://www.opsi.org/credits/
|
||||
|
||||
|
||||
Set $MsiId$ = '{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}'
|
||||
Set $UninstallProgram$ = $InstallDir$ + "\uninstall.exe"
|
||||
|
||||
Message "Uninstalling " + $ProductId$ + " ..."
|
||||
|
||||
if FileExists($UninstallProgram$)
|
||||
comment "Uninstall program found, starting uninstall"
|
||||
Winbatch_uninstall
|
||||
sub_check_exitcode
|
||||
endif
|
||||
if not (GetRegistryStringValue32("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" + $MsiId$ + "] DisplayName") = "")
|
||||
comment "MSI id " + $MsiId$ + " found in registry, starting msiexec to uninstall"
|
||||
Winbatch_uninstall_msi
|
||||
sub_check_exitcode
|
||||
endif
|
||||
|
||||
comment "Delete files"
|
||||
Files_uninstall /32Bit
|
||||
|
||||
comment "Cleanup registry"
|
||||
Registry_uninstall /32Bit
|
||||
|
||||
comment "Delete program shortcuts"
|
||||
LinkFolder_uninstall
|
||||
|
||||
[Winbatch_uninstall]
|
||||
; Choose one of the following examples as basis for program uninstall
|
||||
;
|
||||
; === Nullsoft Scriptable Install System ================================================================
|
||||
; "$UninstallProgram$" /S
|
||||
;
|
||||
; === Inno Setup ========================================================================================
|
||||
; "$UninstallProgram$" /silent /norestart /SUPPRESSMSGBOXES
|
||||
|
||||
|
||||
[Winbatch_uninstall_msi]
|
||||
msiexec /x $MsiId$ /qb! REBOOT=ReallySuppress
|
||||
|
||||
[Files_uninstall]
|
||||
; Example for recursively deleting the installation directory (don't forget the trailing backslash):
|
||||
;
|
||||
; delete -sf "$InstallDir$\"
|
||||
|
||||
[Registry_uninstall]
|
||||
; Example of deleting a registry key:
|
||||
;
|
||||
; deletekey [HKEY_LOCAL_MACHINE\Software\$ProductId$]
|
||||
|
||||
[LinkFolder_uninstall]
|
||||
; Example of deleting a folder from AllUsers startmenu:
|
||||
;
|
||||
; set_basefolder common_programs
|
||||
; delete_subfolder $ProductId$
|
||||
;
|
||||
; Example of deleting a shortcut from AllUsers desktop:
|
||||
;
|
||||
; set_basefolder common_desktopdirectory
|
||||
; set_subfolder ""
|
||||
; delete_element $ProductId$
|
||||
|
||||
[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
|
||||
|
||||
22
CLIENT_DATA/set_2nd_ip.vbs
Normal file
22
CLIENT_DATA/set_2nd_ip.vbs
Normal file
@@ -0,0 +1,22 @@
|
||||
On Error Resume Next
|
||||
Const HKEY_LOCAL_MACHINE = &H80000002
|
||||
|
||||
IParrData = Array("0.0.0.0", Wscript.Arguments(0))
|
||||
SubnetarrData = Array("0.0.0.0", Wscript.Arguments(1))
|
||||
strKeyPath = "SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces"
|
||||
|
||||
strComputer = "."
|
||||
|
||||
Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" _
|
||||
& strComputer & "\root\default:StdRegProv")
|
||||
|
||||
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
|
||||
Set colItems = objWMIService.ExecQuery("Select * from Win32_NetworkAdapter where NetConnectionStatus = 2 AND Name <> 'TAP-Win32 Adapter V9'",,48)
|
||||
For Each objItem in colItems
|
||||
Set colItems2 = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where index = "&objItem.index,,48)
|
||||
For Each objItem2 in colItems2
|
||||
strKeyPath = strKeyPath &"\"& objItem2.SettingID
|
||||
objWMI.SetMultiStringValue HKEY_LOCAL_MACHINE,strKeyPath,"IPAddress",IParrData
|
||||
objWMI.SetMultiStringValue HKEY_LOCAL_MACHINE,strKeyPath,"SubnetMask",SubnetarrData
|
||||
next
|
||||
Next
|
||||
107
CLIENT_DATA/setup32.ins
Normal file
107
CLIENT_DATA/setup32.ins
Normal file
@@ -0,0 +1,107 @@
|
||||
; 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/credits/
|
||||
|
||||
[Actions]
|
||||
requiredWinstVersion >= "4.10.8.6"
|
||||
|
||||
DefVar $local_ip_addr2$
|
||||
DefVar $local_netmask2$
|
||||
DefVar $MsiId$
|
||||
DefVar $UninstallProgram$
|
||||
DefVar $LogDir$
|
||||
DefVar $ProductId$
|
||||
DefVar $MinimumSpace$
|
||||
DefVar $InstallDir$
|
||||
DefVar $ExitCode$
|
||||
DefVar $LicenseRequired$
|
||||
DefVar $LicenseKey$
|
||||
DefVar $LicensePool$
|
||||
|
||||
Set $LogDir$ = "%SystemDrive%\tmp"
|
||||
Set $local_ip_addr2$ = GetProductProperty("local-addr2.ip","values")
|
||||
if not ($local_ip_addr2$ = "")
|
||||
Set $local_netmask2$ = GetProductProperty("local-addr2.netmask","values")
|
||||
endif
|
||||
|
||||
; 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 $ProductId$ = "windows.2nd-ip"
|
||||
Set $MinimumSpace$ = "1 MB"
|
||||
; the path were we find the product after the installation
|
||||
Set $InstallDir$ = "%ProgramFiles32Dir%\<path to the product>"
|
||||
Set $LicenseRequired$ = "false"
|
||||
Set $LicensePool$ = "p_" + $ProductId$
|
||||
; ----------------------------------------------------------------
|
||||
|
||||
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" $ProductId$
|
||||
|
||||
if FileExists("%ScriptPath%\delsub32.ins")
|
||||
comment "Start uninstall sub section"
|
||||
Sub "%ScriptPath%\delsub32.ins"
|
||||
endif
|
||||
|
||||
Message "Installing " + $ProductId$ + " ..."
|
||||
|
||||
if $LicenseRequired$ = "true"
|
||||
comment "Licensing required, reserve license and get license key"
|
||||
Sub_get_licensekey
|
||||
endif
|
||||
|
||||
if FileExists("%SystemDrive%\tmp\set_2nd_ip.vbs")
|
||||
DosInAnIcon_delvbs
|
||||
EndIf
|
||||
|
||||
comment "Copy files"
|
||||
Files_install /32Bit
|
||||
|
||||
if not (FileExists("%SystemDrive%\tmp\set_2nd_ip.vbs"))
|
||||
isFatalError
|
||||
Endif
|
||||
|
||||
comment "Start setup program"
|
||||
Winbatch_install
|
||||
Sub_check_exitcode
|
||||
|
||||
comment "Reboot"
|
||||
ExitWindows /Reboot
|
||||
endif
|
||||
|
||||
[DosInAnIcon_delvbs]
|
||||
del "%SystemDrive%\tmp\set_2nd_ip.vbs"
|
||||
|
||||
[Files_install]
|
||||
copy "%ScriptPath%\set_2nd_ip.vbs" %SystemDrive%\tmp\
|
||||
|
||||
[Winbatch_install]
|
||||
; Choose one of the following examples as basis for your installation
|
||||
; You can use $LicenseKey$ var to pass a license key to the installer
|
||||
;
|
||||
; === Nullsoft Scriptable Install System ================================================================
|
||||
|
||||
if not ($local_ip_addr2$ = "")
|
||||
%SystemDrive%\tmp\set_2nd_ip.vbs $local_ip_addr2$ $local_netmask2$
|
||||
endif
|
||||
|
||||
|
||||
68
CLIENT_DATA/uninstall32.ins
Normal file
68
CLIENT_DATA/uninstall32.ins
Normal file
@@ -0,0 +1,68 @@
|
||||
; Copyright (c) uib gmbh (www.uib.de)
|
||||
; This sourcecode is owned by uib gmbh
|
||||
; and published under the Terms of the General Public License.
|
||||
; credits: http://www.opsi.org/credits/
|
||||
|
||||
[Actions]
|
||||
requiredWinstVersion >= "4.10.8.6"
|
||||
|
||||
DefVar $MsiId$
|
||||
DefVar $UninstallProgram$
|
||||
DefVar $LogDir$
|
||||
DefVar $ExitCode$
|
||||
DefVar $ProductId$
|
||||
DefVar $InstallDir$
|
||||
DefVar $LicenseRequired$
|
||||
DefVar $LicensePool$
|
||||
|
||||
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 -
|
||||
; ----------------------------------------------------------------
|
||||
Set $ProductId$ = "opsi-template"
|
||||
Set $InstallDir$ = "%ProgramFiles32Dir%\<path to the product>"
|
||||
Set $LicenseRequired$ = "false"
|
||||
Set $LicensePool$ = "p_" + $ProductId$
|
||||
; ----------------------------------------------------------------
|
||||
|
||||
|
||||
comment "Show product picture"
|
||||
ShowBitmap "%ScriptPath%\" + $ProductId$ + ".png" $ProductId$
|
||||
|
||||
Message "Uninstalling " + $ProductId$ + " ..."
|
||||
|
||||
if FileExists("%ScriptPath%\delsub32.ins")
|
||||
comment "Start uninstall sub section"
|
||||
Sub "%ScriptPath%\delsub32.ins"
|
||||
endif
|
||||
|
||||
if $LicenseRequired$ = "true"
|
||||
comment "Licensing required, free license used"
|
||||
Sub_free_license
|
||||
endif
|
||||
|
||||
[Sub_free_license]
|
||||
comment "License management is enabled and will be used"
|
||||
|
||||
comment "Trying to free license used for the product"
|
||||
DefVar $result$
|
||||
Set $result$ = FreeLicense($LicensePool$)
|
||||
; If there is an assignment of a license pool to the product, it is possible to use
|
||||
; Set $result$ = FreeLicense("", $ProductId$)
|
||||
;
|
||||
; If there is an assignment of a license pool to a windows software id, it is possible to use
|
||||
; DefVar $WindowsSoftwareId$
|
||||
; $WindowsSoftwareId$ = "..."
|
||||
; set $result$ = FreeLicense("", "", $WindowsSoftwareId$)
|
||||
|
||||
Reference in New Issue
Block a user