/ .NET, Database

ODP.NETを利用している業務系アプリのWindows 8.1、Windows 10への対応作業中。(主に動作確認レベルですが)
アプリの導入手順としてOracle Clientをインストールしておけば動くはずなのですが、なぜか動きません。
原因はODP.NETがGAC(グローバルアセンブリキャッシュ)に登録されていないため。
ODP.NET(Oracle.DataAccess.dll)を静的参照している場合、それと分かるエラーメッセージなどが出ずにいきなり落ちてしまったりするので結構ハマりがち。
ちなみに少し面倒だけれどもリフレクションを使って動的参照の形で作るといきなり落ちるようなことは防げます。

.Net Frameworkのバージョンが2.0時代の古いアプリなので、Win8.1/10の場合、先にWindowsの機能に「.NET Framework 3.5(2.0)」を追加しておかないと、Oracle Clientのインストーラが.NET 2.0用のODP.NET DLLをGACに登録してくれません。
このような場合に後からGAC登録するには以下のコマンドを実行すれば良いとのこと。(パスは適宜編集してください)

Skylake問題などもあって、企業向けシステムのWindows 10対応が少し早まっているようです。
まぁ、そもそもWindows 7で動いていれば普通に動きそうなものなのですが、High DPIなどの対応まで考慮するとそのままでは厳しい部分もあったりなかったり。



コメントを残す

メールアドレスが公開されることはありません。