Seite 2 von 3

Re: Softwareverteilung auf Windows-Terminalserver

Verfasst: 23 Jan 2013, 09:06
von Stefan W
Also auf dem Client habe ich folgende Einstellungen in der opsiclientd.conf gesetzt.

Zum einen:
pre_action_processor_command = '%systemroot%\System32\change.exe user /install'
# Action processor command (string)
action_processor_command = %action_processor.command%
# The desktop on which the action processor command will be started on (current/default/winlogon)
action_processor_desktop = current
# Action processor timout in seconds (int)
action_processor_timeout = 10800
# Command which should be executed before after action processor has ended
post_action_processor_command = '%systemroot%\System32\change.exe user /execute'


Zum anderen:
pre_action_processor_command = 'C:\Windows\System32\change.exe user /install'
# Action processor command (string)
action_processor_command = %action_processor.command%
# The desktop on which the action processor command will be started on (current/default/winlogon)
action_processor_desktop = current
# Action processor timout in seconds (int)
action_processor_timeout = 10800
# Command which should be executed before after action processor has ended
post_action_processor_command = 'C:\Windows\System32\change.exe user /execute'

und der letzte Versuch:
pre_action_processor_command = "C:\Windows\System32\change.exe user /install"
# Action processor command (string)
action_processor_command = %action_processor.command%
# The desktop on which the action processor command will be started on (current/default/winlogon)
action_processor_desktop = current
# Action processor timout in seconds (int)
action_processor_timeout = 10800
# Command which should be executed before after action processor has ended
post_action_processor_command = "C:\Windows\System32\change.exe user /execute"

Und anschließend kommt es immer zu der Meldung: "Fehler beim Ausführen der Produkt-Aktionen: (2, 'CreateProcessAsUser', 'Das System kann die angegebene Datei nicht finden.').
Nachdem man eine Sicherung von von der opsiclientd.conf auf den Client zurück kopiert funktioniert der Client-Agent wieder.
Ich befinde mich auf einem Windows 7 Testsystem. Dort gibt es die "change.exe".

Ich hoffe, dass diese Informationen genügen.

Re: Softwareverteilung auf Windows-Terminalserver

Verfasst: 23 Jan 2013, 10:12
von ueluekmen
Hi,

mal ein Schuss ins blaue, es handelt sich hierbei nicht rein zufällig um ein Win7 64Bit???

Re: Softwareverteilung auf Windows-Terminalserver

Verfasst: 23 Jan 2013, 10:53
von Stefan W
Ja es handelt sich um ein Windows 7 64 Bit. Weil dieses als Testsystem fast identisch zu einem Server 2008 R2 ist

Re: Softwareverteilung auf Windows-Terminalserver

Verfasst: 23 Jan 2013, 11:18
von ueluekmen
Hi,

und genau da liegt das Problem.

Auf einem Windows 64Bit gibt es eine Regsitry-Reflection. Das heißt 32Bit Applikationen werden beim normalen Zugriff auf ein bestimmten Zweig umgeleitet, der für die Unterstützung von 32Bit Applikationen angelegt wurde. Deshalb ist es wichtig, richtig mit den 64Bit Schaltern in Winst-Skripten umzugehen.

Auf Ordnerebene gibt es das auch. Und jetzt wird es bisschen Krank.

Code: Alles auswählen

C:\windows\system32 (beinhaltet die !!!64Bit!!! Programme)
Wenn eine 32Bit-Applikation nun versucht ein Programm auf zu rufen mit:

Code: Alles auswählen

C:\windows\system32\change.exe
Dann führt das System, ohne das die Applikation es merkt einen in:

Code: Alles auswählen

C:\windows\SysWOW64\change.exe
Und da gibt es das Programm wahrscheinlich nicht. Ein workarround wäre auf diesem System die change.exe als change64.exe in C:\windows\ zu kopieren und die Config entsprechend an zu passen. Das müsste helfen.

Grüße

Re: Softwareverteilung auf Windows-Terminalserver

Verfasst: 23 Jan 2013, 11:28
von Stefan W
Ich habe jetzt drei mögliche Varianten der .conf Datei aufgeführt welche davon sieht denn richtig aus?

Re: Softwareverteilung auf Windows-Terminalserver

Verfasst: 23 Jan 2013, 12:46
von ueluekmen
Garkeine ;)

Ich würde als erstes manuell die Datei:

Code: Alles auswählen

C:\Windows\System32\change.exe
nach:

Code: Alles auswählen

C:\Windows\change64.exe
kopieren. Und dann versuchen in der Conf folgendes ein zu tragen:

Code: Alles auswählen

pre_action_processor_command = 'C:\\Windows\\change64.exe user /install' 
post_action_processor_command = 'C:\\Windows\\change64.exe user /execute'
Die Doppelten Backslashes sind kein Tippfehler... 8-)

Re: Softwareverteilung auf Windows-Terminalserver

Verfasst: 23 Jan 2013, 13:01
von Stefan W
Dann aber so oder nicht?

Code: Alles auswählen

pre_action_processor_command = 'C:\\Windows\\SysWOW6432\\change64.exe user /install'
post_action_processor_command = 'C:\\Windows\\SysWOW6432\\change64.exe user /execute'

Code: Alles auswählen

C:\Windows\SysWOW6432\change64.exe

Re: Softwareverteilung auf Windows-Terminalserver

Verfasst: 23 Jan 2013, 13:09
von ueluekmen
Hi,

ich würde die Empfehlen etwas bei Microsoft über Registry- und File-Redirection zu lesen.

In dem Verzeichnis SysWOW6432 liegen nur 32Bit-Applikationen. Ich weiß nicht was passiert, wenn man da 64Bit Applikationen reinkippt, wie gesagt, ich würde es so machen, wie ich es vorgeschlagen habe, aber die Entscheidung liegt bei dir.

Re: Softwareverteilung auf Windows-Terminalserver

Verfasst: 23 Jan 2013, 13:34
von Stefan W
Ich habe das jetzt nach Ihrer Vorlage umgesetzt. Jedoch kommt es zu der gleichen meldung.

Re: Softwareverteilung auf Windows-Terminalserver

Verfasst: 23 Jan 2013, 13:59
von ueluekmen
Hi,

ok... wie siehts mit:

Code: Alles auswählen

pre_action_processor_command = "C:\\Windows\\SysWOW6432\\change64.exe" user /install
post_action_processor_command = "C:\\Windows\\SysWOW6432\\change64.exe" user /execute
Sorry, ich muss das auch immer durchprobieren, kann mir das nie genau merken, Asche auf mein Haupt. Wir haben WTS Unterstützungsverbesserung auf der Todo-Liste stehen, aber das dauert noch ein bisschen, bis wir selbst damit anfangen, deshalb begrüßen wir es natürlich, wenn jemand schon damit rumgespielt hat.