Archive for June, 2010

Windows on Windows (WoW) in Server Core R2

As you’re probably aware Windows Server 2008 R2 is not available in a 32bit (x86) version. Only 64bit versions (both x64 and IA64) are available, but Microsoft happily provides 32bit Windows on Windows (WoW) support, so admins can install their favorite 32bit programs on top of their 64bit installations.

About Windows on Windows 64-bits (WoW64)

WoW (Windows on Windows) technology offers backward compatibility between a processor architecture and one downlevel processor architecture. There’s a 32bit version of the WoW technology. It allows compatibility with 16bit applications. x64 versions of Windows since Windows XP and IA64 versions of Windows since Windows Server 2003 also have WoW onboard. This version allows to run 32-bit application in our 64-bit environments.

WoW offers backward compatibility with one previous architecture only. WoW in 32-bit Operating Systems can run (some) 16-bit applications and WoW in 64-bit Operating Systems can run 32-bit applications. The drawback is you cannot run any 16-bit applications on Microsoft’s 64-bit Operating Systems.

About Server Roles and Server Features

Not every Windows Server is implemented in the same fashion. Therefore Microsoft has modularized most of the services a Windows Server can offer into Server Roles and Server Features. By adding a Server Role or Server Feature, an administrator can extend the services the server offers. Popular Server Roles are the File Server, Print Server and Application Server. Server Features aid Server Roles in delivering the services. The Failover Clustering feature in Windows Server Enterprise and Windows Server Datacenter for instance helps make a Server Role more redundant. Server Roles and Server Features can also be removed from a server, which will automatically delete the installed binaries, resulting in a more secure Operating System.

WoW as a Server Core Feature

With Microsofts ongoing strategy to further modularize the Operating System, it’s apparent Windows on Windows (WoW) became a Server Feature. With Microsoft Windows Server 2008 R2 being 64bit only, it’s a big plus the WoW functionality can be removed when unneeded or installed when needed.

Decision

When planning for Windows Server 2008 R2, the Server Core team had to decide between:

  • configuring Windows on Windows (WoW) as a Server Feature, installed by default.
  • configuring Windows on Windows (WoW) an optional Server Feature, allowing administrators to install it when they need 32bit support.

They decided to make WoW an optional feature and shipped as such as part of Windows Server 2008 R2 Beta.

Feedback

However, during the Beta period, the Server Core team received a lot of feedback on weird issues when administrators tried to install 64bit applications. Typically when installing a MSI package they would receive the following error message:

Error 1719. The Windows Installer Service could not be accessed. This can occur if the Windows Installer is not correctly installed. Contact your support personnel for assistance.

 

When looking on the Internet for a resolution, typically they would find advice to reboot the system, reregister the Windows Installer service, start the Installer service (net start msiserver) and grant the System account “Full Control” permissions to the HKEY_CLASSES_ROOT hive of the registry. These actions would typically not result in a resolution of the problem.

Running the following command line before installing the application, however, resolved the problem:

Dism /online /enable-feature /featurename:ServerCore-WOW64

 

After installing the application the above command could be run again, but this time with enable-feature replaced with disable-feature.

Apparently the installer wasn’t a full x64 installer and according to Andrew Mason, Principal Program Manager on the Server Core team, the issue occurred often.

Change

For the Release Candidate of Windows Server 2008 R2, the Server Core team decided to enable the Windows on Windows feature by default. From that moment on Server Core installations followed the same approach to 32bit compatibility as Full installations do.

This decision helps to:

  • make Server Core a more predictable installation type, because Server Core installations and Full installation offer the same 32bit compatibility out of the box.
  • avoid confusion, because the error is a very generic error.
  • give Microsoft the opportunity to communicate to developers to take into account Windows on Windows (WoW) and 32bit backward compatibility is not a given in Windows anymore.
  • give Developers time to clean up their acts.

The only downside to this decision is the binaries involved with Windows on Windows (WoW) are installed by default, resulting in a bigger footprint, higher memory usage and some attack surface.

Concluding

In a x64 Server Core installation of Windows Server 2008 R2, the Windows on Windows Server Feature is enabled by default. This change was made between Windows Server 2008 R2 Beta and Windows Server 2008 R2 Release Candidate. The change was based on feedback.

You can uninstall the WoW Server Role by executing the following command:

Dism /online /enable-feature /featurename:ServerCore-WOW64

 

You do not need the WoW Server Role on Server Core installations of Windows Server 2008 R2 to be able to install and run the Domain Controller role. (This was a bug in pre-release versions of Windows Server 2008 R2)

On Hyper-V Server 2008 R2 installations, Windows on Windows 64 support is not installed by default. One might argue this is the first true 64bit-only Microsoft Operating System…

Further reading

WoW64 Support on Server Core in Windows Server 2008 R2
WoW64
Running 32-bit Applications on Windows Server 2008 R2, Server Core
Implement Minimalist Solutions using Windows Server 2008 R2 Server Core
Q. How do I install or remove Windows on Windows 64 (WoW64) on my Windows Server 2008 R2 server core installation?
Wow64 support for 32bit applications – Quack
Slideshare – SVR309 What’s New in Server Core for Windows Server 2008 R2