Skip to content
Browse files

Merge branch 'jubianchi-ie6'

  • Loading branch information...
2 parents 6566760 + 4076f5f commit e4afe577a21cb02dd67a4348f9b8c70739e7b70d @xdissent xdissent committed
Showing with 71 additions and 11 deletions.
  1. +17 −9 README.rst
  2. +54 −2 ievms.sh
View
26 README.rst
@@ -5,12 +5,12 @@ Microsoft provides virtual machine disk images to facilitate website testing
in multiple versions of IE, regardless of the host operating system.
Unfortunately, setting these virtual machines up without Microsoft's VirtualPC
can be extremely difficult. The ievms scripts aim to facilitate that process using
-VirtualBox on Linux or OS X. With a single command, you can have IE7, IE8
+VirtualBox on Linux or OS X. With a single command, you can have IE6, IE7, IE8
and IE9 running in separate virtual machines.
.. image:: http://pledgie.com/campaigns/15995.png?skin_name=chrome
- :alt: Click here to lend your support to ievms and make a donation at pledgie.com!
- :target: http://pledgie.com/campaigns/15995
+ :alt: Click here to lend your support to ievms and make a donation at pledgie.com!
+ :target: http://pledgie.com/campaigns/15995
Requirements
@@ -29,17 +29,25 @@ Installation
2. Download and unpack ievms:
-* Install IE versions 7, 8 and 9 - no support for IE6 currently
+ * Install IE versions 6, 7, 8 and 9.
- curl -s https://raw.github.com/xdissent/ievms/master/ievms.sh | bash
+ curl -s https://raw.github.com/xdissent/ievms/master/ievms.sh | bash
-* Install specific IE versions (IE7 and IE9 only for example):
+ * Install specific IE versions (IE7 and IE9 only for example):
- curl -s https://raw.github.com/xdissent/ievms/master/ievms.sh | IEVMS_VERSIONS="7 9" bash
+ curl -s https://raw.github.com/xdissent/ievms/master/ievms.sh | IEVMS_VERSIONS="7 9" bash
-3. Launch Virtual Box
+3. Launch Virtual Box.
-4. Choose ievm image from Virtual Box
+4. Choose ievms image from Virtual Box.
+
+5. Install VirtualBox Guest Additions (pre-mounted as CD image in the VM).
+
+6. **IE6 only** - Install network adapter drivers by opening the ``drivers`` CD image in the VM.
+
+.. note:: The IE6 network drivers *must* be installed upon first boot, or an
+ activation loop will prevent subsequent logins forever. If this happens,
+ restoring to the ``clean`` snapshot will reset the activation lock.
The VHD archives are massive and can take hours or tens of minutes to
download, depending on the speed of your internet connection. You might want
View
56 ievms.sh
@@ -95,7 +95,6 @@ build_ievm() {
archive="Windows_XP_IE6.exe"
vhd="Windows XP.vhd"
vm_type="WindowsXP"
- fail "IE6 support is currently disabled"
;;
7)
url="http://download.microsoft.com/download/B/7/2/B72085AE-0F04-4C6F-9182-BF1EE90F5273/Windows_Vista_IE7.part0{1.exe,2.rar,3.rar,4.rar,5.rar,6.rar}"
@@ -167,8 +166,61 @@ build_ievm() {
VBoxManage storageattach "${vm}" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium "${vhd_path}/${vhd}"
VBoxManage storageattach "${vm}" --storagectl "IDE Controller" --port 0 --device 1 --type dvddrive --medium "${ga_iso}"
VBoxManage storageattach "${vm}" --storagectl "Floppy Controller" --port 0 --device 0 --type fdd --medium emptydrive
+ declare -F "build_ievm_ie${1}" && "build_ievm_ie${1}"
VBoxManage snapshot "${vm}" take clean --description "The initial VM state"
fi
+
+}
+
+build_ievm_ie6() {
+ log "Setting up ${vm} VM"
+
+ if [[ ! -f "${ievms_home}/drivers/PRO2KXP.exe" ]]
+ then
+ download_driver "http://downloadmirror.intel.com/8659/eng/PRO2KXP.exe" "Downloading 82540EM network adapter driver"
+
+ if [[ ! -f "${ievms_home}/drivers/autorun.inf" ]]
+ then
+ cd "${ievms_home}/drivers"
+ echo '[autorun]' > autorun.inf
+ echo 'open=PRO2KXP.exe' >> autorun.inf
+ cd "${ievms_home}"
+ fi
+ fi
+
+ log "Changing network adapter to 82540EM"
+ VBoxManage modifyvm "${vm}" --nictype1 "82540EM"
+
+ build_and_attach_drivers
+}
+
+download_driver() {
+ if [[ ! -d "${ievms_home}/drivers" ]]
+ then
+ mkdir -p "${ievms_home}/drivers"
+ fi
+
+ log $2
+
+ cd "${ievms_home}/drivers"
+ curl -L -O $1
+ cd ..
+}
+
+build_and_attach_drivers() {
+ log "Building drivers ISO for ${vm}"
+ if [[ ! -f "${ievms_home}/drivers.iso" ]]
+ then
+ log "Writing drivers ISO"
+
+
+ case $kernel in
+ Darwin) hdiutil makehybrid "${ievms_home}/drivers" -o "${ievms_home}/drivers.iso" ;;
+ Linux) mkisofs -o "${ievms_home}/drivers.iso" "${ievms_home}/drivers" ;;
+ esac
+ fi
+
+ VBoxManage storageattach "${vm}" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium "${ievms_home}/drivers.iso"
}
check_system
@@ -176,7 +228,7 @@ create_home
check_virtualbox
check_unrar
-all_versions="7 8 9"
+all_versions="6 7 8 9"
for ver in ${IEVMS_VERSIONS:-$all_versions}
do
log "Building IE${ver} VM"

0 comments on commit e4afe57

Please sign in to comment.
Something went wrong with that request. Please try again.