Seite 1 von 1

[GELÖST] MSI-Setup mit 1603

Verfasst: 03 Aug 2012, 17:06
von pheanex
Hallo,

es ist mal wieder Zeit für Error/Return-code 1603 für MSI Pakete.
Wie ich nach einer Weile Suchen im Forum hier feststellen konnte ist dieser ja bereits öfter aufgetreten/behandelt worden, jedoch half mir nichts davon weiter.
Es handelt sich dabei um den Adobe Reader 10.1.3 mit Installationsskripten nach wiki/userspace:adobe_reader_x angepasst.
Laut Microsoft (http://support.microsoft.com/kb/834484/de) wird es wohl am SYSTEM-Account liegen, dem anscheinend die Rechte für die Zielordner fehlen.
Ich nehme an/meine mich zu erinnern, der Opsi-Client benutzt den SYSTEM account zur installation.

Ein Auszug aus der Log-file

Code: Alles auswählen

[5] [03/08/2012 16:48:20]   Execution of Winbatch_Install_Reader
[6] [03/08/2012 16:48:20]     Call "msiexec.exe /i "P:\adobe-reader\AcroRead.msi" /qb-! /norestart ALLUSERS=2 EULA_ACCEPT=YES SUPPRESS_APP_LAUNCH=YES"
[6] [03/08/2012 16:48:20]        Waiting until the called process is finished
[6] [03/08/2012 16:48:44]     ExitCode 1603    Executed process "msiexec.exe /i "P:\adobe-reader\AcroRead.msi" /qb-! /norestart ALLUSERS=2 EULA_ACCEPT=YES SUPPRESS_APP_LAUNCH=YES"
[6] [03/08/2012 16:48:44]   
[6] [03/08/2012 16:48:44]   ~~~~~~~ Start Sub ~~~~~~~  sub "P:\install\check_exitcode\check_msi-exitcode.ins"
[5] [03/08/2012 16:48:44]   
[5] [03/08/2012 16:48:44]   Set  $ExitCode$ = getLastExitCode
[6] [03/08/2012 16:48:44]     The value of the variable "$ExitCode$" is now: "1603"
[1] [03/08/2012 16:48:44]   LogLevel was 6
[1] [03/08/2012 16:48:44]   LogLevel set to 4
[1] [03/08/2012 16:48:44]       LogLevel was 4
[1] [03/08/2012 16:48:44]       LogLevel set to 5
[3] [03/08/2012 16:48:44]       Error: ExitCode = 1603 ERROR_INSTALL_FAILURE Fatal error during installation.
[5] [03/08/2012 16:48:44]       Error level set to fatal
[5] [03/08/2012 16:48:44]       Process aborted
[5] [03/08/2012 16:48:44]   Process aborted
Ansonsten funktioniert der Aufruf manuell ausgeführt problemlos, lediglich per OPSI remote funktioniert es nicht.
Meine Frage ist nun, ob jemandem dazu ein Workaround einfällt, bzw. wie ihr das mit dem Adobe Reader gelöst habt.
Btw. die MSI-file ist aus ftp://ftp.adobe.com/pub/adobe/reader/wi ... _de_DE.exe herausextrahiert.

Re: MSI-Setup mit 1603

Verfasst: 06 Aug 2012, 09:04
von Nils
Hallo pheanex,

ich installiere den Reader mit

Code: Alles auswählen

msiexec /i "%ScriptPath%\AcroRead.msi" TRANSFORMS="%ScriptPath%\AcroRead.mst" /qb!
. Dies klappt bei mir sowohl unter XP (32 Bit) als auch Windows 7 (32 und 64 Bit) ohne Schwierigkeiten.
Das .mst-File habe ich per "Adobe Customization Wizard X" für unser Unternehmen angepasst.

Ich hoffe, es hilft Dir weiter.

Viele Grüße und einen schönen Tag.
Nils

Re: MSI-Setup mit 1603

Verfasst: 08 Aug 2012, 07:59
von tobias
Man kann auch direkt von Adobe MSI files beziehen.
https://www.adobe.com/cfusion/mmform/in ... form&pv=fp

Muss man sich nur für eintragen, was man beim Deployment ohnehin machen muss ;)

