在经典 asp 上从 com interop dll 以编程方式运行 bat 文件时出现问题
我面临着使用 system.diagnostics.process 对象运行 bat 文件的困境。我有在类库中运行bat 文件的代码,我将其编译为dll。我通过使用编译时注册 dll com 使其可互操作。我使用强密钥对其进行签名,导出类型库并使用 regasm 和 gacutil 命令将 dll 放入 GAC 中。然后,我在 dll 中创建了特定类的对象,该对象具有使用 vbscript 中的 server.createobject 方法执行 bat 文件的方法。然后我调用了bat执行的方法。方法被正常调用,但 cmd 提示符没有弹出,bat 文件也没有被执行。我检查了一下互操作 DLL 是否有问题,但该 DLL 在 VB6 代码中运行良好。有人可以帮我解决这个问题吗?我不确定 IIS 服务器上是否存在权限问题。或者无法通过 ASP 上的 vbscript 来执行 cmd 的 dll?
谢谢, 地理。
I am facing a predicament with running a bat file using the system.diagnostics.process object. I have the code for running a bat file in a class library which I compiled to a dll. I made the dll com interoperable by registering it using compile time. I signed it using strong key, exported the type library and put the dll into GAC using regasm and gacutil commands. I then created the object of the specific class in the dll that has the method for the bat file execution using the server.createobject method in vbscript. I then called the method for the bat execution. Method gets invoked alright but the cmd prompt is not popping up nor is the bat file being executed. I checked to see if its a problem with the interop dll but the dll worked fine with VB6 code. Can someone help me with this issue? I am not sure if its some permission issue on the IIS server. Or is cmd executions not possible via vbscript on ASP for dlls?
Thanks,
Geo.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
显然,您可能需要运行 cmd,然后将输入注入其中:
Apparently you may need to run cmd and then just inject input into it:
http://codebetter.com/brendantompkins/2004/05/13/run-a-bat-file-from-asp-net/