【发布时间】:2015-01-18 22:11:57
【问题描述】:
我有一个 VB6 EXE,我想通过 C# 代码触发它,如下所示。这段代码执行后,我可以看到exe已经在taskmanager中启动了,过了一段时间就完成了。
我将代码部署在 IIS 服务器中。开始浏览该站点并单击启动 VB6SOME.exe 的 c# 代码按钮。 Exe 启动但从未完成(任务管理器显示用户网络服务的 VB6SOME.exe)。
prcstrinfo.FileName = "VB6SOME.exe";
prcstrinfo.Arguments = "USERID,PASSWORD," + DateTime.Now.ToShortDateString();
Process proc = Process.Start(prcstrinfo);
另外,我尝试通过传递所有必要参数的 CMD 调用 VB6SOME.exe。它开始并正确完成。 (我还监控了TaskManager,我看到它以我的ID而不是网络服务启动)。请帮助解决问题。
【问题讨论】:
-
您可以尝试捕获应用程序的退出代码,看看是否能给您带来任何见解。您可以在服务器上手动运行 exe(使用相同的参数)吗?
-
是的 - 我可以通过服务器中的 CMD 运行 exe,没有任何问题。唯一的区别是当我运行 CMD 文件时,用户名显示为 My ID,但当它运行 C# 时,用户名显示为 NETWORK SERVICE
-
那么这就是你的答案......!
标签: c# com vb6 registry 32bit-64bit