Page 1 of 2

Ich werd zum Hirsch

Posted: 20. Apr 2011, 15:10
by Lammsalat
Hallo Empirum-Fan-Gemeinde :mrgreen:
ich versuche seit geraumer Zeit den IE8 zu paketieren. Habe dazu auch schon den IE8 Thread durchgearbeitet. Habe die Installation mit der Original Exe gestartet, ein IEAK 8 Paket als Exe oder MSI erstellt funkioniert auch alles wunderbar, bis man das Paket aktiviert. Dann fängt die Installation an, sich doppelt zu installieren.

- Call Aufruf der Installationroutine funktioniert nicht, da der CALL darauf wartet, dass die Installation fertig ist. Bevor das aber passiert läuft der CALL in eine Art Timeout und startet die Installation neu.
- Startet man die Installationsroutine ohne Call, ist das Paket sofort mit Success beendet. Die Installation läuft aber noch weiter und meine Anwender fangen dann sofort an irgendwelche Sachen (Outllook,etc) zu öffnen)
- WaitUntilProcessExists kommt zum gleichen ergebniss wie wenn ich die Installation per CALL aufrufe.

Ich vermute das der Fehler nicht an den einzelnen Installationsroutinen liegt, sondern an einer Einstellung die den Timeout des CALL Aufrufs bzw. des WaitUntil... regelt.

Weis jemand wo man den Timeout hochstellen kann, bzw. ich es hinbekomme das dass Paket so funktioniert wie es sich gehört ;-)

Über sachdienliche Hinweise bin ich sehr dankbar. Anbei die Inf-Datei

Code: Select all

[SetupInfo]
Author                  = 
CreationDate            =11.04.2011 10:55:50
InventoryID             =
Description             = Installiert IE8
Method                  = Unattended
Tested on               = XP/ Test1-User
Dependencies            =
Command line options    =/S2
Last Change             =
Build                   =

[VarDefInfo]
; <Variable>, <Type: 0=Computer 1=User>, <Allow NULL values: 0=No 1=Yes>

[Setup]
Version=10.5
ShowCaption=1
BlockInput=0
Platform=x86

[Requirements]

[Application]
ProductName=Windows Internet Explorer
DeveloperName=Microsoft
Version=8.0
Revision=0
SetupName=%ProductName% %Version% %SetupWizard%
Text1="%ProductName% %Version%",         Arial,           30, , 00FFFF, 4,    , LEFT BOLD ITALIC
Text2="%DeveloperName%",                 Arial,           24, , 00FFFF, 4,    , LEFT BOLD ITALIC
Text8="%Company%",                       Arial,           18, , 00FFFF, 4,  10, RIGHT BOLD ITALIC
Text9="%InstallationFor% %WindowsUser%", Arial,           16, , 007F00, 4, -18, BOTTOM ITALIC LEFT
BackgroundColor=FF0000,000000
CopyDialogRect=0%, 0%, 100%, 100%, HCENTER VCENTER
UserKeyName=%DeveloperName%\%ProductName%
MachineKeyName=%DeveloperName%\%ProductName%\%Version%
UninstallKeyName=%DeveloperName% %ProductName% %Version%
UninstallDisplayName=%ProductName% %Version%
UninstallString=%ReinstallString% /U
ReinstallString="%CommonSetupDir%\Setup.exe" "%App%\%SetupInfDir%\Setup.inf"
ReinstallMode=1
SrcDir=..
ApplicationDir=%ProgramFilesDir%\%ProductName%
SetupInfDir=Install
AskUninstallOld=1
ShellLinks=1
CommonShellLinks=1
CreateUnresolvableShellLinks=1
UseStringSection=Strings:09
UseSysStringSection=SysStrings:09
DateWarning=1
SizeWarning=1
Reboot=1
PreventExternalReboot=1
StartServicesOnReboot=0
CallTimeOut=3600
AbortAfterCallTimeOut=1
DisableCancelButton=1
ShowEndMessage=1
EndMessage=%EndMessageDesc%


[Strings:07]
Disk1=Installationsmedium 1
EndMessageDesc=Die Installation wurde erfolgreich abgeschlossen!
ErrorLogMessage=Die Installation/Deinstallation wurde mit einer Fehlermeldung abgebrochen!
InstallationFor=Installation für:
InstallerDesc=Dienstprogramm zum Installieren einzelner Komponenten.
InstallerName=Installationsprogramm
SetupWizard=Installations-Assistent
Uninstallation=deinstallieren
ErrorText=Fehler
CallingText=beim Aufruf von

