在asp.net中执行exe文件的问题

LongBless 2011-04-26 04:56:05
在asp.net中,执行exe文件如下:
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = "C: \\SPD\\Website\\bfrm.exe";
//p.StartInfo.Arguments = arg;

p.StartInfo.UseShellExecute = false;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.RedirectStandardOutput = true;

p.Start();
p.WaitForExit();

现在问题是我自己编的exe文件可以运行,在其它地方下载的exe文件运行不了。
有朋友说是权限问题,我也都改了,可还是不行,下面是这个exe连接是一个数学算法模型!
http://www.stat.duke.edu/research/software/west/bfrm/download.html
运行它还需要个parameters.txt和dataset.txt文件,下面连接里有
http://www.stat.duke.edu/research/software/west/bfrm/examples.html

有高手帮忙看看,求详细解决方案!谢谢!
...全文
193 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
LongBless 2011-04-26
  • 打赏
  • 举报
回复
谢谢 大家,在应泳池里 改成本地系统 是正解
ycproc 2011-04-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 net_lover 的回复:]

你的权限是怎么改的?需要在应用程序池里面改成本地系统,
[/Quote]
+1 或者 不知道代码注册 权限可以不可以
avi9111 2011-04-26
  • 打赏
  • 举报
回复
但这个和我在dos下运行的错误是不同的

说明process执行还是和cmd下执行稍有不同,或者ReadToEnd这个方法有问题

我cmd下的错误是Unknow Parameter<html xmlns=..........> Loading parameters file failed
avi9111 2011-04-26
  • 打赏
  • 举报
回复
估计是EXE执行出错,你在DOS下面运行正常么?
加个textbox看下返回的是什么结果 ,this.textBox1.Text = p.StandardOutput.ReadToEnd();
我的结果是:Failed to open the model file!Loading parameters file failed


System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = "e:\\bfrm.exe";
//p.StartInfo.Arguments = arg;

p.StartInfo.UseShellExecute = false;
//p.StartInfo.CreateNoWindow = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.RedirectStandardOutput = true;

p.Start();
this.textBox1.Text = p.StandardOutput.ReadToEnd();

p.WaitForExit();
p.Close();
avi9111 2011-04-26
  • 打赏
  • 举报
回复
貌似和权限无关,是什么错误提示?

ZhuZhuYuXiang 2011-04-26
  • 打赏
  • 举报
回复
设置权限
子夜__ 2011-04-26
  • 打赏
  • 举报
回复
改成本地系统。
jeven_xiao 2011-04-26
  • 打赏
  • 举报
回复
用ActiveX插件来实现这种通信。

正确方式
kid_wang 2011-04-26
  • 打赏
  • 举报
回复
我以前也弄过这样的东西,如果你是本地可以执行,如果在别的客户端,说是权限。
但是实际上是,你不可能打开这个exe文件的。因为IIS的安全机制完全阻止了这种客户端调用服务器上的可执行程序的做法。
你想C: \\SPD\\Website\\bfrm.exe地址是服务器还是客户端呢?
所以一般都是用ActiveX插件来实现这种通信。
孟子E章 2011-04-26
  • 打赏
  • 举报
回复
你的权限是怎么改的?需要在应用程序池里面改成本地系统,
LongBless 2011-04-26
  • 打赏
  • 举报
回复
没有,本地直接就可以运行。
丁码农 2011-04-26
  • 打赏
  • 举报
回复
之前有人说在framework的machine.config中修改默认账户,我试过了,不行。

后来在应用程序池中选择了本地系统,权限就OK了。
lijing3333 2011-04-26
  • 打赏
  • 举报
回复
没虚拟机吧。。。。

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