Using Firefox, HttpWatch and Internet Explorer on Vista 64-bit
May 9, 2009 in Automation , C# , Firefox , HttpWatch , Internet Explorer , Javascript
The 64-bit version of Windows Vista is becoming increasing popular due to its ability to access more than 4 GB of physical memory. To an ordinary Windows user, there are few noticeable differences from the 32-bit version because it can run both 32-bit and 64-bit programs.
In this post we wanted to answer some of the questions you may have about Windows Vista 64-bit and the effect it has on the use of Firefox, HttpWatch and Internet Explorer (IE).
How can I tell if a program is running in 32-bit or 64-bit mode?
The Task Manager on Vista 64-bit shows 32-bit tasks with a ‘*32′ after the process name. If there’s no ‘*32′ after the name then it is running in 64-bit mode. This screen shot shows a 32-bit process called page_check running on Vista 64-bit:
Why does IE run in 32-bit mode by default on Vista 64-bit?
Clicking on the launch bar IE icon in Vista 64-bit starts the 32-bit version of IE:
A 64-bit version of IE is available but you have to explicitly select it from the Start menu:
Microsoft has done this because the 64-bit version of IE can only load 64-bit browser extensions and most extensions, such as the Adobe Flash player, are only available in 32-bit.
Here’s what Adobe says about 64-bit support:
Adobe Flash Player is not supported for playback in a 64-bit browser. However, you can run Flash Player in a 32-bit browser running on a 64-bit operating system.
…
Adobe is working on Flash Player support for 64-bit platforms as part of our ongoing commitment to the cross-platform compatibility of Flash Player. We expect to provide native support for 64-bit platforms in an upcoming release of Flash Player following Flash Player 10.
Without the Flash player, you can’t use sites like YouTube or BBC iPlayer. That’s a non-starter for many web users and the reason why 32-bit IE is the default on Vista 64-bit.
Microsoft is also putting off 64-bit support in Silverlight until other 64-bit extensions are available:
Right now our plan is to run SL in 32-bit mode (and not have a 64-bit native version). This is mostly because other browser plug-ins (and most browsers) don’t support 64-bit yet. We are looking at adding native 64-bit support in the future though.
Can I run Firefox in 64-bit mode on Vista 64?
There’s currently no official build of Firefox for 64-bit Windows as stated in a Mozilla support forum:
There are no releases or nightly builds of 64 bit Firefox for Windows from Mozilla as the earliest release to likely have 64-bit versions is Firefox 4.0. The only option you have is either roll your own or use a third-party build.
There’s little motivation for the browser vendors to go 64-bit because unlike other applications, such as memory hungry video editors or database servers, web browsers will not see significant performance benefits in 64-bit mode and there is also the problem with the lack of 64-bit extensions.
Can I use HttpWatch on Vista 64-bit?
Yes, you can use HttpWatch on Vista 64-bit but it is currently only available in 32-bit. This means that the HttpWatch plug-in can only be used in the 32-bit edition of IE. We will provide 64-bit plug-ins when Adobe, Microsoft and Mozilla provide significant 64-bit support.
The automation interface can be used from 64-bit programs without making any changes so as long as you have HttpWatch version 6.1.32 or later.
In some cases, such as accessing a .hwl file opened with the OpenLog method, you may see reduced performance in a 64-bit program. This is because the 64-bit API support in HttpWatch uses a separate WIN32 process rather than directly loading the API. To avoid this issue make sure that your client program runs 32-bit (see below).
Can I use the HttpWatch version 5.x automation on Vista 64-bit?
This will work, but you will need to ensure that your program runs in 32-bit mode. Otherwise, you will see this error when you attempt to create an instance of the HttpWatch controller object:
Unhandled Exception: System.Runtime.InteropServices.COMException (0x80040154): Retrieving
the COM class factory for component with CLSID {C4CEDB78-2B64-4703-99BE-A037A849D703}
failed due to the following error: 80040154.
If you’re seeing this error with HttpWatch version 6 make sure that you’ve installed version 6.1.32 or later.
How can I get my HttpWatch automation program to run 32-bit?
As mentioned above, you will need to ensure that a program using the HttpWatch automation API runs in 32-bit mode if:
- You are using HttpWatch version 5.x
- You want to improve data access performance on log files that are opened using the OpenLog method.
.Net projects (e.g. C# or VB.Net) have a default configuration setting of ‘Any CPU’. This causes them to automatically run as a 64-bit process on Vista 64-bit. To force them to always run 32-bit you’ll need to change this setting to ‘x86′ in Visual Studio:
Script based programs, such as Javascript or VBScript, that use the Windows Scripting Host will normally run in 64-bit on Vista 64-bit because cscript.exe and wscript.exe are 64-bit programs. You can force the use of 32-bit by using the script programs that are installed in the Windows\SysWow64 directory:
The sample automation code that is installed with HttpWatch version 6.1.32 or later, uses the ‘x86’ setting in C# projects and includes instructions on how to run the Javascript samples in 32-bit mode.