Seite 1 von 1

[Gelöst] msiexec system32/sysWow64

Verfasst: 12 Aug 2016, 08:29
von hadro
Hallo zusammen,

bei der Verteilung einer Software habe ich ein Problem. Ich weiss nicht, ob das zusammen hängt - aber hier eine Theorie:
In der MSI Log steht, wenn ich es übern Opsi installiere folgendes in der ersten Zeile:
=== Verbose logging started: 12.08.2016 07:46:45 Build type: SHIP UNICODE 5.00.7601.00 Calling process: C:\Windows\SysWOW64\msiexec.exe ===

Wenn ich die MSI jedoch Manuell ausführe, schreibt er "C:\Windows\system32\msiexec.exe". Dann funktioniert die Software auch, wie sie soll.
=== Verbose logging started: 12.08.2016 09:01:35 Build type: SHIP UNICODE 5.00.7601.00 Calling process: C:\Windows\system32\msiexec.exe ===

Jetzt wollte ich OPSI zwingen auch die msiexec aus system32 zu nutzen - um zu überprüfen, ob es nur daran liegt:

Code: Alles auswählen

[Winbatch_Install]
%Systemroot%\system32\msiexec.exe /i %ScriptPath%\blablabla.msi

Code: Alles auswählen

[DosInAnIcon_Install]
%Systemroot%\system32\msiexec.exe /i %ScriptPath%\blablabla.msi

Code: Alles auswählen

ExecWith_cmd "%SystemRoot%\System32\cmd.exe" /C

[ExecWith_cmd]
%Systemroot%\system32\msiexec.exe /i %ScriptPath%\blablabla.msi

Code: Alles auswählen

ExecWith_msi "%SystemRoot%\System32\msiexec.exe"

[ExecWith_msi]
%ScriptPath%\blablabla.msi /i [...]
Leider alles ohne erfolg. Wo habe ich meinen Denkfehler?

Wie zwinge ich OPSI die System32\msiexec.exe zu nutzen um das Paket zu installieren?
Zumindestens gehe ich davon aus, dass der die MSIEXEC.exe aus SysWOW64 startet und damit die MSI ausführt. Sollte ich die LOG falsch verstehen, bitte ich um Aufklärung :)

Danke

gruß
hadro

ps.: es handelt sich um SwyxIt! 10.30.2155.0_2015_R3-2 - falls das irgendeinen Unterschied machen sollte.

Re: msiexec system32/sysWow64

Verfasst: 12 Aug 2016, 10:41
von andré
Probiere mal statt %Systemroot%\system32 nur %System%, das ist die Konstante für c:\windows\system32.

Re: msiexec system32/sysWow64

Verfasst: 12 Aug 2016, 10:55
von andré
Gna, ich hatte vergessen, dass unter 64bit-Windowsen der Pfad automatisch auf Syswow64 umgebogen wird. Siehe Winst Handbuch. Du wirst den /64bit Schalter hinter der Ausführung von execwith benötigen.

also nach dem Schema

Code: Alles auswählen

ExecWith_msi "%SystemRoot%\System32\msiexec.exe" winst /64bit
bei winbatch reicht es, wenn du nur das /64bit hinten dran hängst.

http://download.uib.de/opsi4.0/doc/html ... inst-64bit

Re: msiexec system32/sysWow64

Verfasst: 12 Aug 2016, 12:13
von hadro
Danke. Mit:

Code: Alles auswählen

DosInAnIcon_Install_swyx_de_64 winst /64bit

[DosInAnIcon_Install_swyx_de_64]
msiexec.exe /i %ScriptPath%\SwyxIt!German64.msi /qb ADDLOCAL="PhoneClient,ScriptEditor,Video,ClientMeeting,NotesAccess,CLMgrTSP,DesktopShortcut,FaxClient,Quickstart" /L*v "C:\swyxit64_de_install.log"
Schreibt er in die Log, dass er die msiexec aus system32 aufruft.
Leider funktioniert die Installation trotzdem nicht.

Aus irgendeinem Grund löscht er trotzdem beim Starten von SwyxIt! folgende Dateien:

Code: Alles auswählen

