我在asp.net程序中调用了一个转换pdf文档的程序FlashPaper.exe,我在vs2008中调试的时候就可以调用,但是发布到到iis6上之后就调用不到了。FlashPaper.exe是一起发布的,路径没问题,网上都说是权限问题,应该怎么设置一下啊,哪位大哥帮下小弟啊,都困扰几天了。

解决方案 »

  1.   

    是可以的,但注意:有些防护软件会认Process.Start为非法操作,会进行阻止
      

  2.   

    IIS,虚拟目录,右键属性里边看看吧
      

  3.   

    添加 everyone 角色 添加完全控制权限 试试
      

  4.   

       本地可以,发布到iis不可以,可能是发布到iis中和本地环境不一样,你把环境配置一样试试,主要是一些路径及某文件夹的访问权限问题。
      

  5.   

    需要提升asp.net运行账户的权限,win2003和2008中asp.net运行账户不相同,前者是ASPNET,后者好象是NETWORK SERVICE,把这个账户加入administrators组试试,另外你也可以使用模拟:http://msdn.microsoft.com/en-us/library/aa292118(v=vs.71).aspx===================================================
    ASP.NET WebForm和ASP.NET MVC分页最终解决之道
      

  6.   

    嗯.肯定是权限问题了.不然找到你一个漏洞就可以执行cmd的话那还不挂了
      

  7.   

    服务器上也要有FlashPaper相关组件吧?
      

  8.   

    IIS6 不会调用任何 EXE 程序,仅会调用 ISAPI 扩展。
    IIS6中运行的WEB应用(如ASP.NET, ASP, PHP)可以调用EXE程序,但需要具备相应的系统权限。
      

  9.   

    如果是直接调用exe文件,不是通过DLL调用,采用如下方法肯定管用:
    1.建立一个虚拟路径WPath,设置ASPNET或Netwrok Service可写权限。
    2.在虚拟路径WPath中运行flashpaper.exe, 输出路径也是WPath。
    3.从虚拟路径WPath中读取转换结果。
      

  10.   

    可以的
    把你的exe放在网站目录下,
    1,设置应用程序池的标识为本地系统
    2,确保调用的路径书写方法正确
    3,确保文件夹有写入权限
      

  11.   

    真的谢谢你了,按照你说的设置应用程序池的标识为本地系统就可以调用了,不过在我的win7系统下是可以了,但是我发布到windows server 2003 虚拟机上,在设置标识为本地系统还是不行,不知道什么原因
      

  12.   

    可能是本地系统的登录用户权限不够,你可以给Application Pool指定一个Admin的user