First off, I love a good application virtualization challenge.  This one provided exactly that, there was a lot of packaging, repackaging, adjusting and comparing along the way but in the end we ended up with a virtualized application that performed fast and 100% of the time.

<strong>The use case</strong>:  Our customer needed a way to deliver the Nexterna Clearview Client to users with Internet Explorer 6 as the compatible browser.  Due to a recent SharePoint 2010 project, the Citrix servers needed to be Internet Explorer 7 or 8.  Easy answer, virtualize IE6 with ThinApp and run it side by side on the same server with IE8.  Utilize ThinDirect to send all users accessing the Clearview web application and associated client install to the virtualized IE6 and leave all other traffic for IE8 to provide.

The application must run on a 32bit W2K3 operating sytem and SOAP 3.0 and MDAC 2.8 are dependencies.  We started off packaging the application on a clean XP virtual machine.  Success! (or so we thought) The application built and ran when performing testing in the Dirty, Washed and Clean (see <a href="http://blogs.vmware.com/thinapp/" target="_blank">@ThinAppGuru Travis Sales ThinApp Methodology</a>) states.  When moved over to the Windows 2003 server we found that the ActiveX controls failed to load properly and Clearview uses ActiveX controls for all of it's operations besides the main menu.  To clarify, the ActiveX controls seemed to load but they failed to display, no errors.

So we dug in, and by we I mean we.  We started examining the package and ensuring all the DLLs and OCX files were picked up and registered correctly by the packager.  Everything looked good.  Still worked on the XP machine (even on the Clean snapshot) so we were confidant that everything on the XP build was being packaged properly.

After working for several hours with Travis Sales at VMWare and trying several different sandbox configurations, browser settings, etc... we decided to try a different packaging environment.  Went with a W2K3 SP2 build.  Again, the packaging process went off without a hitch.  However, this time it worked on all platforms and we finally had a successful ThinApp package.

After doing using Beyond Compare to compare the XP capture vs. the W2K3 capture we noticed several small differences that could not be explained away easily.  Several CLSID objects in the HKLM registry directly related to the OCX files that did not appear in the XP package and a few different file sizes of core DLLs that could explain the difference in operation.  The general thought is that the Nexterna Clearview Client is at some level OS aware of what environment it is being installed to and the installer leaves out critical files/registry entries needed for server operation of the virtualized environment when being packaged in a XP environment.  We are still pursuing the loose ends but it was a good case of how utilizing a good packaging methodology can help isolate unknowns and allow you to make assumptions and test those assumptions while moving towards a successful ThinApp package.

Til the next app...