[Strings:09]
Disk1=Installation media 1
EndMessageDesc=Installation was completed successfully!
ErrorLogMessage=The installation/uninstallation aborted with an error message!
InstallationFor=Installation for:
InstallerDesc=Service program to install single components.
InstallerName=Setup program
SetupWizard=Installation Wizard
Uninstallation=Uninstallation
ErrorText=Error
CallingText=launching

[SysStrings:07]
Users=Benutzer

[SysStrings:09]
Users=Users

[Environment]
CommonSetupDir=%CommonFilesDir%\Setup%SetupBits%
V_MachineValuesPath=\\%EmpirumServer%\Values$\MachineValues\%DomainName%
V_UserValuesPath=%HKLM,"Software\matrix42\Software Depot","HomeServer"%\Values$\UserValues\%UserDomain%

; Maschinenabhängige Variablen
; machine dependent variables
;VM_<Variable>=%%%V_MachineValuesPath%\%ComputerName%.ini,%ComputerName%,<Variable>%%

; Userabhängige Variablen
; user dependent variables
;VU_<Variable>=%%%V_UserValuesPath%\%WindowsUser%.ini,%WindowsUser%,<Variable>%%

; !!! Setzen der entsprechenden ReplaceEnv Befehle für die Variablen im Abschnitt [Product] nicht vergessen!!!
; !!! Don't forget to set the appropriate ReplaceEnv instructions for the variables in the section [Product]!!!

[Encryption]

[Disks]
1=%Disk1%

[Options]
Installer = %InstallerName%, COPYALWAYS, Installer, "%InstallerDesc%"
Product   = %ProductName%,   COPYALWAYS, Product,   "%ProductDesc%"

[OptionDependencies]

[OptionGroups]

[Installer]
1:..\..\..\..\User\Setup.exe,          %CommonSetupDir%, OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP, 0
1:..\..\..\..\User\SetupDeu.chm,       %CommonSetupDir%, OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP, 0
1:..\..\..\..\User\SetupEnu.chm,       %CommonSetupDir%, OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP, 0
1:..\..\..\..\User\Mx42SynSem.dll,     %System%,         OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP WINDOWS32, 0
1:..\..\..\..\User\x64\Mx42SynSem.dll, %System%,         OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP WINDOWS64, 0
1:%SetupInfDir%\Setup.inf,                             , NORMAL,                                             0
1:%Temp%\Setup64.exe,                  %CommonSetupDir%\Setup.exe, OPTIONAL NOSIZEWARNING SETUP ALWAYS WINDOWS64,      0

[FileCheckMachine]
ReplaceEnv V_MachineValuesPath
If DoesFileExist ("%V_MachineValuesPath%\%ComputerName%.ini") == "0" Then "FileIsntThere" EndIf

[FileCheckClient]
ReplaceEnv V_UserValuesPath
If "%UserDomain%" <> "%ComputerName%" Then "CheckClientFile" EndIf

[CheckClientFile]
If DoesFileExist ("%V_UserValuesPath%\%WindowsUser%.ini") == "0" Then "FileIsntThere" EndIf

[FileIsntThere]
ErrorLogMsg Values$\MachineValues\%DomainName%\%ComputerName%.ini or Values$\UserValues\%UserDomain%\%WindowsUser%.ini not found!
Abort


[Product]
;#FileCheckMachine, MACHINE
;#FileCheckClient, CLIENT
;ReplaceEnv <Variable>

#Set:Product
#Set:Installation, DONTDELETE
#Set:Deinstallation, DELETE
#Reg:OnUninstallProduct, DELETE
#Reg:Product
#Ini:Product
#Security:Product

[Set:Product]

[SET:Installation]
AddMeter -1
"%Src%\IE8-Setup-Full.exe" 
WaitWhileProcessExists "IE8-Setup-Full.exe",	3600

If %ErrorLevel% <> "0" Then "SET:InstallationError" EndIf


[SET:Deinstallation]
If "%Src%\%windir%\ie8\spuninst\spuninst.exe" <> "" Then "SET:Deinstallation2" EndIf

