Обновление на лету COM-объекта, используемого в приложении .NET - PullRequest
0 голосов
/ 26 февраля 2009

У нас есть большое, развернутое, 3-уровневое .NET-приложение, которое в настоящее время по уважительным причинам не может быть обновлено. Клиент использует ряд классических элементов управления c ++ ActiveX через обычный механизм взаимодействия.

Мы исправили некоторые критические ошибки в одном из элементов управления ActiveX, и нам необходимо внедрить исправления для ряда клиентов без переустановки клиента. Разрешены патчи, в том числе обновление библиотеки. Есть ли способ установить исправленную DLL ActiveX без нового клиента? Интерфейс, имя файла, GUID и т. Д. Остаются неизменными.

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

Должна ли простая замена dll работать? Если нет, можете ли вы предложить другой подход, кроме перестроения, а затем переустановки клиента, который должен работать?

Ответы [ 2 ]

0 голосов
/ 26 февраля 2009

как насчет отмены регистрации перед заменой, а затем повторной регистрации.

regsvr32.exe /u [YOUR DLL HERE]

затем переписать dll, затем

regsvr32.exe [YOUR DLL HERE]
0 голосов
/ 26 февраля 2009

Если интерфейс не изменился, будет работать перезапись оригинальной библиотеки DLL.

...