скачать и запустить exe из браузера Chrome с помощью плагина c ++

У меня есть веб-страница, где, когда я нажимаю кнопку, она должна загрузить exe-файл из URL-адреса, и exe-файл должен автоматически вызываться без вмешательства пользователя.

В Internet Explorer я достиг этого с помощью элемента управления ActiveX (.ocx), развернутого в виде CAB-файла.

Я планирую распространить это на платформу Chrome и Firefox тоже. (по крайней мере, хром для первого шага).

Я не хочу использовать Java-апплет (необходимо удалить зависимость Java). Я знаю, что мог бы добиться этого с помощью плагина Firebreath, но очевидно, что сейчас не время погружаться в плагин NPAPI (поскольку NPAPI уже исчезает. Chrome начал поэтапный отказ от NPAPI).

Когда я посмотрел на альтернативные технологии плагинов для NPAPI, я наткнулся на собственный клиент Google. При дальнейшем чтении я узнал, что Nacl тоже не будет соответствовать моим потребностям, так как os звонки api не будут работать в nacl (я надеюсь, что URLDownloadToFile api или createprocess или shellexecute не будут работать. Исправьте меня, если я ошибаюсь).

Должен ли я пойти на Native Messaging? Есть ли какая-то другая альтернативная технология? Веди меня, пожалуйста.

1

Решение

NPAPI, пока он не уйдет, позволит вам делать то, что вы хотите; кроме этого Native Messaging является единственным вариантом.

Как уже упоминали другие, это действительно плохая идея (тм).

1

Другие решения

Спасибо всем людям. Наконец-то я остановился на Launch Application Using Custom Protocol Handler. http://msdn.microsoft.com/en-us/library/ie/aa767914(v=vs.85).aspx . Это соответствовало моим потребностям.

1

Как указывалось выше, родная система обмена сообщениями в Chrome, похоже, является подходящим решением для Chrome.

Во-первых, посмотрите здесь: эта запись блога показывает, что собственный обмен сообщениями может быть использован для запуска «calc.exe». Я еще не попробовал это сам, но выглядит многообещающе:
https://plus.google.com/+FrancoisBeaufort/posts/jdTrmmZL9Xh

Следует иметь в виду, что метод Native Messaging будет работать только с расширением Chrome, которое открывает целый ряд связанных вопросов.

(1) Можно ли установить расширения Chrome для всех пользователей, использующих групповую политику? или через реестр?
Да, согласно http://www.chromium.org/administrators/pre-installed-extensions
Позднее редактирование: только «опубликованные» расширения могут быть добавлены через реестр. увидеть — https://developer.chrome.com/extensions/external_extensions

(2) Можете ли вы определить, установлено ли расширение?
-Да, Расширение Chrome: как определить, установлено ли расширение с помощью скриптов содержимого

Так что, возможно, возможно иметь двухэтапный процесс:

-Ваши пользователи перейдут на веб-страницу, которая проверит расширение (используя №1 выше)

-Если его там нет, попросите пользователей загрузить и установить .exe (для этого потребуется взаимодействие).

-.Exe развернет файлы расширения и зарегистрирует его для Chrome (используя № 2 выше)

-При последующих посещениях уже установленное расширение можно использовать для запуска / связи с уже установленным .exe (с использованием Native Messaging).

0