MSI Fehler Errorlevel 0

Antworten
Benutzeravatar
harald
Beiträge: 112
Registriert: 15. Okt 2008, 12:50
Kontaktdaten:

MSI Fehler Errorlevel 0

Beitrag von harald » 20. Aug 2009, 13:11

Hallo zusammen,

ich bastle gerade am Zarafa Client 6.30.0. Das Paket ist ein einfaches MSI Paket. Die Verteilung des alten Clients 6.20.5 klappt ohne Probleme, sowohl Installation, als auch Deinstallation. Keine Resteinträge in C:\Programme, als auch in der Registry.

Das neue Paket für den 6.30.0 Client habe ich genau so geschnürt und es läuft auch an. Das Programm wird installiert und die Registryeiträge auch genauso gesetzt wie bei einer händischen Installation. Was nicht gesetzt wird sind sämtliche Empirum Einträge. (C:\Programme\EmpPack_, HKLM\Software und der Uninstallstring in der Registry).

Softwaredepot bricht ab mit Fehler -1

Das SetupErrorLog sagt:

ErrorLogMsg: Die Installation/Deinstallation wurde mit einer Fehlermeldung abgebrochen! ErroLevel: 0

Wie gesagt das Paket 6.20.5 läuft mit identischen Einstellungen, ich habe lediglich die Produktkeys {0F76...} und die Versionsnummer ausgetauscht.

Code: Alles auswählen

[SetupInfo]
Author                  = H.Krischke
CreationDate            = 20.08.2009 12:04:27
InventoryID             =
Description             =
Method                  = MSI
Tested on               =
Dependencies            =
Command line options    = /S2
Last Change             = 
Build                   = 

[VarDefInfo]
; <Variable>, <Type>, <Allow>

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

[Requirements]

[Application]
ProductName=Outlook Client
ProductNameShort=ZOC
Version=6.30.0
VersionDirSuffix=100
Revision=0
ServiceRelease=0
DeveloperName=Zarafa
DeveloperNameShort=Zarafa
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,           14, , 007F00, 4, -14, BOTTOM ITALIC LEFT
BackgroundColor=FF0000,000000
BackgroundPicture=
BackgroundSound=
Logo=
WizardPicture=
CopyDialogRect=0%, 77%, 100%, 100%, HCENTER
PrecopyFiles=

;################ Hier editieren ##################

UserKeyName=EmpPack_%DeveloperName%\%ProductName%
MachineKeyName=EmpPack_%DeveloperName%\%ProductName%\%Version%
UninstallKeyName=EmpPack_%DeveloperName% %ProductName% %Version%
UninstallDisplayName=EmpPack_%DeveloperName% %ProductName% %Version%
ApplicationDir=%ProgramFilesDir%\%ProductName%


UninstallString=%ReinstallString% /U
ReinstallString="%CommonSetupDir%\Setup.exe" "%App%\%SetupInfDir%\Setup.inf"
ReinstallMode=1
HideUninstall=0
SrcDir=..

SetupInfDir=Install
DataDir=%Personal%
DefaultUser=
DefaultCompany=
Prompts=
RunIfInstalled=
Readme=
Execute=
Expand=0
CopyExistingFiles=0
AskUninstallOld=1
AskLicence=0
AskInfo=0
AskFromCD=0
AskShared=0
AskMode=0
AskDir=0
AskDataDir=0
AskUser=0
UseUser=0
UseCompany=1
UseProductID=0
ProductIDLength=0
UseProductIDPerOption=0
UseCheckmarks=2
AutoIniFileMapping=0
ShellLinks=1
CommonShellLinks=1
CreateUnresolvableShellLinks=1
ShowShellFolder=
LicenceText=
InfoText=
RequirementsText=
UseStringSection=Strings:09
UseSysStringSection=SysStrings:09
PrintServer=
PrintEnvironment=
DateWarning=1
SizeWarning=1
Reboot=0
PreventExternalReboot=1
StartServicesOnReboot=0
CallTimeOut=3600
AbortAfterCallTimeOut=1
ReplaceRunOnce=0
DisableCancelButton=1
ShowEndMessage=1
EndMessage=%EndMessageDesc%
SetupExtDll=
SetupHookFunc=
ShowFullPath=0

