Используя ASP. NET MVC, возможно ли запустить файл WPF .exe после его загрузки? - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть веб-приложение ASP. NET MVC с кнопкой для загрузки файла .exe для существующего приложения WPF. Он загружается нормально, но при нажатии в окне браузера он не выполняется. Как бы это исправить?

[HttpGet]
public FileResult downloadFile() 
{
    var fileName = string.Format("MyApp.exe", DateTime.Today.Date.ToString("dd-MM-yyyy") + "_1");
    var tempOutPutPath = Server.MapPath(Url.Content("~/File/")) + fileName;

    byte[] finalResult = System.IO.File.ReadAllBytes(tempOutPutPath);

    if (System.IO.File.Exists(tempOutPutPath))
        System.IO.File.Delete(tempOutPutPath);

    if (finalResult == null || !finalResult.Any())
        throw new Exception(String.Format("No Files found"));

    return File(finalResult, System.Net.Mime.MediaTypeNames.Application.Octet, Path.GetFileName(fileName));
}

Ответы [ 2 ]

1 голос
/ 24 апреля 2020

Это проблема безопасности, поэтому я бы сказал нет. Представьте себе катастрофу, если ссылки на вредоносные сайты могут загружать и запускать программы для конечных пользователей p c.

Не знаю, зачем вам это нужно, но нужно ли вам запускать приложение wpf из браузера. Затем вы можете создать ссылку на схему URI, которая указывает на ваше уже установленное приложение. Вам придется добавить его в реестр во время процедуры установки или одноразовой работы в вашем приложении. Регистрация приложения в схеме URI в windows 10

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

0 голосов
/ 25 апреля 2020

подобно matcsr указал, что вы не можете заставить пользователя выполнить файл в его папке загрузки. Но если вам нужно распространять приложение WPF из Интернета, то вам нужно настроить развертывание ClickOnce Web. Подробнее здесь: Выберите стратегию развертывания ClickOnce

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...