Хорошо, я прихожу сюда в крайнем случае, надеясь, что кто-то знает ответ на этот вопрос, в новостных группах нет ответов, и я сделал все, что знаю, кроме серьезного хакерского решения, которого я бы хотел избежать .
Вот ситуация:
У меня есть библиотека классов .NET, доступная для COM. Я обертываю это в CAB-файл и использую тег Object, чтобы встроить его в страницу. В атрибуте CODEBASE я указываю его на cab-файл и добавляю версию, подобную этой, что "CODEBASE =" cabfiles \ mycab.cab # version = 30.0.0.1 "
Проблема:
Итак, поскольку это DLL-библиотека .NET, доступная для COM, она регистрирует его с ключом реестра inprocServer32, который указывает на mscoree.dll с версией 2.0.50727, что имеет смысл, поскольку COM-объекты .NET работают под этим процессом, и 2.0.50727 является версией этого DLL. Но это нарушает свойство version атрибута CODEBASE тега OBJECT.
Любая версия, установленная мной выше, чем 2.0.50727, будет загружать и переустанавливать содержимое файла cab.
Я попытался изменить параметры и значения реестра, а также целый ряд вещей, и не могу найти решение.
Значит, кто-нибудь знает решение этой проблемы?