製品アンインストール後のGACの削除について

概要: 製品をアンインストール後のGACの削除に関して

02000003

対象となる製品:

・Delphi/C++Builder/RadStudio 2007
・Delphi/C++Builder/RadStudio 2009
・Delphi Prism

対象となるOSプラットホーム:

Win32

02000003

    はじめに

02000003

「RAD Studioのアンインストール」

http://support.codegear.com/jp/article/37469

02000003

「Delphi/C++Builder/RAD Studio2009のアンインストール」

http://support.codegear.com/jp/article/38836

02000003

上記の方法を利用し、製品のアンインストールを実行しても「グローバルアセンブリキャッシュ

(以降 GAC)」へコピーされたファイルは、アンインストーラーによって削除されません。

これはGACのコードキャッシュがコンピュータ全体で共有されているため、これらを削除することにより

共通言語ランタイム(CLR)上で動作する複数のアプリケーションに影響を与える可能性があるためです。

基本的には、これらのキャッシュは消さずに残しておくことが望ましいのですが、

特定のケースにおいて、逆にGAC内にキャッシュが残っていることが理由により問題を引き起こす事

があります。

02000003

例えば、

Delphi 2009をアンインストールした後、Delphi 2007をインストールするようなケースで、

一部のアセンブリファイルが適切に置き換わらないことがあります。

その場合には、一度GAC内にキャッシュされているアセンブリを削除し、適切なアセンブリを再登録する

必要があります。

02000003

この記事では、以下の内容を目的としています。

02000003

・製品のアンインストール後、不要となったアセンブリの完全削除

.NETアセンブリの再登録

02000003

但し、GACという性質上、弊社製品以外の他のアプリケーションから参照されている事があり、

削除することによって、それらが動作しなくなる恐れがあります。

そのため、ご自身でよくご確認頂き、削除実行をお願いします。

02000003

    .NETアセンブリの配置場所

02000003

エンバカデロ製品をインストールすると.NETアセンブリは、デフォルトでは

以下のフォルダへインストールされます。

C:\Windows\assembly

また、GACへコピーされたアセンブリファイルのコピーは、<CommonFilesFolder>以下に格納されています。02000003

<CommonFilesFolder>のデフォルトは、C:\Program Files\Common Filesです。

02000003

Delphi/C++Builder/RadStudio 2007:

<CommonFilesFolder>\CodeGear Shared\RAD Studio\Shared Assemblies\5.0

Delphi/C++Builder/RadStudio 2009:

<CommonFilesFolder>\CodeGear Shared\RAD Studio\Shared Assemblies\6.0

Delphi Prism:

<CommonFilesFolder>\CodeGear Shared\Delphi Prism\Shared Assemblies\

<CommonFilesFolder>に格納されたファイルは、アンインストーラーによって削除されます。

02000003

    エンバカデロ製品の.NETアセンブリ

02000003

原則としてGACへインストールされたエンバカデロ製品のアセンブリ名には規則性があり、

PrefixとしてBorlandやDelphiといった名前が使われています。

02000003

例えば、

Borland.Data.Common.*

DelphiProvider.*

など

02000003

以下、各製品でインストールされるアセンブリ名とバージョンとなります。

*(アクタリスク)は、パッケージ名のワイルドカードを表しております。

     Delphi/C++Builder/RadStudio 2007製品

アセンブリ名

アセンブリバージョン

Borland.Vcl*

Borland.Delphi.*

Borland.Data.Dbx*

Borland.Web.Provider

DelphiProvider.*

11.0.5000.0

Borland.Data.Common.*

Borland.Data.Db2

Borland.Data.DataSync

Borland.Data.Interbase

Borland.Data.MSAcc

Borland.Data.MSsql

Borland.Data.Mysql

Borland.Data.Oracle

Borland.Data.Provider.*

Borland.Data.Sybase

Borland.Data.Web

3.0.0.0

※エディションにより、

データベースドライバの

種類が異なります。

Borland.dbkqsp

10.5.0.0

Borland.Data.BlackFishSQL.*

8.0.0.0

Eco CapableObjectsをインストールした場合:

アセンブリ名

アセンブリバージョン

Borland.Eco.*

Eco.*

DroopyEyes.Eco.*

4.0.0.0

     Delphi/C++Builder/RadStudio 2009製品

アセンブリ名

アセンブリバージョン

Borland.Vcl*

Borland.Delphi.*

DelphiProvider.*

12.0.0.0

Borland.Data.AdoDbxClient.*

11.0.5000.0

Borland.Data.Common.*

Borland.Data.Provider.*

3.0.0.0

Borland.Data,DbTest

Borland.Data.DbxClientDriver

Borland.Data.DbxCommonDriver

Borland.Data.DbxDb2Driver

Borland.Data.DbxInformixDriver

Borland.Data.DbxInterBaseDriver

Borland.Data.DbxMSSQLDriver

Borland.Data.DbxMySQLDriver

Borland.Data.DbxOracleDriver

Borland.Data.DbxSybaseASADriver

