[Editor Dec 14 Update: IE 7 is now certified with the E-Business Suite. See Microsoft IE 7 Certified with Apps 11i.]
In this fourth post of our increasingly inappropriately-named trilogy (kudos to Douglas Adams), we expand on the concept of why you might want to test pre-release versions of Internet Explorer, by discussing how to do your pre-release testing, and how to do so safely.
But first, I'd like to provide a quick update on my previous post. In there, I mentioned that Microsoft would be delivering Internet Explorer 7 via Automatic Updates, and that you might want to take steps to avoid it showing up by surprise. Well, it turns out Microsoft won't becatching users completely by surprise; unlike other auto-updates, this one will come with a warning dialog, requiring users to explicitly accept the upgrade.
Nevertheless, forearmed is forewarned, and use of the blocking tool iscertainly the safer and better recommended approach.
What Sounds So Easy Isn't
In an ideal world, you should be able to try new software alongside old software to make sure you like it and that it works with complex web-based software such as Oracle E-Business Suite before getting rid of your old software. You may have gotten the impression that this should be pretty easy, especially if you read the article that covered how to do this with Firefox 2 Beta.
Well, the good news is that Microsoft makes it very easy to download and install IE 7 Beta for testing. But the bad news is that Microsoft is digging in its heels when it says that IE is "part of the operating system". This means that it's all but impossible to run IE 7 and IE 6 at the same time.
There are several approaches you can take, some fast and easy, and some difficult and resource intennsive. Unfortunately, the easy ones are the least complete, and the most accurate way to test is the hardest. I'll discuss three options, starting with the safest and most supported method, and move in increasing levels of kludginess.
The Box Inside the Box
Microsoft's official recommendation for testing IE 7 is to use a separate PC that does not contain any mission-critical applications on it. In the world of practicality, this barely enters the atmosphere, since it's the mission critical apps that you want to test the most.
So Microsoft's official solution to this is virtualization. Steven already discussed this topic briefly in an older blog entry, as related to E-Business Suite. In this case, you can use a tool such as VMWare Server 1.0 or Microsoft Virtual PC 2005 -- both totally free -- to create a virtual instance of Windows running on your machine.
It's an elegant, easy-sounding solution, but isn't just for anyone. First, it requires that you have access to a Windows XP install CD, or a previously created virtual image that was made in your organization. (Unlike Linux-based images that can be distributed freely, the licensing requirements of Windows insist that you create your own virtual images, with your company's serial key and activiation codes.) Second, it requires a lot more physical resources: while the browser requires only a negligible amount of disk space and RAM, an entire virtual machine for Windows requires about 8-10 GB of disk space, and a machine with at least 1 GB of RAM (but 2 GB is recommended).
However, if you can manage to leap past these hurdles, the upshot is that you'll have a virtual copy of Windows XP, where you can safely upgrade to Internet Explorer 7 and do your testing in a fully-supported, yet isolated fashion. The image above shows IE 6 running on a host OS, side-by-side with IE 7 running in a guest (virtual) OS.
Only for the Truly Brave
Technically, there is one other supported method for testing Internet Explorer 7, and that's by installing a pre-release copy of the forthcoming Windows Vista client. Release Candidate 1 of the new operating system is available for open testing, and if you really feel brave, you can install this on a new machine (or, unofficially, in a virtual machine), and use the version of Internet Explorer that is included in the OS itself.
For the record, this version of IE is actually "Windows IE 7 in Windows Vista", as opposed to "Windows IE 7 for Windows XP" [emphasis added by me], which you can download separately. No, I'm not making up those product names. Although these are actually separate products, the additional features in the Vista version -- Protected Mode, Parental Controls, and improved Network Diagnostics -- are all beneath the covers, so you shouldn't notice any differences for the purposes of testing basic web usage and how pages render.
While this approach doesn't require any fewer resources, you at least get the added bonus of experimenting with the new Windows client UI as well, if that's your idea of fun. (Tell your boss you're "getting a headstart.")
Using the Back Door
Back in the Good Ol' Days of Internet Explorer 5.0, Microsoft included a "compatibility" option in their install that allowed users to keep IE 4 on their machine, while running IE 5 alongside. This was mostly a nod to web developers (and the relatively fewer corporate users that existed at the time), as Microsoft understood the need to test web sites against and run them with older browser versions until the newer versions took a significant enough foothold and were fully supported. Starting in IE 5.5, this practice was no longer officially supported, but the feature remained present in an undocumented form, through which users (mostly savvy web developers) could install IE in its own directory and, by the presence of a "secret" file, instruct it to only load DLLs only from that directory. This worked up until the latest version, IE 6 Service Pack 2.
For better or for worse, Microsoft implemented new security restrictions in IE 7 that require the addition of over 1500 new registry entries in order to run the browser, effectively closing that hole (or at least making it much, much harder to exploit), and thus forcing developers -- and users -- to take drastic steps to work with IE 7 Beta without giving up their fully supported IE 6 installation. If you're really under the gun, and need to do some work with IE 7, but you don't have time to set up a separate machine or a virtual machine, you might want to try this "standalone" version of IE 7.
Fortunately, it's very easy to try. Everything you need, including instructions and links to download the necessary pieces, can be found at http://tredosoft.com/IE7_standalone. (If you prefer to see what this program is doing, you can follow this alternate link to Jon Galloway's blog. Jon is the pioneer in reverse engineering all this registry work that Microsoft has done, and most of us have him to thank for coming up with this approach.)
Here's how it works: you download the latest IE 7 version, but extract the files into a directory, rather than installing it. You'll also need to apply a minor update to some XML files. Then, you will use a standalone launch program (IE7S.exe) to launch the browser. This program will automatically populate your registry with many of the required entries to run IE 7, then clean them out when you exit the browser, restoring your system to its original state.
While this approach seems as elegant as the old days, I must warn that there are some severe caveats here. Most notably, many of IE7's new features (and some old ones) don't work, including RSS feeds, favorites, the search box, and the menu bar, because the necessary registry entries have yet to be uncovered and incorporated into the standalone launch program.
For the purposes of testing web site compatibility and page rendering, this approach is generally acceptable, if limited. Nevertheless, the program is fairly crippled without a complete set of registry entries to work with -- even drop-down menus weren't working in the last version I tried. So if your primary goal is brief compatibility testing -- particularly if you have a lot of advanced Cascading Style Sheets (CSS) -- and you don't want to spend a lot of time and resources on setting up a VM, then this is something worth considering.
The Low-Tech Approach
Finally, I would be remiss in not mentioning one last option: just go ahead and install IE 7 for testing, and uninstall it when you're finished playing with it. The uninstall has been well tested by many users and is reportedly very clean now, but I would still do a full backup of your OS ahead of time, just to be safe.
Note that in order to uninstall IE 7, you'll need to check the "Show updates" option in your Add/Remove Programs applet, then look under "Windows XP - Software Updates" in order to find it.
Microsoft also promises that users can uninstall IE 7 at any time, even after the final version is pushed down to users, and revert back to a fully working version of IE 6 Service Pack 2.
While this approach is certainly easy and safe, it doesn't fully meet the qualifications of our experiment, which is to leave you with a supported version of IE in place while doing your testing. So be sure to install the latest copy of Firefox so you can access E-Business Suite in the meantime, if necessary.
Before you head out and start using IE 7, I want to recommend a few additional links for more information.
- Microsoft hosts an IE 7 Readiness Toolkit, which consists of documents all kinds of detailed information on deploying and developing for the new version of IE.
- The IE-Vista site contains what I believe to be the most comprehensive list (outside of Microsoft's own bug reporting system, which is anything but easy to browse) of known issues with the beta and release candidate versions of IE 7. If you're having problems, you should definitely check here first.
- It's never too late to give Microsoft your feedback (though that's not to say it isn't too late for anything you report to get fixed in the final version of IE 7). You can sign up to participate in Microsoft's Beta program by visiting Microsoft Connect, which will give you access to early (non-public-release) test builds, as well as mechanisms for providing feedback directly to the product teams on issues you may encounter.
Go Get Started
I hope this series of articles on pre-release browsers has been useful to many of you. Exploring new technologies is interesting for some, and important for others, but the difficulties that can lurk in the shadows often make people more reluctant to experiment. With the right amounts of preparation and advanced knowledge, however, the seemingly impossible can become a realistic plan of attack.