[Admin]
AdminSetup=0
ApplicationDir=
AskDir=1
AskOptions=0
ClientSrcDir=Client
UninstallString=%ReinstallString% /U
ReinstallString="%Src%\..\..\..\..\User\Setup.exe" "%Src%\%SetupInfDir%\Setup.inf"

[Client]
ClientDir=
AskDir=0
AskOptions=1
Reboot=0
UseUninstallStringFromApplication=1
InstallAtLast=0

[Workstation]
AskOptions=0
AdminUninstallLink=0
AdminUninstallLinkName=%ProductName% %Version%
UserSetupLink=0
UserSetupLinkName=%ProductName% %Version%

[Strings:07]
Disk1=Diskette 1: Installationsdiskette
EndMessageDesc=Die Installation wurde erfolgreich abgeschlossen!
InstallationFor=Installation für:
InstallerDesc=Dienstprogramm zum Installieren einzelner Komponenten.
InstallerName=Installationsprogramm
ProductDesc=Zarafa Outlook Client
SetupWizard=Installations-Assistent
Uninstallation=deinstallieren
ErrorLogMessage=Die Installation/Deinstallation wurde mit einer Fehlermeldung abgebrochen!

[Strings:09]
Disk1=Diskette 1: Installation disk
EndMessageDesc=Installation was completed successfully!
InstallationFor=Installation for:
InstallerDesc=Service program to install single components.
InstallerName=Setup program
ProductDesc=Zarafa Outlook Client
SetupWizard=Installation Wizard
Uninstallation=Uninstallation
ErrorLogMessage=The installation/uninstallation aborted with an error message!

[SysStrings:07]
Users=Benutzer

[SysStrings:09]
Users=Users

[Environment]
V_MSIInstallerID=25CA30E7711317B419689762290DCA56
ReInstSuccessMessage1031=Die Konfiguration wurde erfolgreich abgeschlossen.
ReInstSuccessMessage1033=Configuration completed successfully.
MSILogFile=%Temp%\MSI_%ProductName%.%Version%.%Revision%.log
CommonSetupDir=%CommonFilesDir%\Setup%SetupBits%
V_MachineValuesPath=%SoftwareDepotServerName%\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]!!!

[Prompts]

[Services]

[Processes]

[EventSources]

[Encryption]

[Disks]
1=%Disk1%

[UserKeyNames]

[Icons]
Product = %ProductNameShort%.ico, 0, 000000, ICON

