最近、vs2012
がインストールされ、ClickOnceアプリケーションが更新されました。私の最初のC#プロジェクトに依存するC++ project
を初めて開いたとき、私はそれを更新せず、すべて正常に動作しました。 VS 2012
はまだVisual C++ 2010の前提条件を確認できました。後でプラットフォームツールセットをのProperties->Configuration Properties->General
に変更してプロジェクトを更新しました。Visual Studio 2012のVisual C++の前提条件がありません
その間に私はもうsoftware
をインストールしましたが、私はClickOnceパブリッシングのために私のプロジェクトにVisual C++の前提条件を追加することができなくなったことを発見しました。 Visual C++ 2010 Runtime Libraries (x64)
の前提条件は黄色の三角形でマークされており、それが欠落しています。理想的にはVisual C++ 2012 Runtime Libraries x64 (and x86)
に更新したいと思いますが、この前提条件もありません。
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\Bootstrapper\Packages
というフォルダには、対応するパッケージ(vcredist_x64)
が空であるためです。また、コントロールパネルにインストールされているプログラムの一覧には、Microsoft Visual C++ 2010 x64
とx86
がインストールされていたことがわかりました。再配布可能なバージョンとランタイムバージョン(Visual Studio 2010で以前にインストールされたものと思われます) C++ 2012ファイル。それで、私はVisual C++ 2012がVisual Studio 2012と一緒にならなかったと主張していますね。私はVisual C++ 2012 Redistributable x64パッケージをダウンロードしてインストールしようとしましたが、今はインストールされているプログラム8(ランタイムバージョンではなく、再配布可能なもののみ)にリストされています。
ただし、前提条件はまだありません。これをどうすれば解決できますか? ... \v7.0A\Bootstrapper\Packages
フォルダにあるVisual C++ 2010のブートストラップパッケージを手動でコピーしてC++ 2012のマニュアルで変更することについて考えましたが、に書かなければならないものは<MsiProductCheck Property="VCRedistInstalled" Product=?>
です。この情報を挿入する製品のGUIDはBootstrapper Managerで取得できますが、このプログラムは多くの例外を投げかけていますが、その方法はわかりません。 2番目の解決策として、Visual C++ 2010用のパッケージを単に\\v7.0A\Bootstrapper\Packages\Bootstrapper\Packages to \v8.0A\Bootstrapper\Packages
からコピーするのは安全ですか?
のおかげであることに注意してください? – Berezh
Noamの答えは正しいですが、msbuildは "xml version ..."行の2つのコピーが嫌いです。 私は1つを削除し、セットアップファイルを作るためにスクリプトでmsbuildを実行することができました。 –