2012-04-06 3 views
0

У меня есть VC++ exe, который вызывает сетевой диск с именем алфавита «M» (M: \ server-ip \ sharename). Основываясь на бизнесе, он копирует некоторые файлы в общую сетевую папку и работает нормально.сетевой сетевой диск недоступен

Проблема заключается в том, что я вызываю VC++ exe из .NET-приложения, используя Process.Start (startInfo), сетевой сетевой диск бросает исключение, поскольку netwrok не найден.

В некоторых ПК пользователя он работает нормально даже из приложения .net. Мы используем .NET framework 3.5 с sp1, а ОС - XP. Пожалуйста, помогите мне в разрешении этого. Я попробовал даже CASPOL.exe, чтобы полностью доверять сетевому ресурсу.

+0

Можете ли вы разместить код? Может быть, там есть ошибка – Rushil

+0

Код для вызова exe ... string strCommand = "VC.exe"; System.Diagnostics.ProcessStartInfo procStartInfo = новый System.Diagnostics.ProcessStartInfo (System.Windows.Forms.Application.StartupPath + strCommand); procStartInfo.RedirectStandardOutput = true; procStartInfo.UseShellExecute = false; procStartInfo.CreateNoWindow = true; System.Diagnostics.Process proc = новый System.Diagnostics.Process(); proc.StartInfo = procStartInfo; proc.Start(); Он отлично работает на некоторых ПК и не работает в некоторых. – user1316614

ответ

0

Вместо запуска VC++ EXE вы можете запустить командную оболочку (cmd.exe) и искать себя, если сетевой диск существует.

Если это не так, я бы посмотрел, в каком контексте пользователя работает ваша программа и работает cmd.exe, и убедитесь, что это тот же пользователь, и у этого пользователя есть сетевой диск.

Смежные вопросы