   fullOva: -> path.join @constructor.ievmsHome, @ova()
 
   # Generate the full URL to the modern.ie archive.
-  url: -> 'http://virtualization.modern.ie/vhd/IEKitV1_Final/VirtualBox/OSX/' +
-    @archive()
+  url: ->
+    if @version is 'EDGE'
+      return 'https://az792536.vo.msecnd.net/vms/VMBuild_20150801/VirtualBox/' +
+        'MSEdge/Mac/Microsoft%20Edge.Win10.For.Mac.VirtualBox.zip'
+    'http://virtualization.modern.ie/vhd/IEKitV1_Final/VirtualBox/OSX/' +
+      @archive()
 
   # Retrieve and parse the virtual machine info from `VBoxManage showvminfo`.
   # If `E_ACCESSDENIED` is caught, the command will be retried up to 3 times

        pass = ['--password', 'Passw0rd!']
        pass = [] if @os is 'WinXP' and !version?
        args = [
          'exec', '--image', cmd,
          '--wait-exit',
          '--username', 'IEUser', pass...,
          '--', args...
        ]
        @vbm 'guestcontrol', args...


  constructor: (@name) ->
    if @name not in @constructor.names
      throw new Error "Invalid name: '#{@name}'"
    @name = "#{@name}"
    @version = @name.toUpperCase().replace(/^(?:IE|MS)(\d+|EDGE).*/, '$1')
    if @version not in @constructor.versions
      throw new Error "Invalid version: '#{@version}'"
    @os = @name.split(' ').pop()
    throw new Error "Invalid OS: '#{@os}'" unless @os in @constructor.oses

  # ### Validation Helpers