Ich weis nicht ob die MSI unterschiedlich sind.

übrigens rufe ich nur mit:

Code: Alles auswählen

"%SCRIPTPATH%\AcroRead.msi" /passive
auf und das funktioniert ;)

Re: MSI-Setup mit 1603

Verfasst: 16 Aug 2012, 15:10
von pheanex
Danke Nils und Tobias für eure Antworten.
Habe das Problem gelöst.
Es scheint tatsächlich ein Problem mit der zwar auch offiziell von Adobe stammenden extrahierten BasisAdobe10.1.0.msi aus ftp://ftp.adobe.com/pub/adobe/reader/wi ... _de_DE.exe gegeben zu haben.
Wenn ich nun ftp://ftp.adobe.com/pub/adobe/reader/wi ... _de_DE.msi nehme und mir lediglich das Update10.1.4.msp aus ftp://ftp.adobe.com/pub/adobe/reader/wi ... _de_DE.exe herausextrahiere klappt die installation, wenn ich beide nacheinander ausführe.
... Schon merkwürdig.
=> Die MSIs müsen wohl irgendwie unterschiedlich gewesen sein.
Der Aufruf ist aber soweit auch in ordnung.

Noch eine Frage am Rande:
Laut wiki/userspace:adobe_reader_x
in der SubUninstall.ins wird in der Registry nach diesen Kryptischen Zeichenketten {A10XYZ...} gesucht und falls vorhanden per msiexec deinstalliert.
Jedoch tauchen bei mir diese nicht auf, weiss jemand warum / bzw. wie geht ihr dabei vor?
Als Workaround suche ich nun im Programmverzeichnis unter C:\Programme\Adobe\Reader 10.0\Setup\Files\{A10XYZ...}\AdbeRdr1010_de_DE.msi und benutze diese falls vorhanden.

Re: [GELÖST] MSI-Setup mit 1603

Verfasst: 17 Aug 2012, 07:39
von Nils
Hallo pheanex,

freut mich, dass es nun bei Dir funktioniert.
Zu Deiner Frage bzgl. der "kryptischen Zeichenketten": Diese sind m. E. "Produktkennungen" (aus den MSI-Paketen), die unter "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" oder "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" eingetragen werden. Alle dortigen Einträge erscheinen in der Systemsteuerung unter "Software" bzw. "Programme und Funktionen". Sie können mit

Code: Alles auswählen

msiexec /x "{kryptische Zeichenkette}"
aufgerufen werden, um die entsprechende Anwendung zu deinstallieren.

Ich hoffe, diese Info hilft Dir weiter.

Viele Grüße und einen möglichst entspannten Freitag.
Nils

Re: [GELÖST] MSI-Setup mit 1603

Verfasst: 21 Aug 2012, 12:09
von pheanex
Hallo nils,
die funktion der kryptischen Zeichenkette war mir schon bekannt, kannte nur den Bezeichner "Produktkennung" nicht.
mit "msiexec /x xyz" deinstalliere ich bisher auch schon. Ich kannte nur den alternative Reg-Pfad "Wow6432Node" auch noch nicht.
Vorallem da in SubUninstall.ins wiki/userspace:adobe_reader_x auch nur in einem der beiden Pfade gesucht wird.
Meine geupdatete Version:

Code: Alles auswählen

;Variable for msiexec-call of deinstallation
DefVar $UninstallCommand$
DefVar $InterestingFile$

;Variable for the diffrent versions gotten from the registry
DefVar $DisplayName$
DefVar $DisplayName1$
DefVar $DisplayName2$

;Deinstalling Adobe Reader 9.3.1 - 9.3.4, if found in the Registry
Set $DisplayName1$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-7AD7-1031-7B44-A93000000001}] DisplayName")
Set $DisplayName2$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-7AD7-1031-7B44-A93000000001}] DisplayName")
if not ($DisplayName1$ = "" AND $DisplayName2$ = "")
        Message "Deinstalliere "+$DisplayName$
        set $UninstallCommand$ = "MsiExec.exe /x {AC76BA86-7AD7-1031-7B44-A93000000001} /qb-! REBOOT=ReallySuppress"
        Winbatch_Uninstall
        sub "%ScriptDrive%\install\check_exitcode\check_msi-exitcode.ins"
