8

After scouring the internet and discussing this in chat here, I'm finally asking a new question about an old error.

I'm using Visual Studio Enterprise 2015 on Windows 10.

The question and answers on this are from 2011 MSBuild: error MSB3147: Could not find required file 'setup.bin'.

This question and the accepted answer were written in 2012, the other answers are from 2015, with one from 2016, that is not helpful Could not find required file 'setup.bin'.

The target build for the project is 4.0. I'm running a psl script that has only been run from another local machine.

I keep getting this error:

C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(4769,5): error MSB3147: Could not find required file 'setup.bin' in 'C:\dev\xxx\src\xxx\Engine'. [C:\dev\xxx\src\xxx \xxx.csproj] Publish to Local FAILURE

I have tried every solution from every answer. The only one that works is from this answer

<BootstrapperEnabled>false</BootstrapperEnabled> 

Which is a problem if it is needed to be set to true.

I've also followed this answer on MSDN. This blog.

I added registry keys:

enter image description here

enter image description here

I'm also noticing that Windows 10 has .NET framework built in, and it misses 4.0.

enter image description here

I had uninstalled the dotNetFx40_Full_setup.exe and ran a repair on Visual Studio to allow it to install the sdks as needed. This did not help.

I have an MSBuild exe where it is supposed to be according to this:

enter image description here

I'm wondering if it's because I'm missing .NET sdk 4.0.
Is it the version of bootstrapper? I don't know how to fix it. Does anyone know how to solve this on Windows 10?

Community
  • 1
  • 1

1 Answers1

4

The bootstrapper is responsible for the initialization of an application built using the Composite Application Library.

When you set <BootstrapperEnabled>false</BootstrapperEnabled>, the initialization of an application built will be omit. If you set it true, the initialization will be executed, then you will get that error “MSB3147: Could not find required file 'setup.bin'”.

According to your description and images, I found that you have the MSBuild 12.0, but added the value of GenericBootstrapper to the MSBuild 4.0 registry key.

Starting in Visual Studio 2013, the MSBuild Toolset version is the same as the Visual Studio version number.

So please check the registry value of GenericBootstrapper with the version 12.0. If the value is not exists or incorrect, please add it with value “C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\Bootstrapper”. enter image description here

Leo Liu
  • 71,098
  • 10
  • 114
  • 135
  • thanks for this. I have set that value for 12.0. I have been using the Boostrapper from 7.0A, as I don't have it in 8.1A –  Mar 01 '17 at 07:23
  • Not the Boostrapper experts, I did not know the different between 8.1A and 7.0A, the default value in GenericBootstrapper version 12.0 is 8.1A, so I suggest that value. If you use 7.0A instead of 8.1A without any other issue, omit the different version. Besides, have you resolved this issue with above answer? if yes, please mark it answer. If not, Would you please let me know the latest information about this issue? Thanks. – Leo Liu Mar 01 '17 at 07:53
  • well I gave you an upvote, it's not a bad answer, but you didn't add anything that I haven't tried already. Except you are using 8.1A and I'm using 7.0A. So no it hasn't resolved it –  Mar 01 '17 at 09:38
  • OK, strange. Have you restart your Visual Studio after you add that value? – Leo Liu Mar 01 '17 at 11:04
  • Yep and rebooted the machine –  Mar 01 '17 at 11:07