Skip to content

Build for VisualFSharp always reports: ERROR: The system was unable to find the specified registry key or value. #3619

@abelbraaksma

Description

@abelbraaksma

As in the title, this error is always thrown. Looks like I am not the first to be alarmed by it. It seems harmless, but can we remove / suppress this? I have no idea what causes it.

ERROR: The system was unable to find the specified registry key or value.

Repro steps

Run build.cmd

Expected behavior

No errors, provided prerequisites are satisfied.

Actual behavior

The error as mentioned, here's the log output at the end:

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:01:34.66
---------------- Done with build, starting pack/update/prepare ---------------
----------------  start update.cmd ---------------
ERROR: The system was unable to find the specified registry key or value.
1>    Compiling assembly FSharp.Core, Version=4.4.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a (CLR v4.0.30319) ...
2>    Compiling assembly FSharp.Core, Version=4.4.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a (CLR v4.0.30319) ...
1>    Compiling assembly FSharp.Compiler.Private, Version=4.4.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a (CLR v4.0.30319) ...
2>    Compiling assembly D:\Projects\OpenSource\VisualFSharp\release\net40\bin\FSharp.Build.dll (CLR v4.0.30319) ...
3>    Compiling assembly FSharp.Core, Version=4.4.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a (CLR v4.0.30319) ...
3>    Compiling assembly FSharp.Compiler.Server.Shared, Version=15.4.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a (CLR v4.0.30319) ...
2>    Compiling assembly FSharp.Compiler.Private, Version=4.4.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a (CLR v4.0.30319) ...
1>    Compiling assembly D:\Projects\OpenSource\VisualFSharp\release\net40\bin\fsc.exe (CLR v4.0.30319) ...
2>    Compiling assembly D:\Projects\OpenSource\VisualFSharp\release\net40\bin\fsi.exe (CLR v4.0.30319) ...
1>    Compiling assembly FSharp.Core, Version=4.4.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a (CLR v4.0.30319) ...
1>    Compiling assembly D:\Projects\OpenSource\VisualFSharp\release\net40\bin\FSharp.Build.dll (CLR v4.0.30319) ...
2>    Compiling assembly FSharp.Core, Version=4.4.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a (CLR v4.0.30319) ...
2>    Compiling assembly FSharp.Compiler.Private, Version=4.4.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a (CLR v4.0.30319) ...
3>    Compiling assembly FSharp.Compiler.Server.Shared, Version=15.4.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a (CLR v4.0.30319) ...
1>    Compiling assembly D:\Projects\OpenSource\VisualFSharp\release\net40\bin\fsiAnyCpu.exe (CLR v4.0.30319) ...
set NUNITPATH=packages\NUnit.Console.3.0.0\tools\
xcopy "packages\NUnit.Console.3.0.0\tools\*.*"  "D:\Projects\OpenSource\VisualFSharp\tests\fsharpqa\testenv\bin\nunit\*.*" /S /Q /Y
18 File(s) copied
xcopy "D:\Projects\OpenSource\VisualFSharp\tests\fsharpqa\testenv\src\nunit*.*" "D:\Projects\OpenSource\VisualFSharp\tests\fsharpqa\testenv\bin\nunit\*.*" /S /Q /Y
2 File(s) copied
SDK environment vars from Registry
==================================
ERROR: The system was unable to find the specified registry key or value.
.
SDK environment vars
=======================
WINSDKNETFXTOOLS:  C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\
SNEXE32:           C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\sn.exe
SNEXE64:           C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\x64\sn.exe
ILDASM:            C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\ildasm.exe
ECHO is off.

Known workarounds

Just ignore the error. It seems harmless. Unless, of course, it is the cause of several issues we are seeing (like missing syntax highlighting, intellisense or strange compile errors when using the build).

Related information

Happens on current master of VisualFSharp, but older revisions had this too. See, for instance, the discussion here #1664.

If it is a genuine error, we should provide steps or instructions to resolve it. If it is a harmless error, it should be informational. If it is caused by a registry entry not there, but the information is gotten elsewhere anyway, we should write that to the log as such.

(opinionated) The problem with having an error that everyone ignores is that if come a genuine error, we will miss it. The build should be error-free, or errors should tell us something.

I'm willing to fix this, if I can, just need to know whether it should be fixed in the first place, or heeded.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions