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 回答