ievms - Automated Installation of Microsoft IE App Compat VMs
Prerequisites
- VirtualBox > 5.0
- Download from virtualbox.org
- During installation, select 'command line utilities'
- Curl - Required for downloading the installation script
- Ubuntu/Debian:
sudo apt-get install curl - macOS: Pre-installed
- Windows: Install via Chocolatey or Git Bash
- Ubuntu/Debian:
- Linux Only: unar - Required for extracting downloaded archives
- Ubuntu/Debian:
sudo apt-get install unar
- Ubuntu/Debian:
- Disk Space: Approximately 69GB for full installation
- Patience: Downloads are large and can take hours depending on internet speed
Installation
Quick Start (Recommended)
Paste this command into your terminal:
curl -s https://raw.githubusercontent.com/xdissent/ievms/master/ievms.sh | bash
Custom Installation (Specific IE Versions)
To install specific versions only (e.g., IE7, IE9, and EDGE):
curl -s https://raw.githubusercontent.com/xdissent/ievms/master/ievms.sh | env IEVMS_VERSIONS="7 9 EDGE" bash
Legacy VirtualBox Support
For VirtualBox < 5.0, use version 0.2.1:
curl -s https://github.com/xdissent/ievms/raw/v0.2.1/ievms.sh | bash
Installation Steps
- Install VirtualBox and ensure command line utilities are selected
- Install curl (and unar on Linux)
- Run the installation command above
- Launch VirtualBox after installation completes
- Select the desired ievms image from the VirtualBox interface
Configuration
Environment Variables
| Variable | Default | Description |
|---|---|---|
INSTALL_PATH | ~/.ievms/ | Directory where VMs will be installed |
IEVMS_VERSIONS | 6 7 8 9 10 11 EDGE | Space-separated list of IE versions to install |
CURL_OPTS | None | Additional options passed to curl (e.g., --limit-rate 50k) |
REUSE_XP | yes | Whether to reuse XP VM for IE7 and IE8 |
REUSE_WIN7 | yes | Whether to reuse Win7 VM for IE10 and IE11 |
Example Configurations
Custom Install Path:
curl -s https://raw.githubusercontent.com/xdissent/ievms/master/ievms.sh | env INSTALL_PATH="/Path/to/.ievms" bash
Download Speed Limit:
curl -s https://raw.githubusercontent.com/xdissent/ievms/master/ievms.sh | env CURL_OPTS="--limit-rate 50k" bash
Build & Run
Local Development
The ievms script handles all local operations:
- Download OVA images from Microsoft
- Extract archives using unar (Linux) or built-in tools
- Import VMs into VirtualBox
- Install VirtualBox Guest Additions
- Create clean snapshot for easy rollback
Running VMs
- Open VirtualBox application
- Select the desired ievms VM from the list
- Click "Start" to boot the virtual machine
- Use the clean snapshot to reset to pristine state when needed
Space Management
After installation, you can remove all files except .vmdk files to save space:
find ~/.ievms -type f ! -name "*.vmdk" -exec rm {} \;
Deployment
Platform Considerations
ievms is designed for local development and testing, not server deployment. The VMs are resource-intensive and require a GUI environment.
Recommended Setup
- Local Development: Install directly on your development machine
- Team Environments: Share VMs via network storage or create a dedicated testing workstation
- CI/CD: Consider using cloud-based browser testing services for automated testing
Performance Optimization
- Allocate sufficient RAM (2-4GB per VM recommended)
- Enable hardware virtualization in BIOS if available
- Use SSD storage for better performance
- Consider disabling unnecessary services in VMs
Troubleshooting
Common Issues and Solutions
Installation Fails
- Problem: Corrupted download or network interruption
- Solution: Delete the partially downloaded ZIP/OVA file from
~/.ievms/and rerun the script
Insufficient Disk Space
- Problem: Installation requires ~69GB
- Solution: Free up space or install fewer versions using
IEVMS_VERSIONS
Slow Downloads
- Problem: Large files (12.5GB total) take hours to download
- Solution: Use
CURL_OPTS="--limit-rate 50k"to limit bandwidth usage or schedule downloads during off-hours
VirtualBox Guest Additions Issues
- Problem: Guest additions fail to install
- Solution: Ensure VirtualBox version > 5.0 and that command line utilities were selected during installation
VM Won't Start
- Problem: VirtualBox configuration issues
- Solution: Check VirtualBox logs and ensure VT-x/AMD-V is enabled in BIOS
Reverting to Clean State
- Problem: VM becomes unstable or misconfigured
- Solution: Use the "clean" snapshot to revert to the pristine state
Legacy VirtualBox Support
- Problem: Using VirtualBox < 5.0
- Solution: Use the legacy script:
curl -s https://github.com/xdissent/ievms/raw/v0.2.1/ievms.sh | bash
Network Connectivity in VMs
- Problem: VMs cannot access the internet
- Solution: Check VirtualBox network settings and ensure host has internet access
Recovery Procedures
- Partial Installation: Delete corrupted files and rerun the script
- Complete Reset: Remove
~/.ievms/directory and start fresh - Version-Specific Issues: Reinstall only the problematic version by deleting its directory
Bandwidth Considerations
- Full installation downloads ~12.5GB
- Reusing XP VM saves significant bandwidth (disabling
REUSE_XPincreases download to ~22GB) - Reusing Win7 VM saves bandwidth but minimal disk space (disabling
REUSE_WIN7has minimal impact)