eingangs möchte ich erwähnen, dass unter OPSI 4.0 keine Probleme mit dem Paket bestanden haben und sich auch das Installationscript nicht geändert hat. Pakete sind alle auf dem aktuellsten Stand und der Server ist mittles der bereitgestellten VM neu aufgesetzt worden. (Der alte lief nicht mehr ganz rund).
Folgendes Phänomen:
Wenn ein Rechner über das Bootimage komplett neu angelegt wird, bleibt die Installation vom Notes Client hängen. Man sieht nur noch den Fortschrittsbalken und das war es dann. Keine Fehlermeldung oder der gleichen. Ich schalte den Rechner hart aus und wieder an. Die Installation wird nachgeholt, läuft aber auf einen Fehler "RCPError". Das ignoriere ich erstmal und lasse die anderen Pakete fertig installieren.
Wenn ich dann über den Opsi configuration Editor das Notes Paket wieder auf "Setup" setze installiert er mir zumindest den Notes Client, aber das FP6 schließt mit einem Fehler ab.
In der log habe ich nach "return Value 3" gesucht und habe auch einen Eintrag gefunden. Die MSI hat anscheinend keinen Zugriff auf "C:\Windows\winsxs"
In der instlog steht nur "returncode: 1603"
Im folgenden findet ihr das verwendete Setup-Script:
Code: Alles auswählen
[Actions]
requiredWinstVersion >= "4.11.3.3"
ScriptErrorMessages = false
setLogLevel=9
DefVar $SetupType$
DefVar $ProductId$
DefVar $Setupfile$
DefVar $InstallDir$
DefVar $MinimumSpace$
DefVar $ExitCode$
DefVar $ErrorMsg$
DefVar $MsiId$
DefVar $NsisInstallBatch$
DefVar $LogDir$
Set $LogDir$ = "%SystemDrive%\tmp"
include_append "%ScriptPath%\check_msi_exitcode.opsiscript"
; ----------------------------------------------------------------
Set $SetupType$ = "msi"
; ----------------------------------------------------------------
; $ProductId$ is the name of the product in opsi, only lower letters, no umlauts, no white spaces, use '-' as a seperator
Set $ProductId$ = "IBM Notes 9"
Set $Setupfile$ = "<setup file msi>"
; the path where we find the product after the installation
Set $MinimumSpace$ = "500 MB"
; ----------------------------------------------------------------
; ----------------------------------------------------------------
if not(HasMinimumSpace ("%SystemDrive%", $MinimumSpace$))
LogError "Not enough space on %SystemDrive%, " + $MinimumSpace$ + " on drive %SystemDrive% needed for " + $ProductId$
isFatalError "No Space"
; Stop process and set installation status to failed
else
comment "Show product picture"
ShowBitmap "%ScriptPath%\" + "logo.png" $ProductId$
if FileExists("%ScriptPath%\delsub.opsiscript")
comment "Start uninstall sub section"
Sub "%ScriptPath%\delsub.opsiscript"
endif
endif
if FileExists("%ProgramFiles32Dir%\IBM\Lotus\.")
comment "Delete Notes 8 Program Folder"
Files_delete8_64x
else
if FileExists("%ProgramFilesDir%\IBM\Lotus\.")
comment "Delete Notes 8 Program Folder"
Files_delete8
endif
endif
Message "Installing " + $ProductId$ + " ..."
comment "Start setup program"
ChangeDirectory "%SCRIPTPATH%"
;----------------------------------------------
;DosInAnIcon_substZ
DosInAnIcon_TEMP
Winbatch_nice
Files_Delete_old_Icon
Winbatch_install_Notes9
;Winbatch_install_FP
;DosInAnIcon_del_substZ
;----------------------------------------------
Sub_check_exitcode
; ----------------------------------------------------------------
; install section
; ----------------------------------------------------------------
;[DosInAnIcon_substZ]
;subst z: c:\temp
;[DosInAnIcon_del_substZ]
;subst z: /d
[DosInAnIcon_TEMP]
if not exist c:\temp\. md c:\temp
[Files_Delete_old_Icon]
del -sf "C:\Users\Public\Desktop\Lotus Notes 8.5.lnk"
del -sf "C:\Users\Public\Desktop\Lotus Notes*.lnk"
[Winbatch_nice]
%ScriptPath%\files\nice.exe -wipe -qb
[Files_delete8_64x]
delete -sf C:\LotusAppDataCommon
delete -sf %ProgramFiles32Dir%\IBM\Lotus\
[Files_delete8]
delete -sf C:\LotusAppDataCommon
delete -sf %ProgramFiles%\IBM\Lotus\
[Winbatch_install_Notes9]
;%ScriptPath%\files\setup\setup.exe /v"SETMULTIUSER=1 MULTIUSERCOMMONDIR=%ALLUSERSPROFILE%\ MULTIUSERBASEDIR=%LOCALAPPDATA%\ /L*v c:\temp\Notes9.log /qb!"
%ScriptPath%\files\setup\setup.exe /v"SETMULTIUSER=1 /L*v c:\temp\Notes9.log /qb!"
[Winbatch_install_FP]
%ScriptPath%\files\fp\setup.exe /s /v"/L*v c:\temp\Notes9FP6.log /qb!"
;-s -a /s /v"/qb-!"
;%ScriptPath%\files\fp5\setup.exe -s -a -s /v"/qn /L*v C:\Temp\Lotus_Notes_FixPack_Installation.log"
; ----------------------------------------------------------------
[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$
ExitWindows /Reboot
isFatalError
endif
endif
endif
endif
; ----------------------------------------------------------------
Anschließend wird ein Update-Script ausgeführt:
[Actions]
requiredWinstVersion >= "4.11.3.3"
ScriptErrorMessages = false
setLogLevel=6
DefVar $SetupType$
DefVar $ProductId$
DefVar $Setupfile$
DefVar $InstallDir$
DefVar $MinimumSpace$
DefVar $ExitCode$
DefVar $ErrorMsg$
DefVar $MsiId$
DefVar $NsisInstallBatch$
DefVar $LogDir$
Set $LogDir$ = "%SystemDrive%\tmp"
include_append "%ScriptPath%\check_msi_exitcode.opsiscript"
; ----------------------------------------------------------------
Set $SetupType$ = "msi"
; ----------------------------------------------------------------
; $ProductId$ is the name of the product in opsi, only lower letters, no umlauts, no white spaces, use '-' as a seperator
Set $ProductId$ = "IBM Notes 9"
Set $Setupfile$ = "<setup file msi>"
; the path where we find the product after the installation
Set $MinimumSpace$ = "500 MB"
; ----------------------------------------------------------------
; ----------------------------------------------------------------
if not(HasMinimumSpace ("%SystemDrive%", $MinimumSpace$))
LogError "Not enough space on %SystemDrive%, " + $MinimumSpace$ + " on drive %SystemDrive% needed for " + $ProductId$
isFatalError "No Space"
; Stop process and set installation status to failed
else
comment "Show product picture"
ShowBitmap "%ScriptPath%\" + "logo.png" $ProductId$
if FileExists("%ScriptPath%\delsub.opsiscript")
comment "Start uninstall sub section"
Sub "%ScriptPath%\delsub.opsiscript"
endif
endif
if FileExists("%ProgramFiles32Dir%\IBM\Lotus\.")
comment "Delete Notes 8 Program Folder"
Files_delete8_64x
else
if FileExists("%ProgramFilesDir%\IBM\Lotus\.")
comment "Delete Notes 8 Program Folder"
Files_delete8
endif
endif
Message "Installing " + $ProductId$ + " ..."
comment "Start setup program"
ChangeDirectory "%SCRIPTPATH%"
;----------------------------------------------
;DosInAnIcon_substZ
DosInAnIcon_TEMP
Winbatch_install_FP
;DosInAnIcon_del_substZ
;----------------------------------------------
Sub_check_exitcode
; ----------------------------------------------------------------
; install section
; ----------------------------------------------------------------
;[DosInAnIcon_substZ]
;subst z: c:\temp
;[DosInAnIcon_del_substZ]
;subst z: /d
[DosInAnIcon_TEMP]
if not exist c:\temp\. md c:\temp
[Winbatch_install_FP]
;%ScriptPath%\files\fp5\setup.exe /s /v"/L*v c:\temp\Notes9FP2.log /qb!"
;-s -a /s /v"/qb-!"
;%ScriptPath%\files\fp\setup.exe -s -a -s /v"/qn /L*v C:\Temp\Lotus_Notes_FixPack_Installation.log"
%ScriptPath%\files\fp\setup.exe /s /v"/L*v c:\temp\Notes9FP6.log /qb!"
; ----------------------------------------------------------------
[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$
ExitWindows /Reboot
isFatalError
endif
endif
endif
endif
; ----------------------------------------------------------------
EDIT: Code im Codeblock