The naysayers said it couldn't be done. Screenbert and his team has proven them all wrong by successfully virtualizing Internet Explorer 7 as they prepare for Vista. Get his detailed notes here.
- Issues with Internet Explorer 7 Deployment
- Is it possible to Virtualize Internet Explorer 7?
- What is Stand Alone mode and how does it work?
- Can I run Internet Explorer 7 and Internet Explorer 6 at the same time?
- Why would I want to this?
- How do I virtualize Internet Explorer 7?
- Final Thoughts
We are looking at deploying Windows Vista in the not too distant future. (If it ever gets released) As a stepping stone to get to this point we decided that deploying Internet Explorer 7 on our desktops would ease our transition. We could get all our web applications working and then move on to our other applications. In order to do this we knew we would need to test all of our web applications against Internet Explorer 7. We estimated that there would be around 200 applications that would need to be tested.
In order to get all of our application teams to test this we would have to go through an intensive internal process to allocate their time to this project.
This could be a show stopper or at least delay deployment for a significant amount of time. There would also be a tremendous amount of work in coordinating all of this.
So knowing about Software Virtualization Solution, I begin to wonder if it was possible to Virtualize Internet Explorer 7.
Yes it is. OK, everyone go home now. If only it were that easy. There have been other articles and tips written about virtualizing Internet Explorer 6, however they all focus on running Internet Explorer as part of a layer, even though it is not contained in the layer. This results in the ability to dump changes to the file system and registry values. This is great since Internet Explorer 6 is included in Windows XP. However we want to virtualize Internet Explorer 7 which is not included and therefore we want to actually include it within our layer.
My first thought was to run through the installation of Internet Explorer 7 and just use that for my capture. Knowing it wouldn't be that easy, I Instead performed a google search on IE7 and IE6 and found that there was a web programmer that had figured out how to have both INSTALLED at the same time. In order to do this he ran Internet Explorer 7 in standalone mode. Even so he could not RUN both at the same time, only one version at a time.
I had never heard of running Windows in Stand Alone mode, however some research found that since Internet Explorer 3 was released they had a way for Windows to have multiple versions of Internet Explorer running on your machine by creating an "iexplore.exe.local" file in the same directory as the iexplore.exe file.
When Microsoft Released Security Bulletin MS05-054 for Internet Explorer last December they snuck in a change that broke the Internet Explorer Standalone Mode, so that if you want to run Internet Explorer 7 along with Internet Explorer 6 on your machine you have to have Internet Explorer 7 fully installed. Jon Galloway documents this well in the article listed in the Resources section below and points out that people could get standalone to work, but it required that you modify registry values before and after opening Internet Explorer 7, so that your Internet Explorer 6 would still work. He created some batch files that worked around this. There are numerous web references on doing this, but his method seemed to be the most comprehensive.
Absolutely! I've modified an installation batch file for Internet Explorer that I will post as a tech tip that will assist you in this. Basically you download the Full version of Internet Explorer 7 (RC1 is the latest that is out) Start your capture, extract the files into the directory you want Internet Explorer 7 to be in, modify some registry keys and end your capture. You will also need to install a hotfix included in the Internet Explorer 7 package so that Internet Explorer 7 will allow for tabbed browsing. It does not require a reboot and should not be included in your virtualized application, since the Software Virtualization Solution does yet support virtualizing patches. I'd also recommend creating a shortcut on the all Users desktop or at least on your desktop.
Once you have done this and activated the layer, you can run Internet Explorer 6 and Internet Explorer 7 at the same time. I haven't seen any issues yet, but remember as of right now Internet Explorer 7 is still in release candidate mode.
This business case for doing this would be to allow a person to deploy Internet Explorer 7 to their Information Technology department and eventually the entire enterprise, allow people to use both, and then to document any issues encountered and create an exception list of machines that cannot run Internet Explorer 7. If there are any issues with the Internet Explorer 7 layer you could easily deactivate the layer. You could then deploy the actual Internet Explorer 7 to all machines except for your exception list and get rid of the SVS layer. Who knows, some organizations might want to keep both around. I would see some issues in doing this on a long term basis, since Internet Explorer gets patched pretty often.
This would be especially useful for your Information Technology department as they are developing their web pages and applications. Instead of having to manage a Virtual PC or another system running a different version of Internet Explorer they could have both running thereby allowing them simplified testing.
Remember Internet Explorer is considered part of the operating system, so I would carefully plan out any deployment using this. I am sure Microsoft would not support this configuration in any shape, fashion or form. Also some people might counter that now you have to test two versions of Internet Explorer, so you are actually creating more work. Plan twice, implement once.
Ok here's the part you have all been waiting for. Follow these steps as outlined in the Tech Tool Readme.txt file.
I've included screen captures for this article to ease your layer creation. Since I'm not sure on the licensing of Internet Explorer I will be not be posting the VSA, only these instructions on creating your own.
- Download the full version of Internet Explorer 7 Release Candidate 1 from http://www.microsoft.com/windows/ie/downloads/default.mspx
- Start the SVS Admin tool, click File, and Create New Layer.
- Select the Install application Radio button and click next.
- Enter Internet Explorer 7 Standalone for the layer name and click next.
- Choose global capture and click next.
- Click Finish to begin your capture. Remember everything you do is now being captured in the layer.
- Create a folder called C:\Program Files\IE7Standalone
- Copy the Internet explorer 7 executable the folder created in step 7.
- Copy the registry file and batch/command file to the folder created step 7.
- Execute the "IE7 Standalone setup.cmd" batch file.
- Right Click on the iexplorer.exe and drag the icon to the desktop to create a shortcut. You can also create a shortcut in the all users directory if desired.
- Right Click on the SVS Capture icon on the taskbar and choose Stop Capture.
To enable the tabbed browsing (This installation should not be virtualized):
- Activate the Internet Explorer 7 layer you created in the step above.
- Copy the C:\Program Files\Ie7StandAlone\Installation\Update folder to a network share.
- Deactivate the Internet Explorer 7 layer.
- Execute the hotfix by running C:\Program Files\Ie7StandAlone\Installation\Update\xmllitesetup.exe
I currently do not know of any way around installing the hotfix for tabbed browsing, but since it does not require Internet Explorer 7 to be fully installed or a reboot, it does not seem to pose a huge issue.
Group Policy still seems to work fine against Internet Explorer 7, although you might want to tweak various settings before giving it any large groups. I'd recommend getting to an internal test group before allowing anyone within your Information Technology department to use it. Well that is it for now, I am on to my next project, virtualizing Windows Vista. ;)