
対象となる製品:
・Delphi/C++Builder/RadStudio 2007
・Delphi/C++Builder/RadStudio 2009
・Delphi Prism
対象となるOSプラットホーム:
Win32

はじめに

「RAD Studioのアンインストール」
http://support.codegear.com/jp/article/37469

「Delphi/C++Builder/RAD Studio2009のアンインストール」
http://support.codegear.com/jp/article/38836

上記の方法を利用し、製品のアンインストールを実行しても「グローバルアセンブリキャッシュ
(以降 GAC)」へコピーされたファイルは、アンインストーラーによって削除されません。
これはGACのコードキャッシュがコンピュータ全体で共有されているため、これらを削除することにより
共通言語ランタイム(CLR)上で動作する複数のアプリケーションに影響を与える可能性があるためです。
基本的には、これらのキャッシュは消さずに残しておくことが望ましいのですが、
特定のケースにおいて、逆にGAC内にキャッシュが残っていることが理由により問題を引き起こす事
があります。

例えば、
Delphi 2009をアンインストールした後、Delphi 2007をインストールするようなケースで、
一部のアセンブリファイルが適切に置き換わらないことがあります。
その場合には、一度GAC内にキャッシュされているアセンブリを削除し、適切なアセンブリを再登録する
必要があります。

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

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

但し、GACという性質上、弊社製品以外の他のアプリケーションから参照されている事があり、
削除することによって、それらが動作しなくなる恐れがあります。
そのため、ご自身でよくご確認頂き、削除実行をお願いします。

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

エンバカデロ製品をインストールすると.NETアセンブリは、デフォルトでは
以下のフォルダへインストールされます。
C:\Windows\assembly
また、GACへコピーされたアセンブリファイルのコピーは、<CommonFilesFolder>以下に格納されています。
<CommonFilesFolder>のデフォルトは、C:\Program Files\Common Filesです。

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

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

原則としてGACへインストールされたエンバカデロ製品のアセンブリ名には規則性があり、
PrefixとしてBorlandやDelphiといった名前が使われています。

例えば、
Borland.Data.Common.*
DelphiProvider.*
など

以下、各製品でインストールされるアセンブリ名とバージョンとなります。
*(アクタリスク)は、パッケージ名のワイルドカードを表しております。
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 |
|
|

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

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

・グローバルアセンブリキャッシュツール(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

このうち(1)の方法は、別途 .NET Framework SDKをインストールする必要があるため、
ここでは、どの実行環境でも利用可能な(2)の方法でご説明します。

アンインストール方法:
- WindowsエクスプローラでGACのフォルダを開きます。(デフォルトでは、C:\Windows\assembly)
- GAC一覧から、削除したいアセンブリを選択します。
(Shiftキーを押しながらファイルを指定することで、複数のアセンブリが選択可能です)
- マウスを右クリックし、[アンインストール]を選択します。
削除するアセンブリ名とバージョンは、上述しました「エンバカデロ製品の.NETアセンブリ」
をご参照ください。


Windows Vistaで(2)の方法を利用した場合、ユーザーアカウント制御(UAC)によって
アクセスが拒否されることがあります。

その場合には、一旦 UACの機能を”オフ”に設定し、 OSを再起動した後、
再度アンインストールの手順をお試しください。
そして、アンインストール完了後は、UACの機能を”オン”に設定してください。
以下の手順は、UACの機能を”オフ”にする設定です。
- スタートメニューから[コントロールパネル]を選択し、左ペインで[クラシック表示]をクリック
- [ユーザーアカウント]アイコンをダブルクリック
- [ユーザーアカウント制御の有効化または無効化]を選択
- [続行]ボタンをクリックし、[ユーザーアカウント制御 (UAC) を使ってコンピュータの保護に役立たせる]オプションのチェックを外す

- [OK]ボタンをクリックし、OSを再起動する
※UACの機能を”オン”にする場合は、手順4の[ユーザーアカウント制御 (UAC) を使ってコンピュータの保護に役立たせる]オプションのチェックを付けてください。
GACへアセンブリの再インストール
もし誤ってGACで参照されているアセンブリを削除してしまったり、アセンブリを登録し直したい時は、
上述の「.NETアセンブリの配置場所」で説明したアセンブリファイルのコピーが残っていれば、
グローバルアセンブリキャッシュツール(GacUtil.exe)を利用し、GACへ再インストールすることができます。
GacUtil.exeは .Net Framework SDKの一部として提供されているため、もし実行環境にSDKがインストールされていない場合には、以下のWebサイトより入手が必要です。

「Microsoft .NET Framework 2.0 SDK 日本語版 (x86)」
http://www.microsoft.com/downloads/details.aspx?familyid=fe6f2099-b7b4-4f47-a244-c96d69c35dec&displaylang=ja

※実行環境内にVisual Studio 2005/2008(製品版)、又はDelphi/C++Builder/RadStudio 2007が
既にインストールされていれば、グローバルアセンブリキャッシュツール(GacUtil.exe)は利用できるため、
別途 SDKを入手する必要はありません。

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

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