Как запустить приложение ClickOnce с приложением, загруженным из браузера? - PullRequest
3 голосов
/ 13 марта 2012

Что я хочу сделать

При нажатии на ссылку для загрузки файла в нашем веб-приложении браузер предложит пользователю save или open файл. При выборе open файл откроется в установленном приложении.

Что у меня до сих пор

У меня есть приложение ASP.NET MVC, которое возвращает файл следующим образом:

return File(bytes, "application/octet-stream", "file.rod");

Я создал установщик ClickOnce с сопоставлением файлов для приложения и при запросе на save файл отображается со значком зарегистрированного сопоставления файлов, и при двойном щелчке приложение запускается, как и ожидалось.

Однако, когда вы выбираете open, приложение не запускается, что странно, потому что оно запускается правильно, когда файл открывается из файловой системы (explorer.exe). В настоящее время я думаю, что проблема заключается либо в том, как я настроил сопоставление файлов, либо в том, как я отправляю данные из браузера (возможно, типа контента?).

Вот регистрация ассоциации файла в файле манифеста:

<fileAssociation xmlns="urn:schemas-microsoft-com:clickonce.v1"
    extension=".rod"
    description="Lollipops and Ice Cream"
    progid="Rod.Document"
    defaultIcon="risque.ico" />

Что я пропустил? Что я должен попробовать дальше?

Еще одна вещь: я знаю, что можно передать параметры запроса установщику ClickOnce. Это то, что я тоже собираюсь попробовать.

1 Ответ

0 голосов
/ 06 января 2013

Я думаю, что ваш тип контента должен быть application / x-ms-application в строке возврата File (); в противном случае IE не распознает, что ему нужно запустить его как приложение. Что касается Firefox, я не пробовал его в самой последней версии, но я помню, что мне требовался плагин ClickOnce для его корректной работы.

...