#.net #dll #frameworks #.net-assembly #regasm
#.net #dll #фреймворки #.net-сборка #regasm
Вопрос:
Я попробовал следующую команду для отмены регистрации файла сборки:
regasm "AssemblyFilePath" /unregister /silent
Тем не менее, он по-прежнему оставляет такие записи реестра:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREClassesCLSID{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_MACHINESOFTWAREClassesCLSID{0039733E-1312-4535-B292-68A5137FE367}InprocServer3210.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"
Итак, есть ли способ автоматически удалить оставленные записи? спасибо
Ответ №1:
Сама сборка фактически отвечает за регистрацию и отмену регистрации, поэтому, возможно, в самой сборке есть проблема, из-за которой эти записи не удаляются.
Ответ на ваш вопрос полностью зависит от контекста. В случае деинсталлятора я бы предложил просто использовать код для ручного удаления этих записей, поскольку вы знаете, что они там будут.
У меня есть установщик, в котором я вызывал RegAsm для регистрации / отмены регистрации, но я решил, что гораздо проще просто включить код в установщик для добавления / удаления записей реестра вместо использования RegAsm, что фактически одно и то же.
Комментарии:
1. Крис (или кто-либо еще, кто знает об этом) не могли бы вы подробнее рассказать о том, какие проблемы могут привести к сбою сборки при удалении записей CLSID? Сейчас мы сталкиваемся с этой ситуацией, и у меня возникают проблемы с поиском какой-либо информации о том, как правильно собрать сборку, чтобы она могла удалять свои записи CLSID при отмене регистрации.