首页 新闻 会员 周边 捐助

.NET Application_Start 使用Process执行文件失败

0
悬赏园豆:100 [已解决问题] 解决于 2019-05-30 13:44

我的想法是在网站启动时检测某些文件,如果不符合预期,将信息写入一个VBS文件,然后直接执行,只到通过该预期值后,才执行后续,但是现在碰到vbs文件可以生成,但是无法执行。
我本地测试可以,使用winfrom窗体也可以,而且生成的文件双击是正确可以执行的。
代码如下:

MapPath:封装的一个用于获取网站根目录的方法。
VerificationResult.error :错误提示信息

var path = MapPath("CloudErrorTips.vbs");
string strTest = "msgbox "" + VerificationResult.error + "",64,"运行配置项错误"";
System.IO.File.WriteAllText(path, strTest, Encoding.Unicode);
Process p = System.Diagnostics.Process.Start(@"C:\WINDOWS\System32\WScript.exe", path);
p.WaitForExit();

文件有生成但是无法执行,也采用过cmd带起这个命令但是还是无效。

问题补充:

也不算执行失败,有执行,进程可以看到。但是没有提示~~~~~~这个VBS执行的进程在任务管理器可以看到。但是没有双击之后的那种提示

彭十一。的主页 彭十一。 | 初学一级 | 园豆:41
提问于:2019-01-21 14:35
< >
分享
最佳答案
0

看了你给一楼的回复,才知道啥问题。
你不用费劲了,这是 Mission Impossible。
是的,本地测试可以,WinForm也可以,但是IIS就是不行,别问为啥,这是龟腚。

收获园豆:60
爱编程的大叔 | 高人七级 |园豆:30844 | 2019-01-22 10:03
其他回答(2)
0

你报的什么错,我尝试了一下,是正常的

收获园豆:20
jello chen | 园豆:7336 (大侠五级) | 2019-01-21 16:52

没有报错,本地测试是可以。
但是服务器上面没有弹窗提示,但是任务管理器可以看到进程。
我想要和本地测试一样有弹窗的提示。

支持(0) 反对(0) 彭十一。 | 园豆:41 (初学一级) | 2019-01-21 17:53

图一是我想要的效果,也是我本地测试的效果。
图二是服务器效果,任务管理器有,但是没有弹窗。

支持(0) 反对(0) 彭十一。 | 园豆:41 (初学一级) | 2019-01-21 18:01
1

通常由权限造成,你试试给networkservice 角色添加权限试试,如果还不行记得还需加个webconfig配置。

收获园豆:20
花飘水流兮 | 园豆:13615 (专家六级) | 2019-01-22 17:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册