Ejecución del proceso en el servidor a través de ASP.NET/C# en IIS

Lo que intento hacer es ejecutar un archivo por lotes que se encuentra en el escritorio del servidor web cuando se hace clic en un botón. Esto es lo que tengo hasta ahora.

ProcessStartInfo psi = new ProcessStartInfo("Notepad.exe");
   psi.WorkingDirectory = @"C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories";
   psi.UseShellExecute = false;
   psi.UserName = "administrator";  //username
   psi.Password = secure;  //secure string
var process = Process.Start(psi);

Cuando lo depuro, hace exactamente lo que quiero, pero cuando accedo al sitio en IIS (localhost: 81) el archivo por lotes nunca se ejecuta. He probado muchas variantes diferentes de ProcessStartInfo y Process sin suerte. He probado el nombre de usuario y la contraseña y ambos son correctos también.

No recibo ningún error, el botón solo activa la publicación de una página.

He otorgado permisos IUSR e IIS_IUSRS al archivo, y todavía no se ejecuta nada. También eliminé el nombre de usuario y la contraseña y configuré UseShellExecute en verdadero, pero eso tampoco hizo nada.

EDITAR:

Parece que todos piensan que son algunos permisos. ¿Alguna idea de lo que necesito hacer para permitir que IIS abra el proceso?

¡Gracias por adelantado!

Respuestas a la pregunta(1)

Su respuesta a la pregunta