必須コンポーネント ダイアログ ボックスで [次の場所から必須コンポーネントをダウンロードする] を有効にするには、項目 'Microsoft .NET Framework 4.5 (x86 および x64)' のファイル 'DotNetFX45\dotNetFx45_Full_x86_x64.exe' をローカル コンピューターにダウンロードする必要があります。

VSTOでエクセルのアドインを作ったときは、VisualStudioの「公開」画面から「今すぐ発行」をクリックしてセットアップを作ります。このとき「必須コンポーネント」で「アプリケーションと同じ場所から必須コンポーネントをダウンロードする」を選ぶと、エラーがでるわけです。



このとき「必須コンポーネント」で「必須コンポーネントをコンポーネントの開発元のWebサイトからダウンロードする」を選ぶと、エラーは出ない。


ネットにつながっているパソコンにセットアップするのであれば、「Webサイトからダウンロードする」でよいのだけど、事情によりネットにつながっていないパソコンにセットアップしなければならないときは、「アプリケーションと同じ場所から」を選ばないといけない。(上の図)

するとエラーが出てセットアップが作れないわけです。まったく、ネットにつながっていればこんな苦労はしなくてもよいのに。

解決手順

エラーの原因は、セットアップに含めるべきパッケージの中身のファイルが無いからで、マイクロソフトのサイトからパッケージのファイルをダウンロードして、決められたフォルダにコピーすればエラーは消える。

VisualStudio2015を使っている場合、パッケージは下記のフォルダにある。

C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages

(追記:2018/3/10)Visualstudio2017だと、下記のフォルダにある。

C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages

フォルダを開くとこんな感じ。


たとえば、VSTOR40のフォルダを開くと、XMLファイルがある。


このXMLファイルを開いて中を見ていくと、ダウンロードするべきファイル名が書いてある。

ここには「vstor_redist.exe」とあるので、このファイルをマイクロソフトのダウンロードサイトで探してダウンロードする。そして、このフォルダにコピーする。



これをエラーが出る項目ごとに繰り返していくと、最後にはエラーは消える。

気を付けないといけないのは、ファイルをコピーしたら、VisualStudioは再起動すること。再起動しないとファイルをコピーしたのに気づいてもらえず、エラーを出し続ける。

参考ページ





コメント

このブログの人気の投稿

varchar をデータ型 numeric に変換中に、算術オーバーフロー エラーが発生しました。