winsdk net microsoft framework msbuild .net-4.0 installer

msbuild - net - sdk de windows



MSBuild: error MSB3147: no se pudo encontrar el archivo requerido ''setup.bin'' (2)

Esta pregunta ya tiene una respuesta aquí:

Intento usar MSBuild (bajo CruiseControl) para construir la instalación para mi aplicación .NET 4. La compilación de instalación debe crear un boostrapper para instalar el requisito previo (.NET 4 y Windows Installer 4.5 en este caso), esto se hace mediante la tarea GenerateBootstrapper .

La ejecución de MSBuild.exe project.msbuild.xml desde la línea de comandos en una máquina de desarrollo, que tiene VS 2010 instalado, funciona bien. Cuando se ejecuta en la máquina de compilación, que solo tiene el último SDK de Windows 7, falla con el error:

(ProductDistributions target) -> bootstrapper.xml(236,5): error MSB3147: Could not find required file ''setup.bin'' in ''<project path>/ProductDistributions/Engine''.

En las máquinas de desarrollo, tengo una carpeta C:/Program Files (x86)/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Engine contiene un archivo setup.bin , pero en la máquina de compilación no hay una carpeta Bootstrapper dentro de C:/Program Files/Microsoft SDKs/Windows/v7.1 (el 7.1 vs 7.0A es aparentemente porque VS2010 instala 7.0A, pero el SDK independiente es 7.1).

Además, en la máquina de compilación no hay ninguna clave de registro 4.0 dentro de HKLM/Software/Microsoft/GenericBootstrapper/ , pero las máquinas de desarrollo tienen una que contiene una cadena de ruta con un valor de c:/Program Files (x86)/Microsoft SDKs/Windows/v7.0A/Bootstrapper/

Parece que hay algo que necesito instalar en la máquina de compilación para agregar la carpeta Bootstrapper a "Microsoft SDKs / Windows / v7.1" (y configurar las claves de registro), pero no estoy seguro de qué es eso. ¿Alguna idea de lo que necesito obtener?

¿O hay algo más que necesito para que funcione mi instalación?

Actualizado: Tengo esto funcionando en este momento al copiar manualmente la carpeta bootstrapper 7.0A de una máquina dev en la máquina de compilación y agregar manualmente esa ruta a la HKLM/Software/Microsoft/GenericBootstrapper/4.0 registro HKLM/Software/Microsoft/GenericBootstrapper/4.0 . Lo cual parece funcionar, pero parece que esto no puede ser lo que se supone que debo hacer para solucionar el problema. Así que apreciaría si alguien tiene una solución menos hacky para esto.


De acuerdo con su entrada de blog, los archivos de arranque se instalan durante la instalación de .NET Framework SDK. También muestra las entradas de registro que se buscan para buscar el directorio bootstrapper.

Puede intentar instalar .NET Framework SDK o configurarlo manualmente copiando los archivos y agregando las entradas de registro.


Estoy experimentando el mismo problema, pero no he intentado copiar manualmente los archivos y hackear el registro aunque también he escuchado de otros que también han tenido éxito al hacerlo.

Para obtener una solución más real para esto, he creado una solicitud de función en el sitio Connect.Microsoft.com para implementar algún tipo de instalación mínima de Visual Studio con el fin de proporcionar una manera más fácil de configurar un servidor de compilación con los archivos de desarrollo necesarios. Vota y / o comenta sobre la solicitud de función para ayudar a llamar la atención sobre este tema.