Lotus Notes 9.0.1 + FP6 probleme unter Opsi 4.1

PallmallJP
Beiträge: 6
Registriert: 25 Jul 2016, 08:58

Lotus Notes 9.0.1 + FP6 probleme unter Opsi 4.1

Beitragvon PallmallJP » 16 Aug 2019, 08:49

Guten Morgen,

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
; ----------------------------------------------------------------


Ich bin mittlerweile ziemlich ratlos. Die Parameter funktionieren wenn ich diese über eine Batch laufen lasse. Allerdings bin ich da auch als Administrator angemeldet.

EDIT: Code im Codeblock

Benutzeravatar
SisterOfMercy
Beiträge: 1016
Registriert: 22 Jun 2012, 19:18

Re: Lotus Notes 9.0.1 + FP6 probleme unter Opsi 4.1

Beitragvon SisterOfMercy » 16 Aug 2019, 16:08

Well, I'm sorry to say it, but I see a couple of errors in the provided script.

- productid has spaces and capitals
- delete -sf doesn't end with a backslash
- if you have delsub.opsiscript the update script will run the uninstall

If it still does not work after fixing these errors, then try the winbatch section with /RunElevated. You will have to copy the setup files to a local directory first.
Bitte schreiben Sie Deutsch, when I'm responding in the German-speaking part of the forum!

PallmallJP
Beiträge: 6
Registriert: 25 Jul 2016, 08:58

Re: Lotus Notes 9.0.1 + FP6 probleme unter Opsi 4.1

Beitragvon PallmallJP » 20 Aug 2019, 10:52

Hi,

thanks for your answer.
Winbatch /RunElevated fixed the Problem.

Benutzeravatar
SisterOfMercy
Beiträge: 1016
Registriert: 22 Jun 2012, 19:18

Re: Lotus Notes 9.0.1 + FP6 probleme unter Opsi 4.1

Beitragvon SisterOfMercy » 20 Aug 2019, 17:14

It could have also been the spaces (and no quotes) in your command line.

Code: Alles auswählen

%ScriptPath%\files\fp\setup.exe

vs.

Code: Alles auswählen

c:\fp\setup.exe


Remember, in your case %ScriptPath% is with a space, so you need to quote the entirety.

Code: Alles auswählen

"%ScriptPath%\files\fp\setup.exe"
Bitte schreiben Sie Deutsch, when I'm responding in the German-speaking part of the forum!