首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何取消注册/删除在注册表中创建的所有COM项

问如何取消注册/删除在注册表中创建的所有COM项
EN

Stack Overflow用户
提问于 2014-08-16 10:01:21
回答 1查看 2.4K关注 0票数 3

如何删除ProgID("Log.Main")注册表中注册的所有COM条目。

我有一个COM组件,它是使用regasm注册的,现在我可以在注册表中的CLSID(“Log.Main”)下看到这个COM组件的多个类in (使用Log.Main)。

我希望使用ProgID 'Log.Main‘从注册表中使用C#从注册表中删除与此COM组件相关的所有条目,或者是否有其他可用的工具来清除注册表。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-16 10:26:05

这通常是不可能的,除非您仍然有原始组件。ProgId只给出Classes注册表项CLSID {guid}中的条目。您将无法在TypeLib和Interface注册表项中找到条目,因为您不知道它们的{guid}。

为了避免注册表污染,在重新构建组件之前,首先注销组件是非常重要的。当您使用“”选项时,这是由MSBuild自动完成的,该选项可以在project + Build选项卡属性页的.NET项目中获得。由于您需要运行VS elevated,所以MSBuild可以对寄存器进行猴子操作,右键单击快捷方式,然后选择。

如果由于某种原因这是不切实际的,那么您可以通过显式使用Guid属性找到一些解脱,因此类型库、接口和类Guid总是相同的。但是,在调试和测试组件时再次删除它们非常非常重要,否则在进行更改时会面临非常严重的DLL风险。强烈支持MSBuild自动为您完成此操作。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25339051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档