Martin Heller
Contributing Writer

Wow64: A Blessing and a Curse

analysis
Jun 8, 20072 mins

I mentioned a couple of weeks ago that applications certified to run on Windows Vista must run on x64 as well as 32-bit Vista. Wow64 makes this easy for most 32-bit Windows applications: they automatically run in a 32-bit compatibility environment and never know the difference unless they check the IsWow64Process API. I said then that a tester had found that merely running certain applications would screw u

I mentioned a couple of weeks ago that applications certified to run on Windows Vista must run on x64 as well as 32-bit Vista. Wow64 makes this easy for most 32-bit Windows applications: they automatically run in a 32-bit compatibility environment and never know the difference unless they check the IsWow64Process API.

I said then that a tester had found that merely running certain applications would screw up the keyboard and mouse on Vista for x64. This report turned out to be irreproducible: as far as we can tell, it was a matter of a bad driver installation for a wireless mouse and keyboard. When I tried the same application on a laptop with Vista for x64 installed, I couldn’t make the problem happen. When the tester scrubbed his system and reinstalled everything from scratch, the problem went away.

Testing the application on 64-bit Vista made it clear that Wow64 is not an unalloyed blessing. For a system utility, the sandboxes drastically reduce what the program can do. A 32-bit program scanning the 64-bit registry can only see the registry hives under Wow6432Node. A 32-bit program scanning for running programs can only see itself and any other 32-bit programs running in the Wow64 environment.

Next week I’m probably going to have to build a 64-bit version of this C++ application. Based on what I went through 15 years ago making 16-bit Windows programs work on 32-bit Windows, I’m not looking forward to the exercise.

Martin Heller

Martin Heller is a contributing writer at InfoWorld. Formerly a web and Windows programming consultant, he developed databases, software, and websites from his office in Andover, Massachusetts, from 1986 to 2010. From 2010 to August of 2012, Martin was vice president of technology and education at Alpha Software. From March 2013 to January 2014, he was chairman of Tubifi, maker of a cloud-based video editor, having previously served as CEO.

Martin is the author or co-author of nearly a dozen PC software packages and half a dozen Web applications. He is also the author of several books on Windows programming. As a consultant, Martin has worked with companies of all sizes to design, develop, improve, and/or debug Windows, web, and database applications, and has performed strategic business consulting for high-tech corporations ranging from tiny to Fortune 100 and from local to multinational.

Martin’s specialties include programming languages C++, Python, C#, JavaScript, and SQL, and databases PostgreSQL, MySQL, Microsoft SQL Server, Oracle Database, Google Cloud Spanner, CockroachDB, MongoDB, Cassandra, and Couchbase. He writes about software development, data management, analytics, AI, and machine learning, contributing technology analyses, explainers, how-to articles, and hands-on reviews of software development tools, data platforms, AI models, machine learning libraries, and much more.

More from this author