anchor.diff:    let internal tryFsharpiScript(url:string) =
       try
         let str = File.ReadAllText(url)
  -      let reg = new Regex("mono (.* )?(\/.*)\/fsi\.exe")
  +      let reg = new Regex("mono.* (\/.*)\/fsi\.exe")
         let res = reg.Match(str)
         if res.Success then Some(res.Groups.[1].Value) else None
       with e -> 
  
positive.code:         | Some _ -> result
          | None -> 
  
          let result = 
              BackupInstallationProbePoints |> List.tryPick (fun x -> 
                 Debug.tracef "Resolution" "BinFolderOfDefaultFSharpCore: Probing %s" x
                 let safeExists f = (try File.Exists(f) with _ -> false)
                 let file f = Path.Combine(Path.Combine(x,"bin"),f)
                 let exists f = safeExists(file f)
  
negative.code:     // Check for an app.config setting to redirect the default compiler location
      // Like fsharp-compiler-location
      try 
        // FSharp.Compiler support setting an appkey for compiler location. I've never seen this used.
        Debug.tracef "Resolution" "BinFolderOfDefaultFSharpCore: Probing app.config"
        let result = tryAppConfig "fsharp-compiler-location"
        match result with 
        | Some _ ->  result 
        | None -> 
  
          // On windows the location of the compiler is via a registry key
          let key20 = @"Software\Microsoft\.NETFramework\AssemblyFolders\Microsoft.FSharp-" + FSharpTeamVersionNumber 
          let key40 = 
              match FSharpCompilerVersion.CurrentRequestedVersion with 
  