【发布时间】:2013-07-02 23:41:53
【问题描述】:
我正在尝试使用 C# 代码执行 vbs 文件。 vbs 文件包含在我的机器上调用应用程序的代码。当我在本地运行 C# 代码时,我能够运行 vbs 脚本文件,但是当我将代码部署到 SharePoint 环境时,它看起来甚至没有执行该文件。我没有收到任何错误消息或我在 vbs 脚本文件中添加的任何消息。下面是我用来运行 vbs 脚本文件的 C# 代码。如果我在这里遗漏了什么,有人可以告诉我吗?
C# 代码:
Process scriptProc = new Process();
scriptProc.StartInfo.FileName = @"cscript";
scriptProc.StartInfo.Arguments = @"//B //Nologo C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\template\layouts\segmentationtools\test1.vbs";
scriptProc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
scriptProc.Start();
scriptProc.WaitForExit();
scriptProc.Close();
VBS 代码:
Dim qtApp
Set qtApp = CreateObject("QuickTest.Application","Server IP address")
MsgBox("Hello world")
qtApp.Launch
qtApp.Visible = True
【问题讨论】:
-
"asp.net" 是指尝试运行从服务帐户下显示 UI 的应用程序?
-
嗨,Alexei,对不起,我没听懂你的问题。您能在这里简要介绍一下您的要求吗?
-
您尝试在哪里运行该 C# 代码?控制台应用程序/来自一些随机服务/IIS/...以及此代码在什么帐户下运行?
-
我在 SharePoint Web 应用程序上运行此代码。通常我将aspx页面部署在_layouts文件夹中,与代码相关的.dll部署在Web应用程序的bin文件夹中。我不确定代码是在系统帐户还是任何其他帐户上运行,因为我没有服务器的权限,我们已经获得了服务器上部署文件夹的访问权限。如果有任何方法,请告诉我查看代码在哪个帐户上运行,查看代码在哪个帐户上运行真的很重要吗?对不起,我是这个 vbs 文件的新手。谢谢
-
您的示例脚本显然不会做任何理智的事情,因为它试图显示 UI,但启动仅输出到控制台的命令行工具/脚本应该没问题。您可能需要使用 RunWithElevatePrivileges 方法才能运行任何东西/访问文件系统...正确配置您的本地 SharePoint 并使用非管理员/非本地帐户访问将有助于调试问题。
标签: c# asp.net vbscript sharepoint-2007 qtp