Click here to Skip to main content
15,887,776 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
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


What I have tried:

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.
Posted
Updated 30-Oct-17 7:24am

1 solution

You don't. IE and Firefox were the only browsers that supported ActiveX.

You have no choice but to use software that is installed on the workstations if you're going to support more browsers.

FF pulled support for ActiveX, I think, a year ago and IE's replacement, Edge, doesn't, and never will, support ActiveX. MS dropped all support for it.

ActiveX controls, as a platform, is dead. Migrate your stuff to something more current because you're going to get left behind as a product if you don't.
 
Share this answer
 
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900