Создать установщик WiX для ActiveX Object - PullRequest
3 голосов
/ 30 октября 2019

Я использовал Heat для создания файла с записями реестра, а в Visual Studio создал проект wix. Я попытался включить фрагмент непосредственно в product.wxs, а также сослаться на него как на группу компонентов. Когда я запускаю установщик, ничего не происходит. Для проверки правильности добавления объекта ActiveX в Internet Explorer new ActiveXObject('<prog ID>') должен работать, но это не так. Я предполагаю, что ключей реестра недостаточно. Как добавить .dll, созданный объектом ActiveX, и убедиться, что Internet Explorer может обнаружить ActiveXObject?

Из моего комментария: Вот пример репозитория того, что я пытаюсь сделать. Я создал библиотеку классов с видимой функцией COM. Он имеет ProgId с «ActiveXExample» и должен быть в состоянии быть установленным на машину с ActiveXExampleInstaller .msi, созданным WiX. Я запускаю установщик и не вижу ни ключей реестра, ни добавленных файлов. Я уверен, что это проблема со структурой каталогов, но я до сих пор не понимаю, как добавлять файлы. https://github.com/SvenWritesCode/ActiveXExample

1 Ответ

2 голосов
/ 08 ноября 2019

Сводка : 1) В параметрах безопасности IE могут быть ограничения , которые не позволяют элементу управления ActiveXработает на всех. 2) Кроме того, могут возникнуть проблемы с прямой регистрацией элемента управления.

  • Ниже приведены некоторые ресурсы, которые помогут вам при отладке.
  • Является ли элемент управления ActiveXс цифровой подписью?
  • Можете ли вы создать экземпляр элемента управления вне IE?
  • Это 64-разрядный двоичный файл?

Прокомментируйте ниже и, возможно, предоставьте образец для github.com ? Перепроверю.


IE : Active X в Internet Explorer обычно отключается в эти дни?

  • Установка элементов управления ActiveX для доступа через браузер, используемая для запуска установки с веб-сервера и загрузки оттуда установщика с цифровой подписью.
  • Процесс установки подписанных элементов управления ActiveXс веб-сайта описано здесь: Упаковка элементов управления ActiveX с Wix MSI (, пожалуйста, прочитайте этот связанный ответ - важно ).

  • Если посмотреть на Internet Explorer в тестовом окне Windows 10, то, по-видимому, введено значительное количество ограничений. Вот иллюстрация (не фактические диалоги windows 10):

    ActiveX

Регистрация COM : регистрация COM сама по себе с помощью WiX немного неуклюжа по сравнению со многими другими инструментами (коммерческими). Вот описание некоторых проблем: Регистрация COM EXE с помощью WIX . Note that 64-bit COM files are not properly handled by WiX (если это не было исправлено недавно).

Heat.exe : Похоже, вы уже использовали его, нозапустить heat.exe, чтобы получить регистрационную информацию COM для файла, можно сделать так:

heat.exe file MyCOMDll.dll -out MyCOMDll.wxs

Файл MyCOMDll.wxs должен быть включен в вашОсновной источник WiX как-то. Я просто извлекаю содержимое, которое мне нужно, вручную и вставляю в основной источник. Это требует некоторого опыта, но не так сложно. If there are problems, maybe your sources can be put on github.com perhaps? So we can take a look? Без источника всегда сложно разобраться.


Ссылки :

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