私はMSBuild(CruiseControl)を使用して.NET 4アプリケーションのインストールを構築しようとしています。インストールビルドでは、前提条件(この場合は.NET 4およびWindowsインストーラ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は明らかにVS2010が7.0Aをインストールするが、スタンドアロンSDKは7.1です)。
また、ビルドマシンに存在しHKLM\Software\Microsoft\GenericBootstrapper\
内部には4.0のレジストリキーはありませんが、DEVのマシンは、私が上でインストールする必要があるものがありますように見えますc:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\
の値を持つパス文字列を含むものを持っていますBootstrapperフォルダを「Microsoft SDKs \ Windows \ v7.1」(およびレジストリキーの設定)に追加するためのマシンをビルドしますが、それが何であるかわかりません。私は何を得る必要がありますか?
また、インストールビルドの作業に必要なものがありますか?
更新日:を私は、この手動ビルドマシン上での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