豚吐露@wiki
UninstallしたハズのOracle.DataAccessが邪魔をする
最終更新:
Bot(ページ名リンク)
-
view
UninstallしたハズのOracle.DataAccessが邪魔をする
Windows 7-64bit Pro
Oracle Database 11g
Oracle Database 11g
Oracle Databaseのuninstallを失敗して、uninstallしたハズのdllがGACに残ってて...
後から入れた別の11gのdllが認識されないという現象。(´・ω・`)
後から入れた別の11gのdllが認識されないという現象。(´・ω・`)
まぁ、ちゃんとuninstallできてないだけなんですけどね...
http://otndnld.oracle.co.jp/document/products/oracle11g/111/windows/E05879-05/deinstall.htm
http://otndnld.oracle.co.jp/document/products/oracle11g/111/windows/E05879-05/deinstall.htm
まず、GACってのは、『
Global Assembly Cache
』の略で、『C:\Windows\assembly』のことらしい。
アプリケーションがinstallされる際に、DLLがGACに突っ込まれて、他のアプリケーションでも使えるようになるらしい。
今まではversionの差異とか管理できんかったのが、できるようになっとるんですとよ。
アプリケーションがinstallされる際に、DLLがGACに突っ込まれて、他のアプリケーションでも使えるようになるらしい。
今まではversionの差異とか管理できんかったのが、できるようになっとるんですとよ。
で、何をどうしたのかと言うと...
Oracle Database 11gが入ってる環境で、『deinstall\deinstall.bat』を実行してアンインストールを試みた。
この時、bat実行に通常権限のコマンドプロンプトを使用。この時、『なんとなくアンインストールできたみたい。』で、他の11gを導入したらしい...
するってぇと、前の11gのdllが邪魔して、
Oracle Database 11gが入ってる環境で、『deinstall\deinstall.bat』を実行してアンインストールを試みた。
この時、bat実行に通常権限のコマンドプロンプトを使用。この時、『なんとなくアンインストールできたみたい。』で、他の11gを導入したらしい...
するってぇと、前の11gのdllが邪魔して、
ファイルまたはアセンブリ名 'ほげほげ'、またはその依存関係の 1 つが読み込めませんでした。見つかったアセンブリのマニフェスト定義はアセンブリ参照に一致しません。
ってエラーが吐かれるようになったらしい。
そこで、対策。
11gをちゃんとuninstallしてまっさらにしよう。
11gをちゃんとuninstallしてまっさらにしよう。
①管理者権限で実行したコマンドプロンプトから『deinstall\deinstall.bat』を実行する。
管理者権限で実行すればちゃんときれいにuninstallできる。
実行中の質問。データベース名選べってのはそのままEnter押して、実行するよってのは『y』でEnterでOK。
管理者権限で実行すればちゃんときれいにuninstallできる。
実行中の質問。データベース名選べってのはそのままEnter押して、実行するよってのは『y』でEnterでOK。
②GAC『C:\Windows\assembly』にある11gがらみのものをuninstallする。
例えば、以下のようなものがあるので、この中から残ってるのがあったらuninstall。
例えば、以下のようなものがあるので、この中から残ってるのがあったらuninstall。
Oracle.DataAccess Oracle.DataAccess.resources Oracle.Database.Extensions Oracle.Web Oracle.Web.resources Policy.2.102.Oracle.DataAccess Policy.2.111.Oracle.DataAccess Policy.2.111.Oracle.Web
この、『Policy.…』ってヤツらがversionの管理とかやってるっぽくて...
『Oracle.*』が無くなっても『Policy.*』が残ってると、いつまで経ってもエラーが消えない。
まぁ、手動で消す時に消し忘れたんだね...
関連するのを消し忘れんように、手動で消すときは『公開キー トークン』でsortして、同じ値の項目をチェックするようにすること。
この『公開キー トークン』ってヤツは、ベンダー毎のユニークキーみたいなので『89b483f429c47342』で探せばOracle絡みのものが見つかるハズ。
『Oracle.*』が無くなっても『Policy.*』が残ってると、いつまで経ってもエラーが消えない。
まぁ、手動で消す時に消し忘れたんだね...
関連するのを消し忘れんように、手動で消すときは『公開キー トークン』でsortして、同じ値の項目をチェックするようにすること。
この『公開キー トークン』ってヤツは、ベンダー毎のユニークキーみたいなので『89b483f429c47342』で探せばOracle絡みのものが見つかるハズ。
uninstallをする際、通常の設定だと、右クリックして『アンインストール』を選んでも
『アクセスが拒否されました: 'ほげほげ'』
ってメッセージが出てアンインストール出来ないと思う。
これは、UACが邪魔をしてるからで、UACを切ってあげればuninstallできるようになる。
『アクセスが拒否されました: 'ほげほげ'』
ってメッセージが出てアンインストール出来ないと思う。
これは、UACが邪魔をしてるからで、UACを切ってあげればuninstallできるようになる。
UACの切り方は、[コントロールパネル]-[ユーザー アカウント]。
ダイアログが開いたら『ユーザー アカウント制御設定の変更』を選択。スライダを一番下に変更する。
この変更はOSを再起動しないと有効にならないので注意。
ダイアログが開いたら『ユーザー アカウント制御設定の変更』を選択。スライダを一番下に変更する。
この変更はOSを再起動しないと有効にならないので注意。
ここまでやって、再度所望の11gをinstallする。
これで、実行時errorが無くなりました。
同じような問題が出てる人、これで解決しませんかね?
これで、実行時errorが無くなりました。
同じような問題が出てる人、これで解決しませんかね?
ここまでやる必要は無いと思うけど、参考までに...
32bit版と64bit版のODACを共存させたい
32bit版と64bit版のODACを共存させたい
更新日: 2015年11月16日 (月) 19時09分48秒