Erlaubnis ausgeführt werden .exe-Datei aus ASP.NET web-Anwendung
Haben wir eine .exe-Datei, die wir ausführen müssen, auf die Zeit, die eine Bestellung auf einer Webseite. Wenn
wir testen diese lokal funktioniert es einwandfrei mit IIS Express. Wenn wir es verschieben auf IIS schlägt fehl. Wir übernehmen dies ist ein permissions-error als wenn wir die App Pool für die Ausführung als administrator kann dann das Skript wieder funktioniert. Die Frage, die wir haben, ist, wie wir führen .exe als administrator während der App-Pool ist ApplicationIdentity? Wir sind mit dem folgenden code:
var process = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = executablePath,
Arguments = argumentList,
Domain = domain,
UserName = userName,
Password = securePassword,
UseShellExecute = false,
LoadUserProfile = true
}
};
process.Start();
process.WaitForExit();
process.Close();
Den .exe-Datei zu schreiben versucht der Benutzer, AppData-Ordner, das ist der Grund, warum es scheitert. Es ist ein 3rd-party-app, so können wir nicht den Quellcode ändern.
EDIT: Nur um zu klären, auch, wenn wir geben Sie den Benutzernamen und das Kennwort in procmon es scheint immer noch zu laufen ISUR.
- die iis ?????
- Mit IIS7.....
- Bewegen Sie den job in ein separates service und verbinden Sie das web-ui mit dem service, mit MSMQ. Dann kann der Dienst starten .exe-Datei, ohne die Probleme im Zusammenhang mit es von IIS.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beheben wir diese durch aktivieren der Benutzer-Profil auf IIS AppPool und Einstellung der Berechtigung für den IIS-Benutzer auf den Ordner, es wurde versucht zu schreiben.
Wir verklagen ProcMon zu finden, wo das Programm war ein Fehlschlag, und der Ordner war es zu versuchen towrite war C:\Windows\System32\config\systemprofile
ich erinnere mich nicht wirklich, aber einer von Ihnen arbeitet 100% ( ich hatte dieses Problem vor)
nur lassen Sie mich wissen, ehich einer von Ihnen ist der richtige.