Как развернуть элемент управления ActiveX для проекта VS2008? - PullRequest
1 голос
/ 19 августа 2009

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

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

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

Спасибо, Sam

Ответы [ 2 ]

1 голос
/ 26 августа 2009

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

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

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

1 голос
/ 25 августа 2009

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

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

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

...