• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2364
  • Last Modified:

How to use 32-bit Active X in 64-bit IE?

I have an old VB6 ActiveX dll. I registered it with regsvr32.exe in the Windows\SysWOW64 directory. When I use the control in 32-bit IE, it works fine. It gives an "Automation server cannot create object" error in 64-bit IE. How can I fix this?
0
tkroll71
Asked:
tkroll71
  • 3
  • 2
1 Solution
 
tkroll71Author Commented:
Forgot to mention this is on a Win 7 x64 machine.
0
 
prabhatiaCommented:
For an OCX to be download on a 64 bit IE it needs to be compiled for 64 bit platform.

If you browse the Internet with 64-bit Internet Explorer 6.0 on a 64-bit OS , and you view a Web page that contains a  32-bit ActiveX control, you are prompted to install the ActiveX control. When  you attempt to install the ActiveX control, the installation process is  unsuccessful. Although the activeX control acts like it is being installed, is  not installed.

64 bit OCX can be registered with regsvr32.exe in system32 folder not in Syswow64.

You need to compile that ActiveX dll for 64 bit platform.

Again one more thing that 64 bit ActiveX dll will not work on 32 bit IE.

So in your application you must have a JavaScript code to identify the IE (32 bit or 64 bit). And according to load the Active X.
0
 
tkroll71Author Commented:
Thanks for the response.

Interesting. This is contrary to what I read that says a 32-bit dll works fine on 64-bit systems running under the WOW64 layer, which is designed exactly for this purpose.
0
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

 
tkroll71Author Commented:
Not what I wanted to hear but nonetheless correct. Thank you.
0
 
prabhatiaCommented:
32 bit dlls works fine on a 64 bit machine if loaded by a 32 bit application.
As your OCX is 32 bit and IE is 64 bit application, it wont work.
0
 
Sar1973Commented:
Is this test enough to identify the case in which JS won't work?
var myNVGTST=navigator.userAgent.indexOf("MSIE")>=0 && navigator.cpuClass.indexOf("64")>=0 && navigator.platform.indexOf("32")>=0;
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Certified Penetration Testing

This CPTE Certified Penetration Testing Engineer course covers everything you need to know about becoming a Certified Penetration Testing Engineer. Career Path: Professional roles include Ethical Hackers, Security Consultants, System Administrators, and Chief Security Officers.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now