asp.net使用process.start调用exe程序问题2

问题描述

netframework1.1使用process.start调用某控制台程序A.exe执行数据处理。1.WinXP下:进入IIS,把网站的执行权限,调整到"脚本与可执行文件",可顺序启动并执行A.exe2.WindowsServer200832位:无需特别设置(忘了是否做过特别设置,因现在手头上暂无此环境,故无法验证),即可顺序启动并执行A.exe3.WindowsServer2008R264位:可顺序启动A.exe(在任务管理器中可找到该程序),但该程序没有被执行。故进入IIS,进入网站的处理程序映射,编辑功能权限,选中[执行],但没有效果。有哪位在WindowsServer2008R264位遇到过类似问题没有?有何解决方法?

解决方案

解决方案二:
IIS的应用程序池中的,高级设置中,启用32位应用程序修改为true。来兼容不同系统(32或64)试试
解决方案三:
>wangnaisheng谢谢你的回复,IIS的应用程序池中目前包含3个的应用及其32位应用程序启用情况:ASP.NET1.1启用32位应用程序当前为TrueClassic.NETAppPool启用32位应用程序当前为FalseDefaultAppPool启用32位应用程序当前为False网站使用的应用程序池为ASP.NET1.1,所以问题好像不在这里。另外,刚才同时尝试了其它测试,发现一个情况:网站的配置文件中有一条配置:<identityimpersonate="true"userName="***"password="***"/>用于模拟管理员用户,如果去掉此配置,则exe程序可顺利启动并执行。但去掉此配置,则有一块Excel服务器端导出操作会提示"没有权限"而失败,而该导出操作在xp和winserver200832位上是没有此问题的。有何办法处理这种问题?
解决方案四:
引用2楼dongshanyu的回复:

>wangnaisheng谢谢你的回复,IIS的应用程序池中目前包含3个的应用及其32位应用程序启用情况:ASP.NET1.1启用32位应用程序当前为TrueClassic.NETAppPool启用32位应用程序当前为FalseDefaultAppPool启用32位应用程序当前为False网站使用的应用程序池为ASP.NET1.1,所以问题好像不在这里。另外,刚才同时尝试了其它测试,发现一个情况:网站的配置文件中有一条配置:<identityimpersonate="true"userName="***"password="***"/>用于模拟管理员用户,如果去掉此配置,则exe程序可顺利启动并执行。但去掉此配置,则有一块Excel服务器端导出操作会提示"没有权限"而失败,而该导出操作在xp和winserver200832位上是没有此问题的。有何办法处理这种问题?

那还是你自己的逻辑有问题config文件最终必须读出来,把里面内容放到变量里,所以跟config文件到底怎么配的其实没啥关系就看你调用excel和exe的逻辑,到底如何使用这些变量的.
解决方案五:
>Z65443344:config文件最终必须读出来,把里面内容放到变量里这个思路是对的,不过identity里的信息应该是通过IIS而作用到网站的,而我前面提到的excel和exe处均没直接使用此配置信息。若是直接使用此配置信息,自然可以根据业务逻辑有选择性的使用配置信息了。
解决方案六:
配置用户模拟模式是为了让IIS服务级的应用,实现一些用户级的操作(服务与用户桌面应用是session隔离的)WindowsServer2008R264位:可顺序启动A.exe(在任务管理器中可找到该程序),但该程序没有被执行。没有执行,需要你自己从这个程序入手,拿手它的运行状态和错误日志去分析原因
解决方案七:
>dongxinxi我在A.exe中的入口SubMain的一开始添加了一条语句用于记录程序运行情况,但A.exe启动后并没得到该信息,所以判断该程序没被执行。如果在资源管理器中直接选择"以管理员身份运行"A.exe,可得到该信息。
解决方案八:
试下设置A.exe所在文件夹的用户权限
解决方案九:
>a552301已经尝试过,但没有效果
解决方案十:
引用6楼dongshanyu的回复:

>dongxinxi我在A.exe中的入口SubMain的一开始添加了一条语句用于记录程序运行情况,但A.exe启动后并没得到该信息,所以判断该程序没被执行。如果在资源管理器中直接选择"以管理员身份运行"A.exe,可得到该信息。

任务管理器里看得到进程说明是尝试启动了,但是可能由于某种原因启动过程中就出错,你得拿到这个错误信息,系统日志里的“应用程序”里也看看全局未处理的异常,线程退出异常都处理掉纪录到日志
解决方案十一:
如果进程出错,会问你是中断还是继续的窗口但是你是在服务里启动的进程,窗口是看不到的,程序异常处理做好,是不会一点线索都找不到的
解决方案十二:
>dongxinxi:如果进程出错,会问你是中断还是继续的窗口没有此询问窗口,若不手工结束进程,该程序一直会挂在那里。刚才查看了那段时间的Windows日志,在”应用程序“,没找到相关异常信息。不过在"系统"处,找到了几条警告信息,如下:为应用程序池“ASP.NET1.1”提供服务的进程在与WindowsProcessActivationService通信时出现严重错误。该进程ID为“5796”。数据字段包含错误号。
解决方案十三:
没弄过,帮顶下
解决方案十四:
引用11楼dongshanyu的回复:

>dongxinxi:如果进程出错,会问你是中断还是继续的窗口没有此询问窗口,若不手工结束进程,该程序一直会挂在那里。刚才查看了那段时间的Windows日志,在”应用程序“,没找到相关异常信息。不过在"系统"处,找到了几条警告信息,如下:为应用程序池“ASP.NET1.1”提供服务的进程在与WindowsProcessActivationService通信时出现严重错误。该进程ID为“5796”。数据字段包含错误号。

