Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.

Fix build break when VS2015 is not installed. #14948

Merged
merged 2 commits into from
Nov 10, 2017

Conversation

vancem
Copy link

@vancem vancem commented Nov 9, 2017

If you ONLY install VS2017 (now the common scneario)
and build coreclr, it will fail with COM with a Class_Not_Registered error

This is because a build-tools package is depending on an old COM object
that has gone way in VS2017.

While we sort getting a proper fix, this makes the work-around (which
is registering the DLL by hand) discoverable.

See https://github.com/dotnet/coreclr/issues/11305 for details.

@lt72 @russellhadley @briansull

If you ONLY install VS2017 (now the common scneario)
and build coreclr, it will fail  with COM with a Class_Not_Registered error

This is because a build-tools package is depending on an old COM object
that has gone way in VS2017.

While we sort getting a proper fix, this makes the work-around (which
is registering the DLL by hand) discoverable.

See https://github.com/dotnet/coreclr/issues/11305 for details.
@vancem
Copy link
Author

vancem commented Nov 9, 2017

@dotnet-bot test Ubuntu armlb Cross Debug Innerloop Build

@vancem
Copy link
Author

vancem commented Nov 9, 2017

@dotnet-bot test Perf Build and Test

@briansull
Copy link

I had to use a 32-bit command prompt to register this:
(Using a 64-bit command prompt looked likes it did something, but it still wasn't registered where it needed to be)

Use the following to start a 32-bit command window:

%SystemRoot%\sysWow64\cmd.exe

@vancem
Copy link
Author

vancem commented Nov 10, 2017

Hello Brian,

You had mentioned when we talked that you need to run regsvr32 in a 32 bit command window (so you get the 32 bit version of regsvr32). My experimentation suggested that this is not true (when regsvr32 is applied to a 32 bit DLL, it registers it as a 32 bit COM object).

I will see if I can reproduce this on a 'clean' system to confirm.

@vancem
Copy link
Author

vancem commented Nov 10, 2017

@briansull I just tried an experiment on a clean system where I ran dactableGen and saw the failure, then did a regsvr32 (in a 64 bit window), on msdia120.dll and afterward it worked properly.

I think we can stick with the current instructions. If find they are wrong we can correct them

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
2 participants