[SET:Deinstallation2]
If %ErrorLevel% <> "0" Then "SET:DeInstallationError" EndIf
-"%windir%\ie8\spuninst\spuninst.exe" /quiet /norestart
-AddMeter -1

[Reg:OnUninstallProduct]

[Reg:Product]

[Ini:Product]

[Security:Product]

[Shell:Product]

[SET:InstallationError]
ErrorLogMsg %ErrorText% %ErrorLevel% %CallingText% IE8-Setup-Full.exe
Abort

[SET:DeInstallationError]
-Abort
-ErrorLogMsg %ErrorText% %ErrorLevel% %CallingText% %windir%\ie8\spuninst\spuninst.exe

Re: Ich werd zum Hirsch

Posted: 20. Apr 2011, 15:35
by thahn
Hallo,

bitte CALL -Aufruf wieder hinzufügen

den der Call Aufruf ist wichtig, weil wir eben auf die Rückmeldung der Exe/MSI warten.... wenn es in den Timeout läuft, liegt das daran, das der reine Aufruf der EXE nicht geht. Imho gehören an die EXE auch Paramter dran.

ich kann gerade nicht in meine Paketsammlung schauen,

haben Sie es schon mal mit dem IEAK8 versucht ? einen Konformen IE8 zu bauen.

die reine EXE will glaub ich aus dem INET was ziehen.....

cYa

Re: Ich werd zum Hirsch

Posted: 20. Apr 2011, 15:45
by Lammsalat
Hallo,

die Exe ist ein IEAK8 Paket aus dem INST Verzeichnis. Soweit ich weiß benötigt das keine Parameter. Mit dem Call Aufruf läuft aber auch die IEAK exe in den Timeout.

Re: Ich werd zum Hirsch

Posted: 20. Apr 2011, 16:13
by tgrosch
Hallo,

also bei mir klappt es so sehr gut (inkl. Prüfung, ob IE8 schon vorhanden ist, dann macht er nur ein Branding):

Code: Select all

[Set:Product]

[SET:Installation]
IF DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ie8,DisplayName") == "1" Then "SET:IEbrandingXP" Else "SET:IEinstallXP" EndIf

[SET:IEinstallXP]
AddMeter 50
Call "%Src%\XP\IE8-Setup-Full.exe" /Q
If %ErrorLevel% <> "0" Then "SET:CheckInstReboot" EndIf

[SET:IEbrandingXP]
AddMeter 50
Call "%Src%\XP\IE8-Setup-Branding.exe" /Q
If %ErrorLevel% <> "0" Then "SET:CheckInstReboot" EndIf

[SET:Deinstallation]
If %ErrorLevel% <> "0" Then "SET:CheckDeInstReboot" EndIf
-Call "%windir%\ie8\spuninst\spuninst.exe" /quiet /passive /norestart 
-AddMeter 50

[SET:CheckInstReboot]
If %ErrorLevel% == "3010" Then "RebootRequired" Else "SET:InstallationError" EndIf
 
[SET:CheckDeInstReboot]
If %ErrorLevel% == "3010" Then "RebootRequired" Else "SET:DeInstallationError" EndIf
 
[RebootRequired]
SetReboot 1
Im Zweifelsfall würde ich die Datei mit dem IEAK nochmal neu erstellen.

Re: Ich werd zum Hirsch

Posted: 20. Apr 2011, 17:38
by Lammsalat
Hallo tgrosch,