Borland.Data.DbxSybaseASEDriver

12.0.0.0

※エディションにより、

データベースドライバの

種類が異なります。

Borland.Data.BlackFishSQL.*

8.0.0.0

     Delphi Prism製品

アセンブリ名

アセンブリバージョン

Borland.Vcl*

Borland.Delphi.*

Borland.Globalization

Borland.Web.Provider

Borland.Studio.*

DelphiProvider.*

12.0.0.0

Borland.Data.AdoDbxClient.*

11.0.5000.0

Borland.Data.Common.*

Borland.Data.Provider.*

3.0.0.0

Borland.Data.Common

Borland.Data.DbxClientDriver

Borland.Data.DbxCommonDriver

Borland.Data.DbxInterBaseDriver

12.0.0.0

Borland.Data.BlackFishSQL.*

8.0.0.0

02000003

    GACからアセンブリのアンインストール

02000003

GACへインストールされたアセンブリファイルをアンインストールする方法は、

2通りあります。

02000003

・グローバルアセンブリキャッシュツール(GacUtil.exe)を利用する

http://msdn.microsoft.com/ja-jp/library/ex0ss12c(VS.80).aspx

・アセンブリ キャッシュ ビューア (Shfusion.dll)を利用する

http://msdn.microsoft.com/ja-jp/library/34149zk3(VS.80).aspx

02000003

このうち(1)の方法は、別途 .NET Framework SDKをインストールする必要があるため、

ここでは、どの実行環境でも利用可能な(2)の方法でご説明します。

02000003

アンインストール方法:

  1. WindowsエクスプローラでGACのフォルダを開きます。(デフォルトでは、C:\Windows\assembly)
  2. GAC一覧から、削除したいアセンブリを選択します。

(Shiftキーを押しながらファイルを指定することで、複数のアセンブリが選択可能です)

  1. マウスを右クリックし、[アンインストール]を選択します。

削除するアセンブリ名とバージョンは、上述しました「エンバカデロ製品の.NETアセンブリ」

をご参照ください。

Hide image
Click to see full-sized image

02000003

Windows Vistaで(2)の方法を利用した場合、ユーザーアカウント制御(UAC)によって

アクセスが拒否されることがあります。

Hide image
assembly

その場合には、一旦 UACの機能オフ設定し、 OS再起動した後、

再度アンインストールの手順をお試しください。

そして、アンインストール完了後は、UACの機能をオン設定してください。

以下の手順は、UACの機能を”オフ”にする設定です。

  1. スタートメニューから[コントロールパネル]を選択し、左ペインで[クラシック表示]をクリック
  2. [ユーザーアカウント]アイコンをダブルクリック
  3. [ユーザーアカウント制御の有効化または無効化]を選択
  4. [続行]ボタンをクリックし、[ユーザーアカウント制御 (UAC) を使ってコンピュータの保護に役立たせる]オプションのチェックを外す

Hide image
uac

  1. [OK]ボタンをクリックし、OSを再起動する

※UACの機能を”オン”にする場合は、手順4の[ユーザーアカウント制御 (UAC) を使ってコンピュータの保護に役立たせる]オプションのチェックを付けてください。

    GACへアセンブリの再インストール

もし誤ってGACで参照されているアセンブリを削除してしまったり、アセンブリを登録し直したい時は、

上述の「.NETアセンブリの配置場所」で説明したアセンブリファイルのコピーが残っていれば、

グローバルアセンブリキャッシュツール(GacUtil.exe)を利用し、GACへ再インストールすることができます。

GacUtil.exeは .Net Framework SDKの一部として提供されているため、もし実行環境にSDKがインストールされていない場合には、以下のWebサイトより入手が必要です。

02000003

「Microsoft .NET Framework 2.0 SDK 日本語版 (x86)」

http://www.microsoft.com/downloads/details.aspx?familyid=fe6f2099-b7b4-4f47-a244-c96d69c35dec&displaylang=ja

02000003

※実行環境内にVisual Studio 2005/2008(製品版)、又はDelphi/C++Builder/RadStudio 2007が

既にインストールされていれば、グローバルアセンブリキャッシュツール(GacUtil.exe)は利用できるため、

別途 SDKを入手する必要はありません。

02000003

以下、Microsoft .NET Framework 2.0 SDKに含まれるGacUtilを使用し、

Delphi 2007用のBorland.Data.AdoDbxClientアセンブリを登録する例を示します。

  1. スタートメニューから[Microsoft .NET Framework SDK v2.0]-[SDKコマンドプロンプト]を選択
  2. Delphi 2007のアセンブリが置かれているディレクトリへ移動。例えば、以下のように入力します。
cd “C:\Program Files\Common Files\RAD Studio\Shared Assemblies\5.0”
  1. アセンブリをGACへインストール。例えば、以下のように入力します。
gacutil –i Borland.Data.AdoDbxClient.dll  

Hide image
Click to see full-sized image

正常にアセンブリが登録された場合、上記のように表示されます。