首页 新闻 会员 周边 捐助

.net 启动外部程序

0
[已关闭问题] 关闭于 2009-01-31 23:07

现在在asp.net下想调用一个外部EXE 程序该 程序也是用.net 完成,一个window服务类型的应用程序,应用程序在VS中指定的debug中使用参数可以执行,但是现在想在asp.net中启动这个应用程序如何来使用呢?我想到了用shell这个函数(vb.Net) 可是查了MSDN 上说要注意 文件名和文件规范要全部引起 我理解的是 应该是这样的 shell ("*****/****/***.exe a b c d ",****) ,可后来又说中间不要有空格。不明白怎么调用了。

这个应用程序执行的是这样的 ****/***.exe 0 2 1 44556677

大概是这个样子,我现在是这样写的 shell(chr(34) & "****/***.exe" & " " & "0" & " " & "2" ... & (chr34),*****)  现在的问题是用双引号引起了应用程序的路径。参数也传入,可是还是执行不了。后来不知道怎么了在本地VS中调试能运行程序,直接运行页面也能运行程序。用Release发布网站后在本地执行可以。能正常运行。可是我把这个发布网站的包放到一台VS2003 的机器上就运行不了。我也把这个应用程序及应用程序所要调用的文件(都在本级目录)的文件也加上了最高的权限。还是不行。最后把应用所在的程序目录也提升了权限。可是还是运行不了。不知道为什么?我怀疑两个原因
一,一个是我之前都是用Debug模式发布网站,是不是这回我用Release模式发布网站的缘故。
二,再者是不是我的应用程序中与这个应用程序相关联的文件的版本的问题?是不是要拿这个应用程序到每台要建立网站的机器上去编译一下?
谢谢大家。

问题补充: 我试了用把asp.net 这个用户加入administrator组。点击发布后(用Release版发布的网站)还是没有执行那个程序。这个程序我试过在服务器(2003 RC版)上执行 能正常执行。再者这个程序执行时会判断服务器上一个目录是否存在。如果不存在那么就创建一个。可是执行的话这个目录是被创建了。然后程序会在这个目录中生成一个文件。可是目录是建立了(那是不是说程序还是被执行了),是不是说还是应用程序用asp.net这个帐号来执行的话还是会有权限。我也把这个生成的目录的权限(在服务器上)放到了最大。可是还是不能生成文件。为什么?
二十二号同学的主页 二十二号同学 | 小虾三级 | 园豆:790
提问于:2009-01-19 17:06
< >
分享
所有回答(1)
0

可以通过配置web.config或者machine.config来模拟管理员用户,然后就有足够的权限运行应用程序了。

http://www.google.cn/search?hl=zh-CN&newwindow=1&rlz=1T4GGLL_enCN301CN301&q=asp.net+%E6%A8%A1%E6%8B%9F%E7%94%A8%E6%88%B7&meta=&aq=f&oq=

玉开 | 园豆:8822 (大侠五级) | 2009-01-19 17:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册