2010-10-10 69 views
6

我有一個程序集,它有很多舊的註冊版本。取消註冊.net程序集的舊版本

我唯一的dll是最後一個。

如何取消註冊程序集的所有版本?

謝謝。

編輯:我想在運行時執行此操作,所以我想要regasm -u ...或其他腳本-y解決方案。

回答

3

編輯:我假設有關聯註冊表項,您嘗試刪除。

Regasm可以輸出.reg文件。

您可以使用/ REGFILE選項 生成包含 註冊表項,而不是直接使 更改註冊表.reg文件。您可以通過導入.reg文件和 註冊表編輯器工具(Regedit.exe)來更新註冊表 上的註冊表。

如果你想在運行時卸載舊版本,想必你可以:

1)創建當前裝配一個reg文件(供參考)。

2)編寫檢查類似鑰匙註冊表(也許不同的版本號的應用程序?)

3)使用regasm註銷匹配組件。如有必要,請使用regsvr32卸載COM實體。

4)小心地以編程方式刪除這些鍵。

5)註冊您的新程序集。

6)gacutil新註冊的程序集(如果需要)。

我的COM/Interop有點生疏,所以請留下評論,如果這不起作用。

+0

對不起,不清楚。我想在運行時執行此操作。 – 2010-10-10 08:45:53

+2

然後使用一個腳本來做到這一點(枚舉該文件夾中的文件,然後在你想刪除的文件夾上運行'regasm/u'。 – 2010-10-10 08:50:58

+0

@Allon - 好點...仍然會有COM引用來處理 – 2010-10-10 08:52:20

相關問題