System.Diagnostics.Process con errore ntdll.dll

giovedì 14 agosto 2014 - 12.53
Tag Elenco Tags  C#  |  .NET 3.5  |  Windows 7  |  Visual Studio 2008

volperubbia Profilo | Senior Member

Ciao a tutti,
nella mia applicazione (ASP.NET MVC VS.2008), ho uno script per lanciare da un processo un exe sul server, al quale passo un nome file come primo parametro.

string Filename = "~/MyFolder/pippo.exe";
string Arguments = "~/MyFolder/MyFile.xml";
int Timeout = 10;
if (Filename.StartsWith("~/")) FileName = Server.MapPath(Filename);
if (Arguments.StartsWith("~/")) Arguments = Server.MapPath(Arguments);

using (var obj = new Process()) {
obj.StartInfo = new ProcessStartInfo() { FileName = Filename, Arguments = Arguments };
obj.StartInfo.WorkingDirectory = obj.StartInfo.FileName.Substring(0, obj.StartInfo.FileName.LastIndexOf("\\"));
obj.Start();
if (obj.WaitForExit(1000 * Timeout)) {
// PROCESSO TERINATO IN TEMPO
} else {
// TIME OUT, FORZA TERMINAZIONE PROCESSO
obj.Kill();
};
};

Fin qui, tutto bene, funziona sia in locale sia pubblicando su altre macchine a 32 o a 64 bit.

Solo su un server a 64 bit (Win 7 Pro SP1) e virtualizzato, ottengo errori del tipo:
Access violation at address 7703C889 in module ntdll.dll, read of address 00000114.

L'eseguibile Filename parte, lo vedo perchè è lui che logga l'errore. Nelle varie cartelle i permessi ASP.NET ci sono. Il server ha in indirizzo pubblico e fa parte di una rete aziendale. Può essere legato al fatto che sia virtuale? Sue configurazioni particolari che posso verificare? L'antivirus?

Ho notato che se entro sul server, via desktop remoto, e lancio quell'eseguibile dal prompt dei comandi, funziona senza dare errori.

Grazie per l'attenzione,
Davide

27/09/2014 - Aggiornamento
Ho risolto. Era un problema di pool iis sotto il quale girava l'applicazione, l'utente del pool non aveva abbastanza privilegi da riuscire a lanciare l'eseguibile sul server.

Davide
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5