我正在尝试在虚拟机中静默安装软件,然后我正在使用命令行参数(另一个批处理文件)执行应用程序。问题有时是应用程序异常,有时它也无法启动。我我正在使用vmrun实用程序来复制虚拟机上的应用程序和依赖项。
注意:如果我与虚拟机建立了远程桌面连接,那么每次执行都会失败,大多数时候都会失败,有时会执行
有人能说出为什么会出现这种奇怪的行为。谢谢提前
public bool RunAnalysisInVM()
{
bool ProcessExitCode = false;
String CommandLineParameters = VMRUNPARAMETER + url + " -u " + objct.hostuser + " -p " + objct.hostpasswd + " -gu " + guestusername + " -gp " + guestpassword + " runProgramInGuest " + "\"" + datastore + "\" " + "-activeWindow " + "-interactive " + "\"" + @"C:\Analysis\test.bat" + "\"";
ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("C:\\Program Files\\VMware\\VMware VIX\\vmrun.exe", CommandLineParameters);
RunProcess(procStartInfo, CommandLineParameters, ref ProcessExitCode,1200000);
return ProcessExitCode;
}
private String RunProcess(ProcessStartInfo procStartInfo, String CommandLineParameters,ref bool exitstatus,int Wait=720000)
{
procStartInfo.RedirectStandardOutput = true;
procStartInfo.UseShellExecute = false;
// Do not create the black window.
procStartInfo.CreateNoWindow = true;
procStartInfo.WorkingDirectory = @"C:\";
vmrun.StartInfo = procStartInfo;
vmrun.Start();
isvmrunProcessAlive = true;
vmrun.WaitForExit(Wait);
}
我正在使用像copyFileFromGuestToHost等类似的API来将文件从基本机器复制到虚拟机,但一切正常。只有在运行bat文件时才会出现问题