endif

;Deinstalling Adobe Reader 9.4.0, if found in the Registry
Set $DisplayName1$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-7AD7-1031-7B44-A94000000001}] DisplayName")
Set $DisplayName2$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-7AD7-1031-7B44-A94000000001}] DisplayName")
if not ($DisplayName1$ = "" AND $DisplayName2$ = "")
        Message "Deinstalliere "+$DisplayName$
        set $UninstallCommand$ = "MsiExec.exe /x {AC76BA86-7AD7-1031-7B44-A94000000001} /qb-! REBOOT=ReallySuppress"
        Winbatch_Uninstall
        sub "%ScriptDrive%\install\check_exitcode\check_msi-exitcode.ins"
endif

;Deinstalling Adobe Reader 10.0.x, if found in the Registry
Set $DisplayName1$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-7AD7-1031-7B44-AA0000000001}] DisplayName")
Set $DisplayName2$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-7AD7-1031-7B44-AA0000000001}] DisplayName")
if not ($DisplayName1$ = "" AND $DisplayName2$ = "")
        Message "Deinstalliere "+$DisplayName$
        set $UninstallCommand$ = "MsiExec.exe /x {AC76BA86-7AD7-1031-7B44-AA0000000001} /qb-! REBOOT=ReallySuppress"
        Winbatch_Uninstall
        sub "%ScriptDrive%\install\check_exitcode\check_msi-exitcode.ins"
endif

;Deinstalling Adobe Reader 10.1.x, if found in the Registry
Set $DisplayName1$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-7AD7-1031-7B44-AA1000000001}] DisplayName")
Set $DisplayName2$ = GetRegistrystringvalue32("[HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-7AD7-1031-7B44-AA1000000001}] DisplayName")
if not ($DisplayName1$ = "" AND $DisplayName2$ = "")
        Message "Deinstalliere "+$DisplayName$
        set $UninstallCommand$ = "MsiExec.exe /x {AC76BA86-7AD7-1031-7B44-AA1000000001} /qb-! REBOOT=ReallySuppress"
        Winbatch_Uninstall
        sub "%ScriptDrive%\install\check_exitcode\check_msi-exitcode.ins"
endif

Linkfolder_Custom

[Winbatch_Uninstall]
$UninstallCommand$

[Linkfolder_Custom]
;Delete Startmenu-Link
Set_basefolder common_programs
Set_subfolder ""
delete_element "$ProductName$"
Eine letzte Frage zum Schluss noch, bevor das Problem endgültig im Archiv verschwindet:
Sind die beiden Schlüssel "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" und "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall"
tatsächlich die einzigen Möglichkeiten an denen sich die Produktkennungen für sämtliche installierte Software sowohl auf XP als auch Vista und 7-Rechnern befinden können.
Dann müsste ich im Script nur diese Pfade absuchen, ohne dass mir ein Uninstaller durch die Finger gleitet.
Oder gibt es auch noch andere Orte in der Registry?

Bonusfrage: Hat jemand eine Adresse zu allen Adobe-Reader Produktkennungen? Ich habe naemlich gerade beim durchgehen unserer Softwareaudits festgestellt, dass manche Adobe Versionen (Ich vermute Englische (andere Sprachen als Deutsch)) wiederrum andere Produktkennungen haben, welche mir ja dann beim obigen Skript nicht erkannt werden würden. (Zb: AC76BA86-7AD7-1033-7B44-AA1000000001 ist Auch Adobe Reader 10.1.3)



OK: Konnte mir meine Fragen selbst beantworten.
http://kb2.adobe.com/cps/837/cpsid_8370 ... ration.pdf Abschnitt 1.7.1
Viele Grüße und Dank zum arbeitsreichen Dienstag,
PHeanEX