Windows 10 Pro x64 環境で .NETのプログラムからOleDBプロバイダーを使用してExcel ファイルへアクセスしている部分で以下のようなエラーが発生しました。
==============================================================
System.InvaridOperationException:'Microsot.jet.OLEDB.4.0' プロバイダーはローカルのコンピューターに登録されていません。
==============================================================

クリックで拡大
【対応方法 1】
.NETアプリケーションをコンパイルする際、「x86」アプリケーションとしてコンパイルします。
- プロジェクトのプロパティを開きます。
「コンパイル」ページを選択し、一番下の「詳細コンパイルオプション」を開きます。
クリックで拡大
- 「ターゲットCPU」の項目で「x86」を選択して「OK」をクリックします。
クリックで拡大
【対応方法 2】
- OleDB の接続文字列を記述している部分で、これまでは「Microsoft.Jet.OLEDB.4.0」と指定していた部分を以下のように書き換えます。
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=・・・";
を以下のようにします。
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=・・・";
Access 2010 か、「Microsoft Access データベース エンジン 2010 再頒布可能コンポーネント」がインストールされている必要があります。
インストールされていない場合は Microsoft のサイトからダウンロードできます。
Microsoft Access データベース エンジン 2010 再頒布可能コンポーネント
https://www.microsoft.com/ja-jp/download/details.aspx?id=13255