Root cause was that compiler was not embedding a win32 manifest into generated executables, thus all EXEs were running virtualized and at the mercy of "Installer Detection Technology" (see http://technet.microsoft.com/en-us/library/cc709628(v=WS.10).aspx for heuristics used). EXEs with "update", "install", etc in their file names triggered the heuristic and required admin privs to run. Trying to start these from VS would not work unless you were also running VS as admin. The old logic used to decide whether to embed a manifest was tied to .NET version and had drifted out of date.
New logic is to embed the default manifest for all EXEs unless there is some specific config that precludes this. New test added to validate that a manifest is present for EXE, absent for DLL. (changeset 1232952)
Slice expressions (ex., e1.[e1..e2]) looks similar to range expression (ex., [| e1 .. e2 |] ) but their behaviors are not consistent when length < 0. For example, [| 1..10 |].[3..1] raises overflow exception while [| 3..1 |] evaluates [| |]. In this shelveset, length check is added consistently for array/string slice expressions, so their behaviors looks consistent.
Additionally, for open-ended slices (e.g., m.[1..] or m.[..5]), exception would raise for invalid range. (changeset 1231622)
Also stripping out some unnecessary configuration checking - 'net40' is the only supported TargetFramework for building the compiler, build libraries, and type providers. Only FSharp.Core supports other target platforms. (changeset 1227697)
- Use a simple version span instead of listing every individual version redirected
- Redirect to *.9055 so that open bits will be used instead of shipped VS bits
- Update fsc.fsproj to actually copy its exe.config (changeset 1222653)
- Add fsiAnyCpu to fsharp.sln
- Add fsi.exe.config to fsi.fsproj
- Remove some dead comment code from fsi.fsproj, fsiAnyCpu.fsproj
- Give fsiAnyCpu a new project GUID, it had been copied from fsi.fsproj
- Better align fsi.fsproj and fsiAnyCpu.fsproj wrt whitespace and other small details (changeset 1221287)