我要做的是在单击按钮时运行位于Web服务器桌面上的批处理文件。这就是我到目前为止所做的。
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);
当我调试它时,它完全符合我的要求,但当我在IIS(localhost:81)上访问该站点时,批处理文件永远不会运行。我已经尝试了许多不同的ProcessStartInfo和Process变种而没有运气。我已经测试了用户名和密码,它们也是正确的。
我没有收到任何错误,该按钮只会触发一个页面回发。
我已经为该文件提供了IUSR和IIS_IUSRS权限,但仍然没有运行。我还删除了用户名和密码,并将UseShellExecute设置为true,但这也没有做任何事情。
编辑:
看起来每个人都认为它有一些权限。关于允许IIS打开进程需要做什么的任何想法?
提前致谢!
答案 0 :(得分:0)
只需将第三行更改为:
psi.UseShellExecute = true;
或阅读这篇真正完成工作的文章:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;889251