4

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 アプリケーションのこれらの前提条件をどこで見つけることを期待していますか?

4

2 に答える 2

6

私は自分の質問に答えています。別の .Net 4 Client セットアップ プログラムを使用すると、問題は解決しました。私のために働くexeは、次の場所にあるdotNetFx40_Client_x86_x64.exeです。

http://www.microsoft.com/en-us/download/details.aspx?id=24872

間違ったセットアップ プログラムは dotNetFx40_Client_setup.exe です。これは、Microsoft MSDN のヘルプ トピックHow to: Include Prerequisites with a ClickOnce Application (Visual Studio 2012)に従って、セットアップへのこのリンクにたどり着いたものです。必要なファイルではないことに気付かなかったWebインストーラーをダウンロードしたChromeを使用しています。IE を使用していれば、このようなことは起こらなかったでしょう。セットアップ プログラムの名前を変更することを提案するこの StackOverflow の質問によって、この問題に手がかりがつきました。名前を変更する代わりに、正しいものをダウンロードしました。

于 2013-03-15T17:32:23.223 に答える