6

登録済みの古いバージョンが多数あるアセンブリがあります。

私が持っている唯一のdllは最後のものです。

アセンブリのすべてのバージョンを登録解除するにはどうすればよいですか?

ありがとう。

編集:実行時にこれを実行したいので、 regasm -u ... または他のスクリプトのようなソリューションが必要です。

4

1 に答える 1

3

編集: 削除しようとしているレジストリ エントリが関連付けられていると想定しています。

Regasm は .reg ファイルを出力できます。

/regfile オプションを使用すると、レジストリを直接変更する代わりに、レジストリ エントリを含む .reg ファイルを生成できます。レジストリ エディタ ツール (Regedit.exe) を使用して .reg ファイルをインポートすることにより、コンピュータのレジストリを更新できます。

実行時に古いバージョンをアンインストールしたい場合は、おそらく次のことができます。

1) 現在のアセンブリの reg ファイルを作成します (参照用)。

2) 同様のキー (バージョン番号が異なる可能性がありますか?) についてレジストリを調べるアプリケーションを作成します。

3) regasm を使用して、一致するアセンブリを登録解除します。必要に応じて、regsvr32 を使用して COM エンティティをアンインストールします。

4) これらのキーをプログラムで慎重に削除します。

5) 新しいアセンブリを登録します。

6) 新しく登録されたアセンブリを gacutil します (必要な場合)。

私の COM/Interop は少しさびているので、うまくいかない場合はコメントを残してください。

于 2010-10-10T08:41:39.643 に答える