none
求助,IIS调用FlashPrinter.exe 、*.bat 无权限。 RRS feed

  • 问题

  • 我用程序建立了一个bat文件,文件内容如下,执行FlashPrinter.exe 将文档转换成SWF文件。bat文件内容如下:

    E:\VOD\VODProject1\VODWeb\FlashPaper2.2\FlashPrinter.exe E:\VOD\VODProject1\VODWeb\TextFile\ceshileibie4\传奇视频点播系统.doc -o E:\VOD\VODProject1\VODWeb\TextFile\ceshileibie4\传奇视频点播系统.swf

    调用代码如下: 

    System.Diagnostics.Process p = new System.Diagnostics.Process();
                p.StartInfo.FileName = TextFile;


                //p.StartInfo.Arguments = ChangePath;
                p.StartInfo.UseShellExecute = false;
                p.StartInfo.RedirectStandardInput = true;
                p.StartInfo.RedirectStandardOutput = true;
                p.StartInfo.RedirectStandardError = true;
                p.StartInfo.CreateNoWindow = false;
                p.ErrorDataReceived += new DataReceivedEventHandler(p_ErrorDataReceived);
                //开始执行
                try
                {
                    p.Start();
                    p.BeginOutputReadLine();
                    p.BeginErrorReadLine();
                    p.WaitForExit(60000);
                    falg = true;
                }
                catch
                {

                }
                finally
                {
                    p.Close();
                }
    在VS中直接运行可以转换成功,但是发布到IIS后,无论是直接调用FlashPrinter.exe 还是生成.bat文件后调用都无效。

    自己感觉应该是IIS权限问题,添加MIME类型 .bat  text/bath  赋予N权限,都无效。

    有没有高人,做过类似功能的,帮忙解决下。非常感谢!

    2010年8月3日 7:17

答案

  • iis是匿名帐号,没有权限。你可以在web.config里模拟一个有权限的帐号,或者更改iis的匿名帐号,设置一个权限大的账户
    【孟子E章】
    2010年8月5日 7:06
    版主
  • 把Application pool(应用程序池)的运行帐号设置为管理员帐号,如果成功。再把应用程序池帐号改回Network Service, 然后将 Network Service 设置为FlashPrinter.exe 或者bat 文件的的Owner(所有者)。


    This posting is provided "AS IS" with no warranties, and confers no rights. Microsoft Online Community Support. My Blog:http://xhinker.com
    2010年8月10日 9:31
    版主

全部回复

  • 用FileMon看看什么用户访问什么文件失败

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2010年8月4日 21:19
  • iis是匿名帐号,没有权限。你可以在web.config里模拟一个有权限的帐号,或者更改iis的匿名帐号,设置一个权限大的账户
    【孟子E章】
    2010年8月5日 7:06
    版主
  • 把Application pool(应用程序池)的运行帐号设置为管理员帐号,如果成功。再把应用程序池帐号改回Network Service, 然后将 Network Service 设置为FlashPrinter.exe 或者bat 文件的的Owner(所有者)。


    This posting is provided "AS IS" with no warranties, and confers no rights. Microsoft Online Community Support. My Blog:http://xhinker.com
    2010年8月10日 9:31
    版主
  •  这个不行啊,我在IIS中将word 转换为swf, 转换2003的文档 是可以的,但是到2007的文档就不行
    星星
    2011年7月7日 6:44