flashpaper asp.net win2003 iis 配置解决方案

简单点,刨去所有不需要的部分,注意command的使用

 

            string fppath = System.Configuration.ConfigurationManager.AppSettings["Flashpaper"];
            string outpath = filepath + ".swf";
            //string param = fppath + " " + filepath + " -o " + outpath;

            StringBuilder command = new StringBuilder();

            //已使用环境变量
            command.Append("/"").Append(fppath).Append("/" ")
                .Append(uploadRootPath).Append(filepath)
                .Append(" -o ")
                .Append(uploadRootPath).Append(outpath);

            Process p = new Process();
            p.StartInfo.FileName = command.ToString();
            p.StartInfo.FileName = "cmd";
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.RedirectStandardInput = true;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.RedirectStandardError = true;
            p.StartInfo.CreateNoWindow = false;
            //p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
            try
            {
                p.Start();
                string strOutput = null;
                p.StandardInput.WriteLine(command);
                p.StandardInput.WriteLine("exit");
                strOutput = p.StandardOutput.ReadToEnd();
                //Console.WriteLine(strOutput);
                p.WaitForExit();
                p.Close();
            }
            catch (Exception ex)
            {
                --throw ex;
            }

 

 

然后,我的电脑--右键--管理--本地用户和组---》把networkservice一脚踹进administrators组,重启iis服务(注意了,是iis服务),试图产生swf,成功。

 

还没搞定的M我

 

ps:vs里面debug的时候启动flashpaper进程的是administrator(我用的是管理员),部署到iis里是networkservice。观察一下两者启动的进程的对比,前者会启动两个flashpaper进程,后者只启动一个,然后就没了,猜想有可能是networkservice权限不够,丢到管理员组重启iis服务解决这个问题

 

貌似提升了networkservice权限可能会引起某些隐患。。。。

 

寻求完美解决方案。。。

 

经测试,对flashpaper安装目录、系统部署到iis的虚拟目录增加完全控制权限均不能解决问题

 

在winxp底下还要拉上aspnet用户,要不也会死火

 

flashpaper依赖于office,所以安装office2007以上版本会比较好,因为office2003无法解析docx

 

 

----6月25日更新----

 

networkservice没有直接打印权限,是导致这个问题的原因

flashpaper的工作原理是调用office接口使用虚拟打印机生成swf文档,networkservice调用office是没问题的,但是它不能打印

 

又进入脑残的授权研究。。。

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值