Seite 1 von 1

NSIS-Fehler 1223 bei Installation von Mendely-Desktop

Verfasst: 31 Jul 2014, 21:57
von GEI
Bei der Erstellung eines neuen OPSI-Paketes tritt nachfolgender Fehler auf:

PS: OPSI-Setup-Detector 4.0.4 erkennt bei dieser EXE auch nicht, dass der NSIS-Installer verwendet wird.

Code: Alles auswählen

[Jul 31 15:10:15:826] [mendeley-desktop]     Call "C:\tmp\Mendeley-Desktop-1.11-win32.exe /S /D="C:\Program Files (x86)\Mendeley Desktop""
[6] [Jul 31 15:10:15:826] [mendeley-desktop]        Waiting until the called process is finished
[6] [Jul 31 15:10:15:827] [mendeley-desktop]     Start process as invoker: SYSTEM
[6] [Jul 31 15:10:20:007] [mendeley-desktop]     ExitCode 1223    Executed process "C:\tmp\Mendeley-Desktop-1.11-win32.exe /S /D="C:\Program Files (x86)\Mendeley Desktop""
Laut Netz soll das ein UAC-Problem sein.

Der relevante Teil der setup.ins (angepasste Vorlage opsi-paketbuilder)

Code: Alles auswählen

   if ($SetupType$ = "nsis")
;      Set $NsisInstallBatch$ = "%ScriptPath%\" + $Setupfile$  + " /S"
      Set $NsisInstallBatch$ = $LogDir$ + "\" + $Setupfile$  + " /S"
      if not ($InstallDir$ = '')
         Set $NsisInstallBatch$ = $NsisInstallBatch$ + ' /D="' + $InstallDir$ + '"'
      endif
   endif

   comment "Start setup program"
   ChangeDirectory "%SCRIPTPATH%"
   ;----------------------------------------------
   Files_copy
   Winbatch_install_nsis
   Sub_check_exitcode
endif
; ----------------------------------------------------------------
; install sections
; ----------------------------------------------------------------
[Files_copy]
copy "$Setupfile$" "$LogDir$"

[Winbatch_install_nsis]
;NSIS Nullsoft Scriptable Install System
$NsisInstallBatch$
Beim direkten Aufruf auf der Win7-CMD-Line "Mendeley-Desktop-1.11-win32.exe /S" als adminstrativer User hängt sich der UAC-Dialog dazwischen. In dessen Details kann man sehen, dass der Aufruf expandiert wird zu "/S /UAC:304FA /NOCRC".
(nach UAC: kommen wechselnde Werte....)

Hat jemand eine Idee oder Tipps hierzu?

Re: NSIS-Fehler 1223 bei Installation von Mendely-Desktop

Verfasst: 14 Sep 2015, 15:50
von feltel
Ich habe heute mal einen neuen ownCloud-Client 2.0.1 paketiert und anders als die Clients vorher schlägt das Setup mit dem Fehler 1223 fehl, was wohl bei einem NSIS-Installer auf eine abgelehnte UAC-Hochstufung hindeutet. Dein Fehler ist wohl genau der gleiche, daher wollte ich mal nachfragen, was aus der Sache geworden ist?

Re: NSIS-Fehler 1223 bei Installation von Mendely-Desktop

Verfasst: 15 Sep 2015, 09:33
von GEI
feltel hat geschrieben:Ich habe heute mal einen neuen ownCloud-Client 2.0.1 paketiert und anders als die Clients vorher schlägt das Setup mit dem Fehler 1223 fehl
bei uns ownCloud 2.0 und 2.0.1 alles OK - kein Errorlevel.
Dein Fehler ist wohl genau der gleiche, daher wollte ich mal nachfragen, was aus der Sache geworden ist?
naja, das war nicht zu lösen, der installierte Client lief problemlos.
Also habe ich es für diesen Fall "Mendeley-Desktop"umgangen:

Code: Alles auswählen

[Sub_check_exitcode]
comment "Test for installation success via exit code"
set $ExitCode$ = getLastExitCode
if $ExitCode$ = "1223"
         LogWarning "Error 1223, but Installation is successfull!"
         set $Exitcode$ = "0"
else
         Sub "%ScriptDrive%\check_nsis-exitcode.opsiscript"
endif

Re: NSIS-Fehler 1223 bei Installation von Mendely-Desktop

Verfasst: 15 Sep 2015, 10:48
von feltel
Danke, das wäre zumindest ein Workaround. Ich hab das ganze mal bei den ownCloud-Jungs und Mädels als Bug eingestellt. Mal sehen, denn da sollte halt null rauskommen als Errorlevel, wenn die Installation durchläuft.

https://github.com/owncloud/client/issues/3831

Re: NSIS-Fehler 1223 bei Installation von Mendely-Desktop

Verfasst: 16 Sep 2015, 01:47
von SisterOfMercy
Oh, it's not really a bug in the installer, I think. It tries to get UAC thingies, and gives 1223 when it can not get it. We run it in a different way, so it has the rights it needs anyway. I have a few other packages based on nsis which need this.

By teh way, somebody should teach those nsis-installer-using people they need to implement setup options via a command line, or use innosetup. That /saveinf thing is sooo easy!