Subratp10 Ответов: 1

Как получить доступ к VC++ activex DLL с пользовательским интерфейсом из браузеров,отличных от IE


I’ve a legacy VC++ ActiveX dll with UIs. 

This ActiveX dll can be used only in the same workstation but through browser (IE only, because of its other dependencies.

Now there is a requirement from the customers that it should be accessible and behave same from other browsers like Chrome, Safari and FF.

Writing plug-ins for each browser, asking the customer to install it and maintaining those plug-ins is not feasible. 

So I tried the following options:
1.           With node-ffi ( Node.js addon) but this can be used only for loading and calling native dynamic libraries but not ActiveX instantiating and rendering in browser. 

           a.       Cannot use Node.js -> win32ole as it works only in IE.
2.           Wrapping the unmanaged COM dll to an interop dll, exposing the methods and events from this wrapper, as end points using REST WCF service ( HTTP bindings and WebGet/ WebInvoke contracts attribute).

         a.      The above approach works fine for regular COM dll but not for VC++ ActiveX dll.

Is it possible someway to wrap the unmanaged ActiveX dll and expose this wrapper to be consumed by non-IE browsers/ JavaScript, using .NET or any other MS technologies?

Thank you in advance,

Subrat


Что я уже пробовал:

So I tried the following options:
1.           With node-ffi ( Node.js addon) but this can be used only for loading and calling native dynamic libraries but not ActiveX instantiating and rendering in browser. 

           a.       Cannot use Node.js -> win32ole as it works only in IE.
2.           Wrapping the unmanaged COM dll to an interop dll, exposing the methods and events from this wrapper, as end points using REST WCF service ( HTTP bindings and WebGet/ WebInvoke contracts attribute).

         a.      The above approach works fine for regular COM dll but not for VC++ ActiveX dll.

1 Ответов

Рейтинг:
1

Dave Kreskowiak

Вы не. IE и Firefox были единственными браузерами, которые поддерживали ActiveX.

У вас нет другого выбора, кроме как использовать программное обеспечение, установленное на рабочих станциях, если вы собираетесь поддерживать больше браузеров.

FF вытащил поддержку ActiveX, я думаю, год назад, а замена IE, Edge, не поддерживает и никогда не будет поддерживать ActiveX. MS отбросила всякую поддержку для него.

Элементы управления ActiveX, как платформа, мертвы. Перенесите свои вещи на что-то более актуальное, потому что в противном случае вы останетесь позади как продукт.