MSBuild (CruiseControl)를 사용하여 .NET 4 응용 프로그램의 설치를 빌드하려고합니다. 설치 빌드는 필수 구성 요소 (이 경우 .NET 4 및 Windows Installer 4.5)를 설치하기위한 부울 래퍼를 만들어야하며, 이는 GenerateBootstrapper Task을 사용하여 수행됩니다.MSBuild : 오류 MSB3147 : 'setup.bin'파일을 찾을 수 없습니다.
VS 2010이 설치된 개발 컴퓨터의 명령 줄에서 MSBuild.exe project.msbuild.xml
을 실행하면 정상적으로 작동합니다. 단지, 최신 Windows 7 SDK를 가지고 빌드 머신에서 실행하면 오류와 함께 실패 :
(ProductDistributions target) -> bootstrapper.xml(236,5): error MSB3147:
Could not find required file 'setup.bin' in '<project path>\ProductDistributions\Engine'.
, 나는 setup.bin
파일이 들어있는 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Engine
폴더가 없지만, 빌드 시스템에서 더이 Bootstrapper
폴더 안에 C:\Program Files\Microsoft SDKs\Windows\v7.1
(7.1 대 7.0A는 7.0A를 설치하지만 독립 실행 형 SDK는 7.1이므로 분명히 7.0A 임).
또한, 빌드 시스템에서이 HKLM\Software\Microsoft\GenericBootstrapper\
내부에 4.0 레지스트리 키가 없지만, dev에 기계 하나가 c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\
의 값으로 경로 문자열을 포함해야합니까 나는에 설치할 필요가있는 것 같습니다 "Microsoft SDKs \ Windows \ v7.1"(및 레지스트리 키 설정)에 Bootstrapper 폴더를 추가하기 위해 컴퓨터를 빌드하십시오. 그러나 그 내용이 확실하지 않습니다. 내가 무엇을 얻을 필요가있는 어떤 생각?
아니면 설치가 제대로 작동하는 데 필요한 다른 것이 있습니까?
업데이트 :를 나는이 수동으로 빌드 머신에 dev에 기계에서 7.0a에 부트 스트 래퍼 폴더를 복사하고, 수동으로
HKLM\Software\Microsoft\GenericBootstrapper\4.0
레지스트리 키에 해당 경로를 추가하여 순간에 작업을했다. 어느 쪽이 효과가있는 것 같지만, 문제를 해결하기 위해 내가해야 할 일이 될 수없는 것처럼 보입니다. 그래서 누군가가 덜 해킹 된 해결책을 가지고 있다면 고맙겠습니다.
7.0A 부트 스트 래퍼를 복사하고 수동으로 reg 키를 추가하는 위의 변경으로 인해 내가 가진 문제가 해결되었습니다. 그래도 덜 해킹 된 솔루션을 찾고 있습니다. – IndigoDelta
그 컴퓨터에 .Net 4.5 베타 버전을 설치 했습니까? 워크 스테이션에서 완전히 4.5 (모든 프로그램을 추가/제거 할 때 4.5 및 VS11 참조)를 제거하고 MSDN에서 4.0을 다시 설치할 때까지 비슷한 워크 스테이션에서 문제가 발생했습니다. –
아니요,이 질문은 2011 년 1 월에 나온 것이므로 4.5 베타 버전이 출시되기 전에는이 질문이있었습니다. – Wilka