Yesterday, Microsoft made the beta version of App-V 4.6 available for download. The big feature about 4.6 is the support for 64-bit client machines.
We have been working with earlier versions that Microsoft made available as part of the private TAP program, but have been unable to talk about this due to the NDA attached. Now that we have a public beta we can talk about what is in the Beta.
The 4.6 release is based on the 4.5 release, and as a point release one expects to not find a lot of new features. But Microsoft has surprised us in the past, such as including Dynamic Suite Composition in 4.5. So it is no surprise that 4.6 has one new big feature.
Welcome to 64 bit
By far, the most important thing about 4.6 is the support for 64 bit. Customers have been wondering when this product will support 64-bit for years. We have been waiting and watching others support x64 operating systems. Sure, the back-end server parts could run on x64 operating systems, but it was impossible to install the client on x64 desktop or terminal server operating systems. Fortunately for Microsoft, even though we all “knew” we needed a 64-bit client they actually had time due to unexpected other issues.
In the Terminal Server world, we all “knew” that we needed terminal services running on a 64-bit OS, and were ecstatic when Microsoft released Server 2008 supporting both 32-bit and x64 flavors. The problem we had with Server 2003 Terminal Services was simply one of memory. Even with PAE allowing us to stuff more than 4GB memory into a server, the issue was one of shared kernel memory space which was still limited to 2GB no matter how much memory was in the box. The limited number of PTEs (Page Table Entries, which is how the OS keeps track of all of the virtual memory pages) that could be stored in the kernel imposed a practical limit on the number of users you would support on a 32-bit operating system. But what we didn’t “know” at that time has delayed adoption of the x64 OS. This has been due to three reasons, one due to something smart that Microsoft did, another due to something Microsoft didn’t do, and a third hat someone else did (and Microsoft is catching up on).
First, as part of the 32-bit Server 2008, Microsoft reorganized kernel memory which eased up the PTE limit somewhat. Second, when Microsoft released Vista and Server 2008 they made many other changes that required ISVs (Independent Software Developers) to re-write their drivers and change other coding practices. Ultimately, Microsoft failed to motivate the ISV community to re-write their software in time for the releases, which soured the community on those releases. Third, the enormous sudden popularity for using Virtual Machines (lead by VMware, with Xen/Citrix and Microsoft catching up) allowed customers to put multiple 32-bit server OSs on a single larger server. While significantly less performing than a single 64-bit OS on the same hardware, it allowed customers to ignore 2008 and the driver issue, even long after the issue was solved.
With 2008 R2 only being released in 64-bit, the lack of a 64-bit App-V client for terminal services made this situation simply unacceptable. For scalability, customers will (should?) be ready to move to Server 2008 R2. For top performance from today’s hardware this will be natively installed without a hypervisor, but some customers will choose to deploy on a hypervisor with just one guest anyway (the typical reason given is for ease of backup/recovery, but if the images are being stored on a highly available SAN device the customers may want to re-think that idea).
Wow, it's 64!
The 64-bit support on the App-V client means that the client may be installed on a x64-bit OS. Support for the Itanium 64-bit version of the operating system is not provided. This is because several key user-mode components are still 32-bit, running in the WOW (Windows on Windows). But make no mistake, this fully supports 64-bit.
Where we previously had two client installers (one for Desktop OS and one for Terminal Servers), there are now four client installers as the installers are separate for 32 and 64 bits. As much of the client runs in the kernel, those portions of the client must be in the native 32 or 64 bit form.
In addition, the 64-bit client needs to worry about the WOW. In my testing I have found that I can virtualize both 32 and 64 bit applications and run them on the 64-bit client. In most cases, I have been able to run 32-bit applications that I sequenced on older versions of the sequencer, even on the 64-bit client.
Wow, it's not!
What you don’t get, which I am finding people asking for, is support for 16-bit applications on the 64-bit OS. But don’t blame App-V for that one. 16-bit applications are supported on the 32-bit OS by some OS components called WOW16 (commonly referred to as “ntvdm”). Microsoft chose to remove WOW16 from the 64-bit OS when they implemented WOW32.
It is like I always say about App-V: it solves application conflict, not application compatibility. If the application will not run natively on the operating system, adding application virtualization is not going to help.
Other changes in the release are quite minor. The Sequencer has some small changes, as Microsoft continues to try to make using the sequencer easier. These changes, which pretty much amounts to a new starting screen when you launch the sequencer and removal of unnecessary dialogs in the wizard, are more cosmetic than anything. But some “old-time” people may be annoyed. For example, they removed the option to set the block size. Further, they changed the setting from the old default of 32kb to 64kb. Even though I’m old-time, I like the change. I always turn on compression and I know that since compression is performed on these blocks independently of each other, using the 64kb block will provide better compression ratios, resulting in smaller server storage and smaller transfer over the network when streaming. So I may be old-time, but I like the changes, and want even more.
The sequencer now has new tags for OS version limitations. While the sequencer GUI shows 64 and 32 bit OS versions for each of the appropriate OSs, the XML attributes for he 32-bit OSs remain unchanged and the XML adds 63-bit OS options.
The dedicated Server components of App-V have also been updated, although not the focus of the release. The SCCM server components are also being updated, but that is part of a separate release (SCCM 2008 R2). Of note of importance there, is that Microsoft corrects the very dangerous bug that allowed an administrator to inadvertently wipe out all of their previously deployed virtual applications on the site server when adding a new virtual application.
Microsoft is delivering 64-bit support for virtual applications much later than many of us asked for, but in reality they are delivering everything we need in 64-bit “just in time”, although in Beta form. This Beta supports both 64 and 32 bit virtual applications running on a x64 operating system.
Microsoft has previously announced release availability if the first half of 2010 and has not made any mentions of changing this date, even though Windows Server 2008 R2 has moved up. The announcement on the MDOP Blog also mentions that there will be a new 4.5 based update to the 4.5 CU1 release (which supported Windows 7 32-bit Beta clients) within 90 days of Windows 7 General Availability. Since 4.6 also supports the Windows 7 32-bit clients, this would seem to indicate that Microsoft does not intend to move the 4.6 release date up, but who really knows?
I have been significantly impressed with the quality of 4.6. Even from the first private beta, the software has been rock solid.
Get the Beta from Microsoft Connect .