Visual Studio 2012 をインストールすると、発行機能が動作しなくなりました。発行は、前提条件の Microsoft .Net Framework 4 Client Profile (x86 および x64) を見つけることができません。以前の Visual Studio 2010 では、これは正常に機能していました。64 ビットの Windows 7 を使用しています。
正確な Visual Studio 2012 エラー メッセージは次のとおりです。
Error 104 - To enable 'Download prerequisites from the same location
as my application' in the Prerequisites dialog box, you must download file
'DotNetFX40Client\dotNetFx40_Client_x86_x64.exe' for item 'Microsoft .NET
Framework 4 Client Profile (x86 and x64)' to your local machine. For more
information, see http://go.microsoft.com/fwlink/?LinkId=239883
ファイルdotNetFx40_Client_setup.exe
を次の場所
に配置しました。C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\Bootstrapper\Packages\DotNetFX40Client
また、元の場所に残しました(v7.0Aに注意してください):
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40Client
編集 (問題を解決した後):正しいセットアップ ファイル ( dotNetFx40_Client_x86_x64.exe ) が実際には v7.0A フォルダーにあることがわかります。そこからコピーしただけで、すべてが機能していたはずです(間違ったセットアップをダウンロードするのではなく)。
「アプリケーションと同じ場所から前提条件をダウンロードする」オプションを「コンポーネント ベンダーの Web サイトから前提条件をダウンロードする」に変更すると、発行は正常に機能します (プロジェクトの [プロパティ] -> [発行] -> [前提条件] で...)。
(チェックされた)「Windows Installer 3.1」の横に黄色の感嘆符があり、「ブートストラップの前提条件が見つかりませんでした」という警告が表示されていることに気付きました。そのためWindowsInstaller-KB893803-v2-x86.exe
に、フォルダーにファイルがあります:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\WindowsInstaller3_1
アプリケーションは、Visual Studio 2010 で公開された過去 1 年間、私の会社のネットワーク内で正常に実行されました。ソリューション ファイルを VS 2012 で (初めて) 開いたところ、コンパイルしてローカルで正常に実行されました。発行機能のみが壊れています。
何か不足していますか?ClickOnce Publish は、WPF アプリケーションのこれらの前提条件をどこで見つけることを期待していますか?