.net打开exe程序,本地调试时打开没问题,但是在IIS发布后,打不开,进程中有ax.exe的进程
stringstr=Server.MapPath(@"../DJ/exe/ax.exe");ProcessStartInfoinfo=newProcessStartInf...
string str = Server.MapPath(@"../DJ/exe/ax.exe");
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = str;
info.Arguments = "";
info.WindowStyle = ProcessWindowStyle.Minimized;
Process pro = Process.Start(info);
pro.WaitForExit();
上面是代码
想权限什么之类的,我都改了,还是不行,文件肯定是存在的 展开
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = str;
info.Arguments = "";
info.WindowStyle = ProcessWindowStyle.Minimized;
Process pro = Process.Start(info);
pro.WaitForExit();
上面是代码
想权限什么之类的,我都改了,还是不行,文件肯定是存在的 展开
展开全部
因为从winxp开始,windows是一个多用户的os;因此iis即使指定了对应的用户,也无法在特定的用户界面上显出对应的程序,只会以 进程的形式出现;
至于你调试的时候可以 ,那是因为调试的时候,是以你当前的用户作为执行用户的,因此可以正常显示,但是发布以后;就是另一个用户(即使是一个用户名,如果你有非常丰富的远程经验,应该遇到过类似的情况,即一个用户被多次登录);
如果你一定要实现,只有两个办法:
换成win2000 搭载iis5
写一个守护程序 或者 windows service,web app请求守护程序,由守护进程去执行打开对应的应用程序
追问
那我该把应用放在哪?服务器上吗?还是部署的那台机子上
追答
不知道你的具体执行是什么模式:
如果是想在客户端打开程序;你需要使用activex在客户端执行相关的操作;(前提是 ie浏览器)之前的方案不可行
如果是想在服务器端打开程序,就将你的守护程序部署在服务器端
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询