[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 <Error>
Abort

[Product]
;#FileCheckMachine, MACHINE
;#FileCheckClient, CLIENT

;ReplaceEnv <Variable>

#Set:Product, DONTDELETE
#Reg:OnUninstallProduct, DELETE
#Reg:Product, DONTDELETE
#Ini:Product, DONTDELETE
#Security:Product
#Set:Uninstall, DELETE
#Set:ChangeMSISourcelist, DONTDELETE

[Set:Product]
Del "%MSILogFile%"
IF DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{0F7652AB-B272-4B58-89AC-119F273F3381},UnInstallString") == "1" Then 

"RepairMSI" Else "InstallMSI" EndIf

[RepairMSI]
AddMeter 50
Call MsiExec /Fvomus "%SRC%\zarafaclient-6.30.0.msi"   REBOOT=REALLYSUPPRESS ARPSYSTEMCOMPONENT=1 /QB-! /Li "%MSILogFile%"
IF DoesTextInFileExist ("%ReInstSuccessMessage1031%", "%MSILogFile%") == "0" & DoesTextInFileExist ("%ReInstSuccessMessage1033%", "%MSILogFile%") == "0" 

Then "AbortMSIInst" EndIf
Del "%MSILogFile%"

[InstallMSI]
AddMeter 50
Call MsiExec /I "%SRC%\zarafaclient-6.30.0.msi"   REBOOT=REALLYSUPPRESS ARPSYSTEMCOMPONENT=1 /QB-! /Li "%MSILogFile%"
If DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{0F7652AB-B272-4B58-89AC-119F273F3381},UnInstallString") == "0" Then 

"AbortMSIInst" EndIf
Del "%MSILogFile%"

[Set:Uninstall]
-Del "%MSILogFile%"
If DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{0F7652AB-B272-4B58-89AC-119F273F3381},UnInstallString") == "1" Then 

"AbortMSIUnInst" EndIf
-Call MsiExec /X {0F7652AB-B272-4B58-89AC-119F273F3381} REBOOT=REALLYSUPPRESS /QB-! /Li "%MSILogFile%"
-AddMeter 50

[AbortMSIInst]
ErrorLogMsg %ErrorLogMessage% ErrorLevel: %ErrorLevel%
Abort

[AbortMSIUnInst]
-Abort
-ErrorLogMsg %ErrorLogMessage% ErrorLevel: %ErrorLevel%

[SET:ChangeMSISourcelist]
ReplaceRegValue (HKCR,"Installer\Products\%V_MSIInstallerID%\Sourcelist","LastUsedSource","\\%EmpirumServer%","\\%%EmpirumServer%%", 1)
ReplaceRegValue (HKCR,"Installer\Products\%V_MSIInstallerID%\Sourcelist\Net","1","\\%EmpirumServer%","\\%%EmpirumServer%%", 1)

[Reg:OnUninstallProduct]

[Reg:Product]

[Ini:Product]

[Security:Product]

[Shell:Installer]
;%ProductName%\%ProductName% Setup, %ReinstallString%
;%ProductName%\%ProductName% %Uninstallation%, %UninstallString%, , , , , 1, ,

[Shell:Product]

Grüsse Harald

Windows 2008 R2, Empirum V15

AFiedler
Beiträge: 265
Registriert: 15. Nov 2005, 16:02
Wohnort: Köln
Kontaktdaten:

Beitrag von AFiedler » 20. Aug 2009, 14:03

Du fragst nach der Installation mit RegKeyExist die erfolgreiche Installation ab, eventuell liegt da der Fehler, ich würde dir empfehlen da auch anstatt mit RegKeyExist die ErrorLevel direkt abfragen, z.B. so:
If %ErrorLevel% <> "3010" & %ErrorLevel% <> "0" Then "AbortMSIInst" endif

Gruß

Benutzeravatar
harald
Beiträge: 112
Registriert: 15. Okt 2008, 12:50
Kontaktdaten:

Beitrag von harald » 21. Aug 2009, 12:51

@AFiedler

Ja so könnte man das Problem auch umgehen, aber eine Prüfung ob der Regkey nach der installtion existiert ist ja nicht verkehrt, schließlich soll das Programm ja auch mit diesem Deinstalliert werden.


Mit dem neuen Client 6.30.1 klappt es mit der RegKey Prüfung.


Ich vermute der 6.30.0 Client brauchte bei der Installation zu lange um den RegKey zu schreiben.
Grüsse Harald

Windows 2008 R2, Empirum V15

Benutzeravatar
harald
Beiträge: 112
Registriert: 15. Okt 2008, 12:50
Kontaktdaten:

Re: MSI Fehler Errorlevel 0

Beitrag von harald » 28. Apr 2011, 12:59

Wo liest der PackageEditor den UninstallKey aus?

Ich habe jetzt schon wieder ein Zarafapaket, dass mir einen falschen Uninstallkey liefert wenn ich es mit dem PackageEditor installiere.
Grüsse Harald

Windows 2008 R2, Empirum V15

Benutzeravatar
Hendrik_Ambrosius
Moderator
Moderator
Beiträge: 7641
Registriert: 13. Dez 2004, 23:10
Wohnort: Adendorf/Lüneburg

Re: MSI Fehler Errorlevel 0

Beitrag von Hendrik_Ambrosius » 30. Apr 2011, 14:43

Der Editor liest den gar nicht aus - Sie müssen den schon manuell bzw. via Copy&Paste aus RegEdit in den Paketeditor übernehmen.
Hendrik Ambrosius / Senior Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 AG | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 AG or of the support team.

Benutzeravatar
harald
Beiträge: 112
Registriert: 15. Okt 2008, 12:50
Kontaktdaten:

Re: MSI Fehler Errorlevel 0

Beitrag von harald » 03. Mai 2011, 12:23

Sorry, ich meinte natürlich den PackageWizard. Wenn ich damit das Paket erstelle bekomme ich folgenden

Uninstallkey:
{1D028A10-E9C6-4E86-AC19-BDCF5EF72DCF}

nach der Installation liegt das Programm unter diesem Uninstallkey
{F755E490-AB05-4415-A812-246D2DDC6C2F}


wird der Key evtl. verändert und wenn ja, wovon kann das abhängen.
Grüsse Harald

Windows 2008 R2, Empirum V15

Benutzeravatar
thahn
Beiträge: 487
Registriert: 03. Jan 2007, 09:03
Wohnort: KR - NRW
Kontaktdaten:

Re: MSI Fehler Errorlevel 0

Beitrag von thahn » 03. Mai 2011, 15:58

hi,

nun ja meiner Meinung liegt es am Hersteller der MSI.....

Mircosoft macht es ja vor.... de IE 8 hat auch eine GUID ... deinstalliert wird er aber über einen anderen Eintrag....
Das macht auch das Paketieren aus. Man muss immer überprüfen, was der Software-Hersteller gerne benutzen möchte bei der Installation / Deinstallation / Repair. Aber zu 80 % passt es bei einer MSI Routine meist.

Adobe ist auch einer dieser speziellen Hersteller, immer abhängig welches Product man von denen paketiert ,-)

