Я развернул MSI, который включает в себя несколько C ++ COM. Мы адаптируем его для работы в Windows 7 / Server 2008, и по какой-то причине самостоятельная регистрация COM больше не работает. В результате я изменил их все на COMRelativePath.
Это, похоже, сработало, но 3 компонента, как ни странно, не регистрируются. При сборке установщика вижу это сообщение для тех, кто не регистрируется:
ПРЕДУПРЕЖДЕНИЕ. Невозможно создать регистрационную информацию для файла с именем 'ComponentThatWontRegister.dll'
Проведя обширные исследования и перепробовав все обходные пути, я не могу пройти через это. Я попытался настроить RegCap.exe и devenv для работы в различных режимах совместимости и повышения до административных привилегий. Я пробовал Visual Studio 2010, та же проблема.
Странно то, что большинство СОМ регистрируются просто отлично, и они ВСЕ установлены одинаково; только очень немногие имеют эту проблему. Я прошел COM-пункт за элементом, и я не могу найти ничего, что могло бы сделать один сбой, а другой успешным. Кроме того, в той же системе, если я регистрирую com с помощью regsvr32, он работает, пока я запускаю командную строку как администратор.