C# Process.Start()在本地运行,但不在服务器上运行
我有我从中获取的代码。当我在我的机器上运行这个时,它工作得非常完美。一旦我把它放在虚拟机上进行测试,它就不再打印了。我发现这可能是因为应用程序没有打开Adobe。我已授予访问PDF所在文件夹的权限,并更改了Adobe中的安全设置 我的代码:C# Process.Start()在本地运行,但不在服务器上运行,c#,adobe,iis-6,C#,Adobe,Iis 6,我有我从中获取的代码。当我在我的机器上运行这个时,它工作得非常完美。一旦我把它放在虚拟机上进行测试,它就不再打印了。我发现这可能是因为应用程序没有打开Adobe。我已授予访问PDF所在文件夹的权限,并更改了Adobe中的安全设置 我的代码: try { ProcessStartInfo info = new ProcessStartInfo(); info.Verb = "print"; info.FileName = @"properFilePath.pdf"; info.Cr
try
{
ProcessStartInfo info = new ProcessStartInfo();
info.Verb = "print";
info.FileName = @"properFilePath.pdf";
info.CreateNoWindow = true;
info.WindowStyle = ProcessWindowStyle.Normal; // so I know Adobe is opening
TimeSpan tp = new TimeSpan(0, 0, 10); // I thought this did something different than what it really does
Process p = new Process();
p.StartInfo = info;
p.Start();
p.WaitForInputIdle();
System.Threading.Thread.Sleep(tp);
if (false == p.CloseMainWindow())
{
p.Kill();
}
Message m = new Message() { Msg = "Worked, yo", MsgType = Message.MessageType.Success };
Logger.Log(m);
return true;
}
catch (Exception ex)
{
//I log this I swear
return false;
}
我正在寻找解决方案/帮助/答案的正确方向
谢谢您在虚拟机上的应用程序是否与您在本地的应用程序相同,例如
Adobe
您是否可以添加任何实际的错误捕获/记录,以便您可以捕获ex.Message
@MethodMan我只是在虚拟机上查找Adobe
的日志,但找不到。它们是相同的版本,等等。我还确认了进程正在启动。当你在VM中运行代码时,什么都没有发生?@Sty它会通过进程,并记录信息表明它没有失败。