如果我的.net程序集不再位于同一位置,如何取消注册?

Ror*_*ory 5 .net interop registration regasm

我有一个已注册com interop的dll,所以在HKLM\Software\Classes\CLSID [my guid]\InprocServer32 [my version no]\Codebase下它有已注册dll的路径.但是,我重新安排了我的文件夹结构,以便路径不再正确.有没有办法取消注册该DLL而不将其重新注册,然后取消注册,然后再次删除该文件?

如果我不再拥有该dll,或者只有一个具有不同版本号的那个,该怎么办?

pet*_* k. 2

不同的版本号(通常)并不重要。只要较新的 DLL 包含旧版本中出现的所有 GUID,它将被正确取消注册(通过 regasm,exe 使用新的 DLL)。当然,为 COM 互操作重新注册程序集将正确地重新定位必要的注册表项。