Install IE8 on Windows 7 VM
2014-07
I created a Windows 7 x64 VM on Windows Azure but it came with IE11.
So I removed IE11 from "Turn on and off Windows Features". After reboot, it still doesn't give me an option to rollback to IE8.
I found a download link from Microsoft for IE8 but they are not for Windows 7.
You're digging in the wrong place :-) If you remove it from Windows Features, it simply removes Internet Explorer entirely. You don't want that.
Instead, go to Control Panel -> Programs and Features -> Uninstall a Program. Then click the "View Installed Updates" link on the left. You should see IE 11 in that list. Remove that, and it will roll you back to whatever was on it before IE 11 got installed.
Worst case scenario, you'll have to do this several times (once to IE 10, then IE 9, then finally, IE 8)
I want to set IE to start with arguments every time launch it or he get invoked by an another process.
The argument is -nomerge
Well-behaved programs will use ShellExecute
/ ShellExecuteEx
to launch URLs rather than executing iexplore.exe
directly (so that they launch whatever browser you've set as default). Therefore, you could search the registry for occurrences of iexplore.exe
, and (you'll have to use your judgement here, I'm not going to list all cases) where it is referring to an executable path (but not to fetch its icon), add the argument you want. You'll also have to add the argument to all shortcuts which point to iexplore.exe
, which there shouldn't be too many of - on the start menu and quick launch bar; maybe on the desktop.
Browse to this path
HKEY_CURRENT _USER\Software\Microsoft\Internet Explorer\Main
and set SessionMerging
to 0
or Newer OSs:
HKEY_CURRENT _USER\Software\Microsoft\Internet Explorer\Main
and set FrameMerging
to 0.
The registry file would look something like this:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"SessionMerging"=dword:00000000
"FrameMerging"=dword:00000000
I can't think of a good solution for your question which doesn't involve monkeying with iexplore.exe.
I haven't test the solution offered below (which frankly I find a bit extreme even if it might answer your post):
Rename
C:\Program Files\Internet Explorer\iexplore.exe
asC:\Program Files\Internet Explorer\iexplore.orig.exe
.Open notepad, paste this in, and save it as
C:\Program Files\Internet Explorer\iexplore.bat
@echo off
"C:\Program Files\Internet Explorer\iexplore.orig.exe" -nomerge %*Using a batch file compiler, such as Quick Batch File Compiler or Batch File Compiler Professional, compile
iexplore.bat
toC:\Program Files\Internet Explorer\iexplore.exe
With this solution, "iexplore.orig.exe -nomerge" will run whenever iexplore.exe
is invoked.
Some notes:
- You will need to repeat this procedure whenever Windows Update replaces iexplore.exe.
- You might need to carry out this procedure while booted in Safe mode.
There is a new registry setting for IE8 that appears to do the same thing as -nomerge
. The new IE8 behavior that -nomerge
defeats is a result of the process model change, and you can undo that with a registry setting. Create a DWORD
value called TabProcGrowth
in:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main
The default setting is <absent>
, you should first try 0
which will use the IE7-style process model. If that does what you want, then also try 1
which will give you some of the new features. Numbers greater than 1
may also be useful. More info is here.
Certainly you could replace iexplore.exe
with iexplore.cmd
or even a small program that executed the real iexplore.exe
that you have hidden off somewhere, with new arguments. This poses a few problem, as Windows itself will clobber iexplore.exe with new versions and various protection mechanisms that come and go. I would definitely try the registry key first.
Instead of fiddling with shareware, just use a compiled language and make a second binary. Name iexplore.exe
to iexplore2.exe
, drop this in the directory along with it, and away you go:
#include<windows.h>
#include<shellapi.h>
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nShowCmd)
{
ShellExecute(NULL,NULL,"iexplore2.exe","-nomerge",NULL,SW_SHOW);
return 0;
}
I compiled a binary for you here. If you don't trust it, you can compile the above source yourself with any up to date Windows compatible C++ compiler.
As noted previously, a Windows update for IE will probably mess this up. So keep a copy of this binary elsewhere.
Can you start it from a batch file?
iexplore.exe -nomerge
Wouldn't that be the same as turning on the option to open links in a new window? The setting can be found on Tools->Internet Options->General Tab->Tabs->Settings: