Мне нужно запустить exe по щелчку, поэтому я написал код ниже, и он работает, когда я запускаю его с Visual Studio.Однако, когда мы публикуем приложение, оно не работает на клиенте.
public ActionResult ShowModuleApp(string modulePath)
{
var returnUrl = Request.UrlReferrer;
try
{
Process process = Process.Start(Request.PhysicalApplicationPath + @"Uploads\" + modulePath);
int exeId = process.Id;
Process tempProc = Process.GetProcessById(exeId);
process.EnableRaisingEvents = true;
GeneralFunctions.AddTraceLog(Convert.ToString(exeId));
}
catch (Exception ex)
{
GeneralFunctions.AddTraceLog(ex.Message);
return Redirect(returnUrl.AbsoluteUri);
}
return Redirect(returnUrl.AbsoluteUri);
}
Я также следовал приведенным ниже инструкциям.
Чтобы настроить это, выполните следующие действия.а.Откройте панель управления и выполните следующие действия. Для Windows NT: щелкните «Службы».Для Windows 2000, Windows XP и .NET Server: нажмите Администрирование, а затем нажмите Службы.
b.Дважды щелкните IIS Admin Service.
c.На вкладке «Вход в систему» установите флажок «Разрешить взаимодействие службы с рабочим столом».Не забудьте запустить IIS Admin Service как локальную систему.
d.Остановите и перезапустите службу IIS Admin.
Но она тоже не работает, я вижу Process Id, зарегистрированный в журналах трассировки.Это работает в фоновом режиме и не идет впереди, как я вижу, не прослеживается никаких исключений.