我有一个有很多旧注册版本的程序集.
我唯一的dll是最后一个.
如何取消注册程序集的所有版本?
谢谢.
编辑:我想在运行时这样做,所以我想要像regasm -u ...或其他一些脚本解决方案.
编辑:我假设您尝试删除关联的注册表项。
Regasm 可以输出 .reg 文件。
您可以使用 /regfile 选项生成包含注册表项的 .reg 文件,而不是直接对注册表进行更改。您可以通过使用注册表编辑器工具 (Regedit.exe) 导入 .reg 文件来更新计算机上的注册表。
如果您想在运行时卸载旧版本,大概您可以:
1)为当前程序集创建一个reg文件(供参考)。
2) 编写一个应用程序来检查注册表中是否有类似的键(可能具有不同的版本号?)
3) 使用 regasm 取消注册匹配的程序集。如有必要,请使用 regsvr32 卸载 COM 实体。
4) 小心地以编程方式删除这些键。
5) 注册您的新程序集。
6) gacutil 新注册的程序集(如果需要)。
我的 COM/Interop 有点生疏,所以如果这不起作用,请留下评论。