One of the key decisions during a XenDesktop design is whether to use the 32-bit (x86) or 64-bit (x64) version of the Windows desktop operating system.  I’ve seen a few projects falter because they’ve opted for the 64-bit version without really thinking this decision through and I want to make sure that this doesn’t happen to you.

Question: What’s the benefit from implementing a 64-bit desktop operating system?

The primary benefit of a 64-bit operating system is that it allows you to assign significantly more physical memory to the desktop.  With the 32-bit version of Windows XP or Windows 7 you’re restricted to 4GB of physical memory (there are a few techniques available to extend this limit but they do not come without disadvantages – check out Daniel Feller’s blog post for more information).  However, with the 64-bit versions this limit is increased to 128GB for Windows XP and 192GB for Windows 7 Professional.

This sounds great, but how many people really need more than 4GB of RAM?  In my experience, this requirement is limited to a very small number of heavy users within the company, for example developers or designers.  Most people can get by very well with 2-4GB of RAM.  Another benefit of 64-bit operating systems is that they let you run 64-bit applications (applications specifically written for a 64-bit operating system will not run on 32-bit operating systems).  However, most 64-bit applications are also available as 32-bit applications.

Question: Even if most people don’t need 4GB of RAM, why not use the 64-bit version so that you have the flexibility to support more than 4GB of RAM in the future?  After all, application memory requirements are continuously increasing.

It’s a valid point, however the main issue with 64-bit operating systems is that they can’t support 16-bit applications and most companies still have some 16-bit applications hanging around somewhere.  Even 32-bit applications can have elements of 16-bit code in them (and many do!).  So what are the options?

1: Deploy a 32-bit operating system limited to 4GB of RAM for the majority of users.  Provide power users with a 64-bit operating system so that they can be assigned more than 4GB of RAM.

Note: For future reference, Windows 8 is available in both 32-bit and 64-bit versions.

2: Deploy a 64-bit operating system for everyone and use Microsoft Windows 2008 x86 with Citrix XenApp 5.0 to deliver 16-bit applications.

Note:  5.0 is the last version of XenApp released that supports a 32-bit version of Microsoft Server (Microsoft Server 2008).  Windows 2008 R2 is required for XenApp 6.x and is 64-bit only.  Mainstream support for Microsoft Server 2008  ends on January 13th, 2015 (extended support ends on January 14th, 2020).  End of Life (EoL) for XenApp 5 is also January 13th, 2015 (extended support ends on January 14th, 2020).

3: Deploy a 64-bit operating system for everyone and use VM Hosted Apps to deliver 16-bit applications from 32-bit desktop operating systems.

4: Deploy a 64-bit operating system for everyone and replace / re-engineer all applications to be 32-bit or 64-bit.

Question: Any other disadvantages?

Another disadvantage from selecting a 64-bit desktop operating system is that you will need to find 64-bit drivers.  Unfortunately, this is easier said that done and you may well struggle for some of the older drivers out there.

Question: So should I just go with 32-bit to be safe?

Unless you’re designing virtual desktops for people that need more than 4GB of memory, the simplest approach is going with a 32-bit desktop operating system (Hosted VDI or Hosted Shared).  I also recommend checking out Citrix AppDNA when selecting your desktop and application delivery methods.  It will tell you if an application is 16-bit or contains elements of 16-bit code, in addition to a wealth of useful compatibility information.

Andy Baker – Architect
Worldwide Consulting
Desktop & Apps Team
Virtual Desktop Handbook
Project Accelerator