Как развернуть элемент управления ActiveX, например, из проекта VS2008?

Каковы шаги по развертыванию проекта, созданного в VS2008 (формы Windows и C #), в качестве элемента управления ActiveX, размещенного в ie? У меня есть проект загрузчика файлов, который я хочу разместить на веб-странице, к которой пользователи могут переходить, нажмите «доверять этому активному элементу x», и приложение запустится на странице в браузере, как приложение Java.

Чтобы было ясно, я не ищу ClickOnce (это установщик) и не хочу, чтобы пользователю приходилось изменять свою безопасность .Net или добавлять доверенный сайт (поэтому просто поместите файл .dll в тег OBJECT не работает). Мне нужна цифровая подпись, какой-то сертификат? Я нашел ссылки на это, но не пошаговое руководство по нему (как я получил для java).

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

Спасибо, Сэм


person Shizam    schedule 19.08.2009    source источник
comment
Серьезно, я заплачу деньги за решение.   -  person Shizam    schedule 20.08.2009


Ответы (2)


Мы развертываем управление AX в двух формах:

  1. CAB-файл. Процесс установки, как вы описали в вопросе. Вам нужно подписать контроль, упаковать его в CAB и подписать файл CAB. Более подробную информацию можно найти здесь: Упаковка элементов управления ActiveX .

  2. Автономный установщик. MSI-файл для пользователей без прав администратора для ручной установки.

person Eugene    schedule 25.08.2009

И ответ, к сожалению, заключается в том, что .net «элементы управления activeX» не похожи на элементы управления ActiveX COM (VB6), даже если вы сделаете элемент управления .net видимым, вы не сможете зарегистрировать его в ОС таким же образом. Что вам нужно сделать:

1) Создайте файл .net dll 2) Создайте exe-установщик (я сделал это с помощью InstallShield, похоже, это также можно сделать в VS) 3) Упакуйте этот установщик в файл cab 4) Укажите этот файл cab в IE.

Это приводит к тому, что в IE появляется небольшое подтверждение «activeX», затем появляется сообщение «Вы доверяете этому приложению», затем UAC (vista / w7) и , затем, вы можете запустить нормальный процесс установки приложения: открывается окно установщика, подтверждаем, выбираем каталог установки. После этого ваш элемент управления появится на странице в IE.

Раньше это работало в COM: после того, как вы выполнили небольшое раскрывающееся меню с подтверждением ActiveX (и UAC), приложение просто запустило

Теперь это только в том случае, если вам нужно / вы хотите, чтобы он был совместим с .Net 2.0. Если вы не возражаете против совместимости только с версией 3.0 или выше, вы можете сделать приложение XBAP:

Каковы планы Microsoft в отношении браузерных приложений? Silverlight, ClickOnce, ActiveX, библиотеки DLL

И вы даже можете просто взять свою .Net dll, которую вы потратили последние 3 недели, изучая, как сделать (фрик), и вставить ее в приложение WPF:

Как разместить настраиваемый элемент управления Windows Forms в приложении WPF?

Надеюсь, это поможет другим. Сэм

person Shizam    schedule 25.08.2009