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

InternetExplorer.Application is 32 bit. But I want 64 bit. How do I get it?

I am looking at a plugin for keepass (www.keepass.info). The plugin (keeform) uses the following to instantiate an object of IE:

$oIE = ObjCreate("InternetExplorer.Application")

This creates an object that is 32-bit IE. I want 64-bit IE. How would I change this?
$oIE = ObjCreate("InternetExplorer.Application")
    _KeeDebugPrint ("ObjName ($oObject) = " & ObjName ($oIE), $_KeeDebugLevelErr)

    With $oIE
        ; Show browser window
        .Visible = True
        ; Navigate to URL; wait until IE and page is loaded
        .Navigate($Url)
        Do
            Sleep(300)
        Until (MyReadyState(.readyState))
        Do
            Sleep(100)
        Until (MyReadyState(.document.readyState))
        _KeeDebugPrint ("Navigated to " & $Url , $_KeeDebugLevelInfo)
    EndWith

Open in new window

0
DrDamnit
Asked:
DrDamnit
  • 3
  • 2
  • 2
2 Solutions
 
Genetic_WolfCommented:
can you elaborate a little bit more ?

Vb6 shell will always create a 32bit object because Vb6 - IS - 32bit.
The default ObjCreate is a 32bit function

Nevertheless, on Win7, IE will still be launched in his regular state,
That mean, if you got Win7 64, it will launch the 64bit version of IE.

If you could explain what you're trying to achieve, it might help finding a solution.
0
 
CitizenRonCommented:
Are you sure about that the Win7 64 thing?  My Win7 64 bit defaults to launch "C:\Program Files (x86)\Internet Explorer\iexplore.exe"
0
 
Genetic_WolfCommented:

CitizenRon:

light came in my head when you asked your question... thanks...

Microsoft made IE available in 32bit AND 64bit on their Win7 64 because IE 64bit can ONLY run 64bits ActiveX plugin.

That mean since it doesn't exist "yet" many 64bit version of current activeX on the market, you need 32bits IE browser as well...
(as of march 2011, you still can't see Flash animation on your 64bit IE browser)
http://kb2.adobe.com/cps/000/6b3af6c9.html
http://support.microsoft.com/kb/896457

and yet, there is NO speed advantage to run 64 vs 32bits version of ANY broswer.  Even if the memory size of buffer is increased to 64bits, TXT (html, asp, js, etc...) file doesn't use that kind of oversized buffer.  and all our current marketed picture format are 32bit based. (png, tiff, jpg, bmp, gif)

That mean you won't get any speed difference loading theses picture from the net eitheir.
In other word. The only thing that is speeded up in a 64bits browser is the initial "load time"
that take what 2 second ??

therefore, I'm asking the author again... with all current disadvantage of 64bits browser...  Why you need to run IE64bits again ?  knowing that answer, we could find an alternative answer to your problem.
0
Cloud Class® Course: Python 3 Fundamentals

This course will teach participants about installing and configuring Python, syntax, importing, statements, types, strings, booleans, files, lists, tuples, comprehensions, functions, and classes.

 
DrDamnitAuthor Commented:
The *32 bit browser keeps hanging for some reason with one specific program (the Keepass add-in, keeForm).

Since it appears to be instantiating an object from: $oIE = ObjCreate("InternetExplorer.Application"), I posted it here hoping that someone would recognize that methodology, and then be able to say:

"Try InternetExplorer64.Appliaction" or something like that.

My theory is: if we can create an object of the 64 bit instance, it will shellexec the 64 bit IE, and hopefully resolve the problem.

THoughts?
0
 
CitizenRonCommented:
Found something interesting that may explain this...

Launching InternetExplorer.Application x32bit on a x64-bit OS

This indicates that InternetExplorer.Application WILL be the 64-bit version if launched on a 64-bit OS.  My testing backs this up.  Running the following code on Windows 7 x64 will open up the 64-bit version of Internet Explorer, even though trying to launch IE through Windows defaults to IE 32-bit:
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate "http://www.google.com"
objIE.Visible = 1
Do While objIE.Busy
	WScript.Sleep 100
Loop

Open in new window

You can see the screenshot where it shows 64-bit IE being loaded from InternetExplorer.Application.
 64-bit IE from InternetExplorer.Application
Could this be the problem then?  The 32-bit IE is being loaded and then from inside it KeeForm tries to create a 64-bit InternetExplorer.Application object and causes the browser to hang?

Wouldn't this mean that you would need a 64-bit version of the KeeForm plugin and to also run it from the 64-bit version of IE for it all to work properly?
0
 
CitizenRonCommented:
Using the following code from that previous website link:
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run("%windir%\SysWOW64\wscript.exe ""K:\Programming\VBScript\InternetExplorerApplicationFormControls.vbs""")

Open in new window

Shows that it works to launch the 32-bit IE from InternetExplorer.Application
32-bit Google from InternetExplorer.ApplicationKind of a goofy way to make sure it's the 32-bit IE but it may come in handy.

Unfortunately, it doesn't appear that it would work in any way to help with the KeeForm problem.
0
 
DrDamnitAuthor Commented:
Participation points. Nothing here got the problem resolved. I am going with "it's not a bug, it's a feature".
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: C++ 11 Fundamentals

This course will introduce you to C++ 11 and teach you about syntax fundamentals.

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