Internet Explorer 8 für Windows 7 E ohne Web Browser installieren

Michael Schwarz on Wednesday, July 15, 2009

Windows 7 RTM steht kurz vor der Tür und noch ist nicht sicher, ob der Internet Explorer 8 wirklich über die Windows Funktionen in der Systemsteuerung nachträglich installiert werden kann. Auch habe ich noch keine Aussage bekommen, ob sich die Setupdateien auf der DVD befinden.

Deswegen habe ich mir mal ein kleines Skript geschrieben, mit dem ich den IE8 unter Windows 7 installieren kann:

@echo off 

if exist download-IE8.cs del download-IE8.cs 

echo using System; > download-IE8.cs     
echo using System.Net; >> download-IE8.cs      
echo using System.IO; >> download-IE8.cs      
echo. >> download-IE8.cs      
echo namespace Download_IE8 >> download-IE8.cs      
echo { >> download-IE8.cs      
echo     class Program >> download-IE8.cs      
echo     { >> download-IE8.cs      
echo         static void Main(string[] args) >> download-IE8.cs      
echo         { >> download-IE8.cs      
echo             if (File.Exists("IE8-WindowsVista-x86-DEU.exe")) >> download-IE8.cs      
echo                 File.Delete("IE8-WindowsVista-x86-DEU.exe"); >> download-IE8.cs      
echo. >> download-IE8.cs      
echo             try >> download-IE8.cs      
echo             { >> download-IE8.cs      
echo                 HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://download.microsoft.com/download/3/D/C/3DC5DC1B-2B60-487A-BAE2-732662BC0886/IE8-WindowsVista-x86-DEU.exe"); >> download-IE8.cs      
echo                 request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1;)"; >> download-IE8.cs      
echo                 request.AllowWriteStreamBuffering = false; >> download-IE8.cs      
echo                 request.Timeout = 10000; >> download-IE8.cs      
echo. >> download-IE8.cs      
echo                 using (Stream s = request.GetResponse().GetResponseStream()) >> download-IE8.cs      
echo                 { >> download-IE8.cs      
echo                     FileStream fs = new FileStream("IE8-WindowsVista-x86-DEU.exe", FileMode.Create); >> download-IE8.cs      
echo. >> download-IE8.cs      
echo                     byte[] read = new byte[1024]; >> download-IE8.cs      
echo                     int count = s.Read(read, 0, read.Length); >> download-IE8.cs      
echo. >> download-IE8.cs      
echo                     while (count != 0) >> download-IE8.cs      
echo                     { >> download-IE8.cs      
echo                         fs.Write(read, 0, count); >> download-IE8.cs      
echo                         count = s.Read(read, 0, read.Length); >> download-IE8.cs      
echo. >> download-IE8.cs      
echo                         Console.Write("."); >> download-IE8.cs      
echo                     } >> download-IE8.cs      
echo                 } >> download-IE8.cs      
echo. >> download-IE8.cs      
echo                 Console.WriteLine(); >> download-IE8.cs      
echo                 Console.WriteLine("Done."); >> download-IE8.cs      
echo. >> download-IE8.cs      
echo                 System.Threading.Thread.Sleep(5000); >> download-IE8.cs      
echo                 System.Diagnostics.Process.Start("IE8-WindowsVista-x86-DEU.exe"); >> download-IE8.cs      
echo             } >> download-IE8.cs      
echo             catch (Exception ex) >> download-IE8.cs      
echo             { >> download-IE8.cs      
echo                 Console.WriteLine("Error: " + ex.Message); >> download-IE8.cs      
echo             } >> download-IE8.cs      
echo         } >> download-IE8.cs      
echo     } >> download-IE8.cs      
echo } >> download-IE8.cs      
echo. >> download-IE8.cs 

if not exist download-IE8.cs goto ERROR1 

"%WINDIR%\Microsoft.NET\Framework\v3.5\csc.exe" download-IE8.cs 

download-IE8.exe 

if not exists download-IE8.exe goto ERROR2 

:ERROR1 

echo Could not create C# source file. 

goto END 

:ERROR2 

echo Could not create executable to download IE8. 

goto END 

:END 

Ok, der Pfad ist noch fest verdrahtet, auch ist der Download-Link noch der IE8 für Windows Vista. Vom Prinzip aber funktioniert es, das ist die Hauptsache.

Sorry übrigens für die komische Formatierung, aber das geht hier jetzt nicht wirklich besser. Ihr müsst nur den ganzen Inhalt in eine download-IE8.cmd Datei kopieren, und diese dann per Doppelklick ausführen. Im Hintergrund wird dann eine C# Datei erstellt, diese wird mit dem .NET Framework 3.5 kompiliert. Die erzeugte Anwendung lädt dann die Setup-Datei herunter und führt sie aus, fertig.