Estoy tratando de ejecutar un proceso como un usuario diferente que tiene privilegios de administrador en 2 computadoras diferentes ejecutando Vista y su UAC habilitado pero en una de ellas obtengo una Win32Exception que dice "El directorio el nombre no es válido "Win32Exception: El nombre del directorio no es válido
¿Alguien puede decirme qué problema tiene mi código?
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);
ACTUALIZACIÓN
La aplicación que se ejecuta el código anterior tiene requireAdministrator nivel de ejecución. incluso establecer la carpeta de trabajo para "Path.GetDirectoryName (myFile)" y "Nueva System.IO.FileInfo (myFile) .DirectoryName"
¿En qué línea de código se produce el error? ¿Es cuando creas el objeto FileInfo o cuando comienzas el proceso? –
@divo System.Diagnostics.Process.Start (pInfo) – mrtaikandi
Puede usar Process Monitor (desde Sysinternals) para determinar qué operación subyacente de archivo/carpeta Win32 está fallando. – Richard