I am confused
Wir haben hier folgendes Szenario: ein von uns betreutes Programm wird aus einer Server-Freigabe heraus gestartet. Für bestimmte Funktionen startet es dann von sich aus weitere Programme (mit CreateProcess, dessen bin ich mir sicher), die sich ebenfalls in der Freigabe befinden. Die Pfade der Programme werden aus der lokalen Registry ausgelesen. Kurzes Beispiel:
\\Server\Freigabe\Verz1\Programm1.exe ruft \\Server\Freigabe\Verz2\Programm2.exe auf
Bei einem Kunden hatten wir dann folgende Situation:
- XP-Clients melden "Zugriff verweigert", manueller Programmstart über den Windows-Explorer funktioniert hingegen
- Win7-Client startet ohne Probleme
ShellExecute und CreateProcess verhalten sich wohl unterschiedlich im Bezug auf (vererbte) Rechte, also scheint die
UAC da bei Bedarf nachzuhelfen (habe das aber nur kurz in einem
MSDN-Artikel überflogen). OK, das ist einigermaßen verständlich und konnte durch ein kleines Testprogramm bestätigt werden.
Nun wird es aber richtig verrückt: mappt man die Freigaben auf Laufwerksbuchstaben und passt die Pfade in der Registry entsprechend an (also z.B. Z: statt \\Server\Freigabe), dann zicken auch die XP-Clients nicht mehr. Es gibt bestimmt eine logische Erklärung dafür, leider fällt mir persönlich keine ein.
Kann mich mal jemand erhellen?