cYa
Thomas Hahn
Technical Account Manager

Matrix42 AG

Email: thomas.hahn[at]matrix42.com
http://www.matrix42.de
Skype: thahn42
ICQ: IO25IGO8

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of matrix42 AG.

ColorInk
Beiträge: 46
Registriert: 10. Jan 2011, 15:27
Kontaktdaten:

Re: MSI Fehler Errorlevel 0

Beitrag von ColorInk » 01. Jul 2011, 13:09

Hi, ich beiße mir gerade an genau diesen Fehler die Zähne aus.
Die Installation läuft Fehlerfei (MSILogfile "Installation operation completed successfully.", dennoch erscheint
"ErrorLogMsg: Die Installation/Deinstallation wurde mit einer Fehlermeldung abgebrochen! ErroLevel: 0"

Code: Alles auswählen

Call MsiExec /I "%SRC%\Agent_x64.MSI" ALLUSERS="1"   REBOOT=REALLYSUPPRESS ARPSYSTEMCOMPONENT=1 /qb-! /Li "%MSILogFile%"
If %ErrorLevel% == "3010" Then "RebootRequired" EndIf
Es muss doch möglich sein, dem Empirum "beizubrigen", dass die Installation mit oder trotz Errorlevel: 0 erfolgreich gewesen ist.

Wer kann helfen, ich weiß irgentwie nicht nicht mehr weiter. :(

Benutzeravatar
Hendrik_Ambrosius
Moderator
Moderator
Beiträge: 7641
Registriert: 13. Dez 2004, 23:10
Wohnort: Adendorf/Lüneburg

Re: MSI Fehler Errorlevel 0

Beitrag von Hendrik_Ambrosius » 01. Jul 2011, 13:59

Klar, dafür einfach die Abprüfung auf den RegKey entfernen und die Abprüfung nach ErrorLevel nach der 3010-Abfrage einbauen:
If %ErrorLevel% <> "0" Then "AbortMSIInst" EndIf
Hendrik Ambrosius / Senior Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 AG | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 AG or of the support team.

ColorInk
Beiträge: 46
Registriert: 10. Jan 2011, 15:27
Kontaktdaten:

Re: MSI Fehler Errorlevel 0

Beitrag von ColorInk » 01. Jul 2011, 18:13

Hendrik_Ambrosius hat geschrieben:Klar, dafür einfach die Abprüfung auf den RegKey entfernen und die Abprüfung nach ErrorLevel nach der 3010-Abfrage einbauen:
If %ErrorLevel% <> "0" Then "AbortMSIInst" EndIf
Verdam... :oops:
Das hatte ich doch ausprobiert. Es hat aber nicht geklappt.
Kann nicht sein, oder?

Ich setzte
If %ErrorLevel% <> "0" Then "AbortMSIInst" EndIf
einfach hinter
If %ErrorLevel% == "3010" Then "RebootRequired" EndIf
in eine neue Zeile, richtig?

Dann habe ich da wohl noch irgentwo einen Dreher eingebaut, schließlich nahte das Wochenende.
Ich werde es am Montag nochmal versuchen ...

Danke und schönes Wochenende.

ColorInk
Beiträge: 46
Registriert: 10. Jan 2011, 15:27
Kontaktdaten:

Re: MSI Fehler Errorlevel 0

Beitrag von ColorInk » 04. Jul 2011, 07:50

Okay, das mit dem If %ErrorLevel% <> "0" Then "AbortMSIInst" EndIf war schon richtig, ich hatte aber die Zeile mit dem Regkey nicht gelöscht.

VielenDank nochmal.

Antworten

Zurück zu „Paketierung“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 16 Gäste