4

我尝试了以下命令来注销 AssemblyFile:

regasm "AssemblyFilePath" /unregister /silent

但是,它仍然留下这样的注册表项:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{0039733E-1312-4535-B292-68A5137FE367}\InprocServer32]
" "="Mindjet.MindManager.Interop, Version=10.0.445.0, Culture=neutral, PublicKeyToken=19247b5ea06b230f"
"Class"="Mindjet.MindManager.Interop.AttachmentClass"
"RuntimeVersion"="v2.0.50727"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{0039733E-1312-4535-B292-68A5137FE367}\InprocServer32\10.0.445.0]
"Assembly"="Mindjet.MindManager.Interop, Version=10.0.445.0, Culture=neutral, PublicKeyToken=19247b5ea06b230f"
"Class"="Mindjet.MindManager.Interop.AttachmentClass"
"RuntimeVersion"="v2.0.50727"

那么,有没有办法自动删除左侧条目?谢谢

4

1 回答 1

4

程序集本身实际上负责注册和注销,因此实际程序集中可能存在未删除这些条目的问题。

您的问题的答案完全取决于上下文。对于卸载程序,我建议只使用代码手动删除这些条目,因为您知道它们会在那里。

我有一个安装程序,我曾经在其中调用 RegAsm 来注册/取消注册,但我认为在安装程序中包含代码来添加/删除注册表项比使用 RegAsm 更容易,这实际上是同一件事。

于 2011-10-10T04:17:01.243 回答