PR

Window10 削除できないグローバル・アセンブリ・キャッシュ(GAC)を削除する方法

スポンサーリンク

Windows10では、GAC(グローバル・アセンブリ・キャッシュ)でアプリケーションのバージョンを管理しています。

アプリケーションをアンインストールしても、GAC(グローバル・アセンブリ・キャッシュ)が削除されておらず、新バージョンのアプリケーションをインストールしても古いバージョンを参照してしまうことがあります。

今回は、GAC(グローバル・アセンブリ・キャッシュ)のアンインストールの方法を説明します。

スポンサーリンク

GAC(グローバル・アセンブリ・キャッシュ)とは

GAC(グローバル・アセンブリ・キャッシュ)とは、ザックリいうと、実行形式であるexeやdllのバージョン等の情報が格納されているところです。レジストリのようなものですね。

wikiによると、

グローバル アセンブリ キャッシュとは、マイクロソフト仕様の共通言語基盤 (英:Common Language Infrastructure、略称 : CLI)においてのコンピューター全域で共有される CLI アセンブリ キャッシュである。

そのままアンインストールできるものとできないものがあるのですが、今回は普通では削除できないものを削除する方法です。

Windows10のGAC

Windows10でGACは「C:\Windows\assembly」から確認できます。

アンインストールしても消えない

アンインストールしたアプリケーションでもGACのアセンブリが残ったままになるケースがあります。

それが原因でアプリケーションが動作しないことがあります。

よくあるのが、古いバージョンを削除(アンインストール)した後に新しいバージョンのアプリケーションをインストールしても、古いバージョンとして認識してしまうケース。

他にも、アンインストールしたアプリケーションを再度インストールしても「旧バージョンが残っています」と警告がでるケースも。

そんなときは、アセンブリキャッシュをアンインストールする必要があります。

GACをアンインストールする

Windows7では「C:\Windows\assembly」から該当のアセンブリキャッシュをクリックし、右クリックしてアンインストールできました。

Windows10では直接アンインストールができなくなりました。コマンドプロンプトを使用してアンインストールします。

削除コマンド

gacutil -u {アセンブリキャッシュ}

ここでは「System.Data.OracleClient.dll」を削除しました。

GACをアインインストールできない場合

通常はこれでいいのですが、アプリケーション自体をアンインストールした後にアセンブリを削除しようとすると「アクセスが拒否されました」という警告がでてアンインストールできません。

これはユーザーアカウント制御(UAC)によるものです。よって、一旦UACをOFFにして再起動しないとダメです。

UACのOFFは下記の通りです。

「コントロールパネル」→「ユーザーアカウント」→「ユーザーアカウント制御設定の変更」

Windows10 ユーザーアカウント制御(UAC)のレベルを変更する

ここのスライダーを一番下「通知しない」まで下げます。これでOFFになります。これで、消せないGAC(グローバル・アセンブリ・キャッシュ)をアンインストールできるようになります。

アセンブリキャッシュをアンインストールしたら、UACは元に戻しておきましょう。

以上、Windows10でアンインストールできないGAC(グローバル・アセンブリ・キャッシュ)をアンインストールする方法でした。

その他
スポンサーリンク
この記事が役立ちましたら是非ツイッター・Facebook等でシェアしてください!シェアして頂くと励みになります!

 

著者

名前:鎖の人

保有資格:ITパスポート、基本情報技術者、応用情報技術者、マイクロソフトオフィススペシャリスト(MOS Associate)、Microsoft認定プロフェッショナル Windows Server 2016(MCP)

筆者はソフトウェアエンジニアとしてIT業界に20年従事し、現在はエンジニア視点からOS・PCソフト・Office・オーディオ関連の記事をわかりやすく執筆しています。皆様のお役に立てれば幸いです。

コメント