Witam.

Z poziomu serwisu (utworzonego w C#), działającego z kontekstu systemowego mapuje udział sieciowy, na którym znajduje się plik wykonywalny (dpinst64.exe - sofcik do instalowania sterowników systemowych).

Problem polega na tym, iż nie jestem w stanie uruchomić procesu (dpinst64.exe) z dysku sieciowego.

Poniżej kod odpowiedzialny za tworzenie procesu

 

                ProcessStartInfo startInfo = new ProcessStartInfo();

                startInfo.FileName = drvLetter + ":\\dpinst64.exe";
                startInfo.WindowStyle = ProcessWindowStyle.Hidden;
                startInfo.WorkingDirectory = drvLetter + ":\\";                

                Process exeProcess = Process.Start(startInfo);
                exeProcess.WaitForExit();

Niestety nie udaje się uruchomić tego procesu - z racji tego, że metoda WaitForExit nie ma zdefiniowanego timeout-u aplikacja po prostu "wisi", ale w drzewku procesów Proces Explorer-a nie widzę, aby dpinst64.exe został faktycznie uruchomiony.

Dodatkowo, gdy ten sam kod uruchamiam z kontekstu użytkownika, problem nie występuje - niestety muszę go uruchomić z system context, tak więc nie jest to dla mnie rozwiązaniem.

Byłem przekonany, że z kontekstu systemowego można wykonywać dowolne operacje bez konieczności "elewacji uprawnień" - w ten sam sposób jestem w stanie uruchomić instalację aplikacji typu MSI, i wszystko działa w porządku EDIT - ( działa, gdy MSI znajduje się na dysku lokalnym )

Będę wdzięczny za wskazówki.

Pozdrawiam.