C# 允许IIS运行cmd命令

C# 允许IIS运行cmd命令,c#,asp.net-mvc-3,process,iis-6,C#,Asp.net Mvc 3,Process,Iis 6,正在工作中构建ASP.NET MVC3应用程序,我正在尝试使用一个必须通过命令提示符和传递参数启动的程序 现在我得到 System.ComponentModel.Win32Exception (0x80004005): Access is denied at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo) at System.Diagnostics.Process.Start()

正在工作中构建ASP.NET MVC3应用程序,我正在尝试使用一个必须通过命令提示符和传递参数启动的程序

现在我得到

System.ComponentModel.Win32Exception (0x80004005): Access is denied 
at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo) 
at System.Diagnostics.Process.Start() 
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
这仅仅是网站的一个部分需要的,我不确定什么样的流程才能让IIS(6)在维护安全性的同时实现这一点

我不认为这有什么关系,但为了以防万一,这里是我用来启动
进程()的代码。

简言之,问题是:


在维护安全性的同时,允许IIS6启动需要通过命令提示符传递参数的新进程的最佳方法是什么?

授予运行IIS(通常是ASPNET)的用户对目录
c:\pdftohtml\
的访问权,这将解决问题。

您是我的英雄(目前)。我的头撞在墙上@杰瑞德:这是怎么做到的。我也面临同样的问题,那么如何添加此权限?@Shai:这是如何完成的。我也面临着同样的问题,那么如何添加此权限?@AJ,请咨询您的系统管理员,或者只需谷歌“更改文件夹权限”+“windows作为旁注:最好找到一个不强迫您生成新进程的库。您希望有多少并发用户?此过程只能从一个(或两个)内部用户访问。一个月只能使用一次(最多)。基本上,我们有一个人会整理一份时事通讯,我已经厌倦了所有的转换,所以我给了她网络访问权限,并向她展示了如何做…:)基本上我很懒,我明白。请注意,这种“惰性”可能会影响服务器的安全性。任何作为ASPNET运行的web工作人员现在都可以访问该文件夹。
try {
    ProcessStartInfo startInfo = new ProcessStartInfo();
    startInfo.FileName = @"C:\pdftohtml\pdftohtml.exe";
    startInfo.Arguments = "-c " + NewsletterPath + @"\" + fileName + ".pdf";

    Process.Start( startInfo );
} catch( Exception ex ) {
    return ex.ToString();
}