WoW64 is optional in Windows Server 2008 R2 Server Core

Installation bootstrap applications are increasingly common as products chain dependencies like the Microsoft .NET Framework. Because 64-bit Windows supports both 32- and 64-bit execution, but 64-bit executables on 32-bit Windows give what some users might consider cryptic error messages, installation developers often ship a 32-bit bootstrap application that runs in either environment. Then in scenarios when a required package installs only in 64-bit Windows, the bootstrap application can present a friendly actionable error message.

Microsoft Windows supports 32-bit execution on 64-bit Windows with Windows-on-Windows 64-bit (WoW64). But what if WoW64 wasn’t available?

To support deployment to more constrained systems and to install with a smaller footprint to secure and maintain, Windows Server 2008 R2 Server Core offers WoW64 as an optional feature.

What does this mean for installation developers? Overall, 32-bit executables will not execute since the WoW64 subsystem is not installed. More specifically,

  • 32-bit custom actions will not execute. Windows Installer will fail create a custom action server with error code 308.
  • 32-bit bootstrap applications will not execute. You can expect error code 308 and the error message, “The subsystem needed to support the image type is not present.”

However,

  • Packages attributed to support the Intel platform will install as long as they do not contain 32-bit custom actions.

But this is really no cause for alarm. This only applies to Windows Server 2008 R2 Server Core designed to provide one or a few roles or features in an enterprise. They aren’t designed to run client applications. Administrators aren’t likely to install many applications on Server Core. And in Windows Server 2008 R2 Server Core WoW64 is enabled by default based on customer feedback from beta 2.

If you need to support server core and have 32-bit components to install, consider separate packages for 32- and 64-bit instead of a 64-bit package that contains 32-bit components and custom actions. This will allow for flexibility in supporting 32-bit only, 32- and 64-bit mixed, and 64-bit only installation. More work may be required to support processor-independent data files and other resources.

But remember this is only if you need to support Server Core. Most installation developers should have no cause for worry regarding the absence of WoW64.