System.Diagnostics.Process.Start Issue - PullRequest
       10

System.Diagnostics.Process.Start Issue

1 голос
/ 10 сентября 2009

Кажется, у меня странная проблема с методом System.Diagnostics.Process.Start. У меня есть приложение C # Desktop с использованием 3.5 SP1 .NET Framework. Пользователь нажимает на метку, которая передает путь к папке, хранящейся в его теге, в виде строки функции. Проводник Windows запускается с правильной папкой. Когда этот инструмент установлен в Citrix и запускается через опубликованное приложение, проводник Windows по-прежнему запускается, но также отображается сообщение об исключении .NET «Система не может найти указанный файл».

System.ComponentModel.Win32Exception: The system cannot find the file specified
at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start(String fileName)

Путь к файлу существует, так как он только что запущен, все в порядке, и код работает без ошибок при локальном входе на сервер, это просто ошибки как опубликованное приложение, мой код ниже

Label label = (Label)sender;
if (label.ForeColor == Color.Blue) {
   if (System.IO.Directory.Exists(label.Tag.ToString()) == false)
   {
      MessageBox.Show("The specified folder does not exist:" + 
            Environment.NewLine + Environment.NewLine + label.Tag.ToString(), "",
            MessageBoxButtons.OK, MessageBoxIcon.Information);
      return;
   }
   System.Diagnostics.Process.Start(label.Tag.ToString()); 
}

Я нашел эту страницу http://forums.citrix.com/thread.jspa?messageID=1382638, но у нас все равно нет IIS на сервере.

Может ли кто-нибудь помочь?

Спасибо, Rob

1 Ответ

3 голосов
/ 23 ноября 2009

Вместо того, чтобы пытаться запустить процесс с именем папки, запустите процесс «explorer.exe» и передайте имя папки в качестве аргумента командной строки. Вы можете найти список аргументов командной строки, принятых explorer.exe здесь:

http://support.microsoft.com/kb/314853

...