C:\Windows\SysWOW64\aspnet_counters.dll
C:\Windows\SysWOW64\bidiserv.dll
C:\Windows\SysWOW64\ca400cpl.cpl
C:\Windows\SysWOW64\cwbad.dll
C:\Windows\SysWOW64\cwbad1.dll
C:\Windows\SysWOW64\cwbar.dll
C:\Windows\SysWOW64\cwbbspc.dll
C:\Windows\SysWOW64\cwbbsspi.dll
C:\Windows\SysWOW64\cwbco.dll
C:\Windows\SysWOW64\cwbcore.dll
C:\Windows\SysWOW64\cwbdb.dll
C:\Windows\SysWOW64\cwbdbfmt.dll
C:\Windows\SysWOW64\cwbdc.dll
C:\Windows\SysWOW64\cwbdq.dll
C:\Windows\SysWOW64\cwbdt.dll
C:\Windows\SysWOW64\cwbjbl.dll
C:\Windows\SysWOW64\cwbjob.dll
C:\Windows\SysWOW64\cwblm.dll
C:\Windows\SysWOW64\cwbmsgl.dll
C:\Windows\SysWOW64\cwbnl.dll
C:\Windows\SysWOW64\cwbnldlg.dll
C:\Windows\SysWOW64\cwbobj.dll
C:\Windows\SysWOW64\cwbodbc.dll
C:\Windows\SysWOW64\cwbprt.dll
C:\Windows\SysWOW64\cwbrc.dll
C:\Windows\SysWOW64\cwbrw.dll
C:\Windows\SysWOW64\cwbsfl.dll
C:\Windows\SysWOW64\cwbsoapi.dll
C:\Windows\SysWOW64\cwbsocmn.dll
C:\Windows\SysWOW64\cwbsof.dll
C:\Windows\SysWOW64\cwbsofui.dll
C:\Windows\SysWOW64\cwbsogld.dll
C:\Windows\SysWOW64\cwbsohwr.dll
C:\Windows\SysWOW64\cwbsolet.dll
C:\Windows\SysWOW64\cwbsoltr.dll
C:\Windows\SysWOW64\cwbsoprf.dll
C:\Windows\SysWOW64\cwbsorte.dll
C:\Windows\SysWOW64\cwbsosmp.dll
C:\Windows\SysWOW64\cwbsoswp.dll
C:\Windows\SysWOW64\cwbsotca.dll
C:\Windows\SysWOW64\cwbsotdc.dll
C:\Windows\SysWOW64\cwbsotif.dll
C:\Windows\SysWOW64\cwbsv.dll
C:\Windows\SysWOW64\cwbsy.dll
C:\Windows\SysWOW64\cwbtfcrt.dll
C:\Windows\SysWOW64\cwbtfdlg.dll
C:\Windows\SysWOW64\cwbtfutl.dll
C:\Windows\SysWOW64\cwbuierr.dll
C:\Windows\SysWOW64\cwbuiutl.dll
C:\Windows\SysWOW64\cwbuna4d.dll
C:\Windows\SysWOW64\cwbunapi.dll
C:\Windows\SysWOW64\cwbuncmn.dll
C:\Windows\SysWOW64\cwbuncob.dll
C:\Windows\SysWOW64\cwbuncon.dll
C:\Windows\SysWOW64\cwbunpla.dll
C:\Windows\SysWOW64\cwbunplp.exe
C:\Windows\SysWOW64\cwbunpls.dll
C:\Windows\SysWOW64\cwbunssl.dll
C:\Windows\SysWOW64\cwbunvba.dll
C:\Windows\SysWOW64\cwbup.dll
C:\Windows\SysWOW64\cwbzzodb.dll
C:\Windows\SysWOW64\dssec.dat
C:\Windows\SysWOW64\grid32.ocx
C:\Windows\SysWOW64\HLP95EN.DLL
C:\Windows\SysWOW64\icrav03.rat
C:\Windows\SysWOW64\korwbrkr.lex
C:\Windows\SysWOW64\license.rtf
C:\Windows\SysWOW64\mapisvc.inf
C:\Windows\SysWOW64\mfc100.dll
C:\Windows\SysWOW64\mfc100chs.dll
C:\Windows\SysWOW64\mfc100cht.dll
C:\Windows\SysWOW64\mfc100deu.dll
C:\Windows\SysWOW64\mfc100enu.dll
C:\Windows\SysWOW64\mfc100esn.dll
C:\Windows\SysWOW64\mfc100fra.dll
C:\Windows\SysWOW64\mfc100ita.dll
C:\Windows\SysWOW64\mfc100jpn.dll
C:\Windows\SysWOW64\mfc100kor.dll
C:\Windows\SysWOW64\mfc100rus.dll
C:\Windows\SysWOW64\mfc100u.dll
C:\Windows\SysWOW64\mfc120.dll
C:\Windows\SysWOW64\mfc120chs.dll
C:\Windows\SysWOW64\mfc120cht.dll
C:\Windows\SysWOW64\mfc120deu.dll
C:\Windows\SysWOW64\mfc120enu.dll
C:\Windows\SysWOW64\mfc120esn.dll
C:\Windows\SysWOW64\mfc120fra.dll
C:\Windows\SysWOW64\mfc120ita.dll
C:\Windows\SysWOW64\mfc120jpn.dll
C:\Windows\SysWOW64\mfc120kor.dll
C:\Windows\SysWOW64\mfc120rus.dll
C:\Windows\SysWOW64\mfc120u.dll
C:\Windows\SysWOW64\mfcm100.dll
C:\Windows\SysWOW64\mfcm100u.dll
C:\Windows\SysWOW64\mfcm120.dll
C:\Windows\SysWOW64\mfcm120u.dll
C:\Windows\SysWOW64\msclmd.dll
C:\Windows\SysWOW64\msvcp100.dll
C:\Windows\SysWOW64\msvcp110.dll
C:\Windows\SysWOW64\msvcp110_clr0400.dll
C:\Windows\SysWOW64\msvcp120_clr0400.dll
C:\Windows\SysWOW64\msvcr100.dll
C:\Windows\SysWOW64\msvcr100_clr0400.dll
C:\Windows\SysWOW64\msvcr110.dll
C:\Windows\SysWOW64\msvcr110_clr0400.dll
C:\Windows\SysWOW64\NOISE.CHS
C:\Windows\SysWOW64\NOISE.CHT
C:\Windows\SysWOW64\NOISE.DAT
C:\Windows\SysWOW64\noise.kor
C:\Windows\SysWOW64\NOISE.THA
C:\Windows\SysWOW64\pcmfcenu.dll
C:\Windows\SysWOW64\qxdaedrs.dll
C:\Windows\SysWOW64\ticrf.rat
C:\Windows\SysWOW64\vccorlib110.dll
C:\Windows\SysWOW64\vccorlib120.dll
C:\Windows\SysWOW64\vfpodbc.dll
und killt damit mehrere Programme gleichzeitig.
Bleibt wohl leider nur die Installation von Hand....

