2009-07-17 14 views
1

私は、Provider = Microsoft.Jet.OLEDB.4.0を使用して2つのAccessデータベースを参照するVB2008プロジェクトに取り組んでいます。OfficeがインストールされていないとVB.NET Jet 4.0アプリケーションがクラッシュするのはなぜですか?

ユーザーがマシンにMSOfficeをインストールしていないと、VistaとWin7の起動時に "XXX stopped working"と表示されてプログラムがクラッシュするようです。

WindowsにはXP以上でJet機能が組み込まれていると思っていましたか?誰がなぜこれが起こっているのか知っていますか?正しいプロジェクト/パブリッシュ/前提条件は何ですか?

TIA

+0

残りの接続文字列は何ですか?私は、Office 7がインストールされていないWindows 7のAccessデータベースに接続する際に問題はありませんでした。 – Guffa

+0

これはアプリの設定にあり、VBのウィザードで設定します。プロバイダ= Microsoft.Jet.OLEDB.4.0;データソース= | DataDirectory | \ xxx.mdb – user57087

答えて

3

x64アーキテクチャでは、Jetサポートは全くありません。したがって、x64 procで実行していて、アプリケーションがAnyCPUにコンパイルされている場合、プログラムは実行時エラーになります。

あなたのアプリケーションのコンパイル対象を明示的にx86に変更して、問題がなくなるはずです...問題が正しく識別されている場合。障害のあるマシンでx86 OSが動作している場合は、別のソリューションを探す必要があります。しかし、失敗したマシンがx64 OSを実行している場合は、これが問題であることを保証します。

セス

+0

感謝あなたは頭に釘を打つかもしれないと思う。私は調査し、報告する。 – user57087

+0

Earle ...これで解決しましたか? セス –

+0

ありがとうございました!私が変更を加えた後、Windows 7に正常にインストールされました。私は手動でプロジェクトの設定 にコードの行に追加する必要がありました。 x86の 唯一の問題は今、ClickOnce配置が台無しにされていることで、アプリは、それがあると考えVB Expressを使用しています別のアプリ全体が...一口。この周りに道があると思ったら? ありがとう – user57087

関連する問題