Próbuję uruchomić proces jako inny użytkownik, który ma uprawnienia administratora na dwóch różnych komputerach z systemem Vista i ich UAC włączony, ale w jednym z nich otrzymuję wyjątek Win32Exception, który mówi: "Katalog nazwa jest nieprawidłowa "Win32Exception: nazwa katalogu jest nieprawidłowa
Czy ktoś może mi powiedzieć, co jest nie tak z moim kodem?
var myFile = "D:\\SomeFolder\\MyExecutable.exe";
var workingFolder = "D:\\SomeFolder";
var pInfo = new System.Diagnostics.ProcessStartInfo();
pInfo.FileName = myFile;
pInfo.WorkingDirectory = workingFolder;
pInfo.Arguments = myArgs;
pInfo.LoadUserProfile = true;
pInfo.UseShellExecute = false;
pInfo.UserName = {UserAccount};
pInfo.Password = {SecureStringPassword};
pInfo.Domain = ".";
System.Diagnostics.Process.Start(pInfo);
UPDATE
Aplikacja, która wykonuje powyższy kod ma poziom wykonania requireAdministrator. I nawet ustawić folder roboczy "Path.GetDirectoryName (myfile)" i "New System.IO.FileInfo (myfile) .DirectoryName"
W jakim wierszu kodu występuje błąd? Czy jest to po utworzeniu obiektu FileInfo lub po uruchomieniu procesu? –
@divo System.Diagnostics.Process.Start (pInfo) – mrtaikandi
Możesz użyć Monitora Procesu (od Sysinternals), aby określić, która operacja pliku/folderu Win32 zawodzi. – Richard