Trotzdem Danke! Eigentlich Frage ist gelöst.

Re: [Gelöst] msiexec system32/sysWow64

Verfasst: 12 Aug 2016, 15:38
von ueluekmen
Gibt es einen Grund warum du nicht einfach eine Winbatch mit /64bit verwendest an der Stelle?

Re: [Gelöst] msiexec system32/sysWow64

Verfasst: 12 Aug 2016, 16:01
von hadro
Ne, einen Grund nicht wirklich. Aber das habe ich mittlerweile auch probiert. Nur leider keine Besserung.

Ich versuche gerade das so umzuschreiben, dass er die Installation nach einer Windows Anmeldung durchführt.
Das scheint jetzt noch der einzige Unterschied zu sein.

Für mich ist das Verhalten bisher komplett unerklärlich.
Installiere ich SwyxIt! über OPSI, löscht er mir nach dem ersten start (Wenn ein Server eingetragen ist) immer die gleichen DLL (siehe oben) dateien.
Installiere ich SwyxIt! über die MSI wärend der lokale Admin angemeldet ist, starte die Software mit eingetragendem Server dann, ist alles okay.


Falls hier jemand Erfahrung mit der SwyxIt! Verteilung über OPSI hat, bitte melden....

Re: [Gelöst] msiexec system32/sysWow64

Verfasst: 12 Aug 2016, 16:16
von ueluekmen
Wir haben da bisschen Erfahrung. Nicht mit der Software mit dem komischen Namen aber von opsi ;)

Es klingt ganz danach, als ob die Installation nicht wirklich für eine automatische Installation vorgesehen ist. Du kannst entweder versuchen die msi selber zu reparieren (ist verdammt blöde und aufwendige Arbeit) oder du versuchst einfach das local-admin-template von uns zu verwenden. Da wird dein Paket in ein anderes Paket gepackt, was zuerst einen lokalen Admin mit random passwort und autologin ausführt. Beim Autologin wird dann die Software lokal installiert (während der admin eingeloggt ist) und danach wird wieder aufgeräumt. Ist zwar eine Hässliche sache, aber für solche Fälle hilft das eigentlich immer.

Die Ursache daran liegt meistens, dass die Hersteller beim Paketieren nicht daran denken, dass eventuell noch kein User angemeldet ist während der Installation und meistens gehen die weiterhin noch davon aus, dass der eingeloggte User auch Admin ist, was auch nicht immer der Fall ist. Wir installieren im Systemcontext, der auch genau dafür vorgesehen ist. Das ist aber kein echter User.