habs mal ausprobiert. Leider hab ich den gleichen Fehler: Installation beginnt ein zweites mal während der Laufzeit des Pakets :(
Im Debug-Mode funktioniert es einwandfrei. Nur Aktiviert oder gepusht will's nich.

Re: Ich werd zum Hirsch

Posted: 21. Apr 2011, 13:09
by Lammsalat
Hat noch wer ne Idee an was die doppelte Ausführung des Pakets liegen könnte?

Re: Ich werd zum Hirsch

Posted: 21. Apr 2011, 13:11
by Hendrik_Ambrosius
Der Timeout wird übrigens über diesen Parameter gesteuert:
CallTimeOut=3600

Also nach einer Stunde Abbruch. So lange sollte das Setup aber nicht dauern?!

Re: Ich werd zum Hirsch

Posted: 21. Apr 2011, 13:25
by Lammsalat
die Installation fängt nach ca. 1-2 Minuten ein zweites mal an. Im Debugmode funktionert das Paket. Das Problem tritt vereinzelt auch bei anderen Paketen auf. Ich konnte aber bisher keinen Grund dafür feststellen. Es muss ja eigentlich etwas mit der Verteilung/Aktivierung der Pakete nicht stimmen oder?


Bezieht sich der CallTimeOut auf jeden Call-Aufruf oder auf das gesamte Paket

Re: Ich werd zum Hirsch

Posted: 21. Apr 2011, 13:47
by Hendrik_Ambrosius
Das geht immer weider los wenn das Log kein "SUCCESS" gemeldet hat.
Was steht denn so im Log und im SetupErrorLog?
Ist der Errorlevel vielleicht nicht 0?

Timeout bezieht sich auf jeden CALL, nicht die Gesamtlaufzeit.

Re: Ich werd zum Hirsch

Posted: 21. Apr 2011, 14:34
by Lammsalat
SetupErrorLog ist leer
SWDepotlog steht auf Install / Success

Hab's grad nochmal laufen lassen. Nach exact 60 Sekunden fängt der Call Aufruf nochmals an, meldet dann 30 Sekunden später, dass schon eine Installation läuft. Nachdem der erste Call beendet ist bietet das Paket den Neustart an. Die Fehlermeldung vom 2.ten Call Aufruf steht noch da und will mit OK bestätigt werden. Das hat zur folge, das die Setup.Inf das Paket nicht beendet. Status im SW DepotLog ist Success :?:

Irgendwo is der Wurm drin

Re: Ich werd zum Hirsch

Posted: 21. Apr 2011, 14:44
by thahn
mmh das Paket 2mal im Depot ?

einmal mit /S2 einmal ohne Silent Parameter ?

Klingt schon sehr komisch

cYa

Re: Ich werd zum Hirsch

Posted: 21. Apr 2011, 14:56
by Lammsalat
gibt nur 2 Pakete im Depot ein IE7 Paket und das IE8 Paket jeweils nur mit /S2. Hab das IE8 Paket nochmal rausgeworfen und neu hinzugefügt. Problem bleibt. Da das Problem au schon bei anderen Paketen aufgetreten ist kanns eigentlich nicht dran liegen.

Ich vermute immer noch das es etwas mit dem Agent zu tun haben muss.

Re: Ich werd zum Hirsch

Posted: 21. Apr 2011, 15:33
by Hendrik_Ambrosius
Wahrscheinlich wird der Productkey nicht richtig geschrieben.
Erst mal manuell checken: Existiert er nach der Installation unter HKLM\Software\Microsoft\WIndows Internet Explorer\8.0 ?
Dann mal den Kiosk bzw. das SWDEPOT aufrufen auf dem Client: Erscheint das Paket als installiert?

Wenn ja bitte mal die DDC-Datei des Clients posten.

Re: Ich werd zum Hirsch

Posted: 21. Apr 2011, 15:58
by Lammsalat
Registry Eintrag ist vorhanden und Korrekt
SwDepot am PC zeigt Paket als Installiert mit richtiger Version
SwDepotLog steht auf Success

anbei die DDC

Code: Select all

[SoftwareDepot]
Version=11.0
Delay=0

[Distribution]
DOMAIN, BK-VM-040, *, Custom\TempVariable\1.0, , INSTALL UPDATE 
DOMAIN, BK-VM-040, *, Microsoft\Microsoft Office XP Standard\10.0, , INSTALL UPDATE 
DOMAIN, BK-VM-040, *, Custom\KorrekturXP\1.0, , INSTALL UPDATE 
DOMAIN, BK-VM-040, *, Microsoft\Windows Internet Explorer\8.0, , INSTALL UPDATE 
DOMAIN, BK-VM-040, *, Microsoft\Office Compatibility Pack\12.0.6514.5001, , INSTALL UPDATE 


Re: Ich werd zum Hirsch

Posted: 21. Apr 2011, 17:03
by Hendrik_Ambrosius
Das ist dann wirklich sehr merkwürdig.
Erstellen Sie dann bitte mal ein DebugView Log vom Agenten und zwar mit "global" aktiviert.
Anleitung siehe:
\MANUAL\HowTo\empirum_v14_debugview_howto_de.pdf