我说了,就算是有窗口,你用服务去启动也是看不到窗口的,而是会被系统弹一个全屏遮罩的警告窗口,在你点掉那个窗口之前,被启动的进程将处理阻塞状态(类似挂起)要知道发生了什么事,你可以修改你的那个exe,在关键地方打印出运行状态,通过日志去分析exe运行后,执行到哪一步了,每一步的执行结果==

时间: 2024-10-31 20:01:47

asp.net使用process.start调用exe程序问题2的相关文章

调用exe-C#调用EXE程序,欢迎界面显示的问题,Winform

问题描述 C#调用EXE程序,欢迎界面显示的问题,Winform C#自己开发的程序,需要调用一个外部的EXE程序.该程序是Release版本,一个单独的程序,有自己的欢迎界面.我调用这个程序的时候,这个程序的欢迎界面的图片总是显示不出来,其他的能显示,比如登陆用户,密码的控件都能显示出来,但是就是欢迎界面的图片不显示,显示的是一个白的空图片. 代码如下所示; Process p; private void pictureBox3_Click(object sender, EventArgs e

java 调用exe程序挂起

问题描述 java 调用exe程序挂起 最近在做一个java工具,java多线程执行bat文件, 每个bat文件又会调用两个exe文件( a.exe | b.exe ). 每一个线程单独执行一个bat文件.线程执行bat文件. 因为数据量很大,活执行很多次bat文件(几万次吧). 当执行到某一个bat的时候,调用的某一个exe好像会阻塞, 使全部的exe都挂起(进程存在,不占用cpu,好像死了一样). 如果结束java程序的话,挂起的exe会继续执行完. 在网上查了,说在调用完bat文件,等在执

javascript- 不使用ActiveXObject,在js中调用exe程序,求帮忙

问题描述 不使用ActiveXObject,在js中调用exe程序,求帮忙 因为使用new ActiveXObject("wscript.shell"); 需要使用IE插件 解决方案 如果是windows操作系统,可以使用协议扩展 http://zhidao.baidu.com/link?url=A4QX1crr32EbPtuCtLLSnvf_oi_lxL8aAeUqjWaA_jcH8BqEBUXEVPdPEMaI_O-RUpeskn-onCwkW7IMrX0GRuFPodxWAR1l

急 请教在程序中调用exe文件传递参数的问题!!

问题描述 Processmyprocess=newProcess();System.Diagnostics.ProcessStartInfostartInfo=newSystem.Diagnostics.ProcessStartInfo();startInfo.FileName=file;//指定EXE文件名startInfo.WorkingDirectory=workdirectory;//指定EXE文件路径startInfo.Arguments=args;//启动EXE文件命令参数start

java-操作数据库的.exe程序,可以批量执行sql脚本文件

问题描述 操作数据库的.exe程序,可以批量执行sql脚本文件 求大神帮忙啊~用java可以做这个东西吗?完全没有思路啊,要求是可以操作局域网内的另一台电脑上的mysql数据库 解决方案 如果有访问权限的话,直接运行Runtime.getRuntime().exec("远程IP文件路径exe文件");如果没有,那可以先用java进行telnet连接到那台机器,然后调用exe程序,再不行就只能在远程机器上写webservice服务然后调用了. 解决方案二: 批量执行SQL脚本 解决方案三

能否实现在右键菜单添加项用于通过cmd执行某exe程序的某个功能

问题描述 能否实现在右键菜单添加项用于通过cmd执行某exe程序的某个功能 最主要的是不知道怎么在cmd里执行某exe文件的某功能. 比如: 现在有一个exe程序,是一个桌面提醒程序, 我想用cmd调用这个程序的新建桌面提醒功能,请问应该怎么做? 会有大神帮忙解答吗? 解决方案 你既然注册了右键菜单,那么你的程序就可以响应菜单项,然后用ShellExecute()去调用exe程序就可以了 解决方案二: 前提是你的那个exe得支持执行其中一个功能才行 解决方案三: 可以,具体做法参考:http:/

winexec调用外部exe程序出错

问题描述 winexec调用外部exe程序出错 有没有遇到过 用winexec调用外部exe程序 一段时间后出现程序莫名其妙的退出了.请问大家,是什么原因呢 解决方案 winexec本身不会对程序有任何修改.如果程序莫名其妙退出,并且假设你直接在explorer中双击打开没有这个问题,主要检查下启动运行路径和系统权限这两个问题. 解决方案二: 主程序是c#写的winform程序,在主程序里面调用winexec程序来调用外部的exe程序,运行一段时间之后才出现,平时都没有问题.弹出一个对话框,点继

使用java传参调用exe并且获取程序进度和返回结果的一种方法

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 在某个项目中需要考虑使用java后台调用由C#编写的切图程序(exe),并且前端能够获取到切图的进度和相关描述信息. 2.解决思路 a.首先改造切图程序为接受参数从Main函数传递. b.编写java后台传参调用exe的函数. c.解决通信问题. 3.具体实现 3.1改写C#窗体程序   C#中的入口程序为Main函数,其中Main函数默认是没有参数的,如果添

javascript 调用: html中使用javascript调用本地程序(exe,doc等)

第一次用到这个,做个记录,在html页面中调用本地程序:<html><head><script language="javascript">function Run(strPath){var objShell = new ActiveXObject("wscript.shell");objShell.exec(strPath);objShell = null;}</script></head><bod