I’m getting lots of inquiries lately about streaming different versions of Internet Explorer to a single machine and running them under isolation, concurrently.  The common thread is “we’re moving to IE8, but I have a bunch of these web applications that absolutely insist on IE6.  I’d like to install IE8 locally and stream IE6, can you do that?”

Isolating Internet Explorer vs. Streaming Internet Explorer

In 2008, I wrote a post on running Internet Explorer under isolation with streaming of plugins, Java runtime and configuration data captured at profiling.  This is handy, but it is not what people presently need.  

In that post, I touched on why Internet Explorer is “special” because the streaming system launches iexplore.exe as a locally installed application, AIE style.  To accomplish this, IE profiling is an “advanced install” in the streaming profiler, which also runs the locally installed version of IE where it captures addon installation and configuration changes.  This is good, but it doesn’t solve the need of running multiple versions of IE on the same computer and doesn’t deliver the application “RADE” Style.

Why is Internet Explorer special?  Because it’s “part of the operating system” and while installers exist, uninstallers do not exist.  To profile the installation of any application, a “clean” machine is needed and it is very difficult to get a “clean” machine for profiling Internet Explorer.  Once get a clean machine, the profiling activity SHOULD be the same as any application.  Interestingly, once we know what it wants to write, we COULD define a bunch of “strictly isolate” rules and profile on any machine.  I’ll save that for another day.

How to get a clean machine?

When installing Hyper-V recently I had a moment of clarity; the “Core” Windows Server OS installation lacks Internet Explorer.  It also lacks a Windows Shell, but stick with me on the important part, there is no IE.  All you get is a command prompt, and my DOS history comes back to happiness.

Windows Server “Core” OS installation are the ones for data center operation, primarily for web servers.  “Core” comes in 32-bit and 64-bit flavors on Server 2008 and just 64-bit for Server 2008 R2.  Beautiful part of both of these is that they are … IE Clean!  I’ll call the Server 2008 one “Vista” and the R2 one “Win 7”.

Thought process

  1. Install Windows Server Core
  2. Install Streaming Profiler
  3. Profile installation of IE
  4. Run the app on the equivalent client OSes

Tried it.

Result: Streaming profiler installation craps out on a pre-req for .NET 2.0 runtime.

A small headache, but easily solved by installing the .net 2.0 runtime.

Result: Fails.  Dot NET 2.0 installation REQUIRES Internet Explorer 5.01 be installed. Awesome!

Here’s a screen capture

If at first you don’t succeed, try, try again.

The streaming system needs .NET 2.0 to support the streaming profiler GUI; everything else is C++ native code.  If I install without .NET 2.0, the profiler GUI won’t work, but everything else should be good.  I can then write a small program using the streaming profiler SDK to kick off the profiling of IE, sans .net 2.0. 

Answer: I can’t easily convince the profiler to install without .NET 2.0.  Hum.  Who wrote this?

Can it be adjusted?  Definitely!  As architect of this gig, I have access to the source code for the installer and have access to smart programmers who can tweak the install.  BUT – That’s not a “customer reproducible” process, so need to go another route.

Enter AdminStudio from Flexera Software (formerly known as Acresso and Macrovision)

Got some kind help from Citrix IT profiling expert Kevin McLeman.  Installed AdminStudio on the machine.

1) Capture a system image “before”.

2) Install Internet Explorer 6

3) Capture an “after” image.

4) Diff the two – figure out what has to be modified to fully “install” IE6 including all files and registry.

5) Use output of “4” as input to the streaming profiler on another box to hand paint the installation image.

Survey says…

Internet Explorer 6 declines to install on 64-bit machines.  It isn’t that the installer doesn’t like my 64-bit machine, it just doesn’t like 64-bit machines in general.  I had no idea!  The problem just got easier. 

Customers want IE 6 profiled under Application Streaming and I have now figured out that this is a 32-bit only question.

One day gone, but I’m a bit closer to solving this puzzle.  Look for a “phase 2” of this blog post after I get done installing a 32-bit “Core” server.

Joe Nord

Citrix Systems

Product Architect – Application Streaming and User Profile Manager.