Внезапно обнаружил чудную проблему с деинсталяцией COM-объектов.
Есть два MSI-пакета с COM-объектами: для 32 и 64 бит.
Оба ставятся и работают как ожидается.
При деинсталляции одного из них, перестает работать второй.
Исследование показало, что оба пакета создают ProgID-ы в HKCR.
И когда деинсталлируется любой из пакетов, он эти ProgID-ы удаляет.
Поэтому второй пакет перестает работать.
Если руками добавить удаленный ProgID (или выполнить repair второго пакета), то второй пакет снова начинает работать.
Я свято верил, что MSI (где-то) хранит счетчики использования ключей реестра и не удаляет их если счетчик не обнулен.
Нашел в сети
вот этот древний топик, но решения не увидел
Как эта проблема решается?
-- Пользователи не приняли программу. Всех пришлось уничтожить. --