Мой проект установки в Visual Studio развертывает DLL, которая настроена для регистрации в COM. Установщик позаботится о необходимых настройках реестра, но есть один ключ, который я хотел бы изменить: ключ InprocServer32 в одном из моих классов. Обычно он содержит «mscoree.dll», но мне нужно, чтобы он содержал «[SystemFolder] mscoree.dll». Я пытался исправить это несколькими способами.
Первым делом я попытался создать преобразование MSI с добавленной записью в таблицу Registry и применить его в качестве действия после сборки. Это обычно ломалось, потому что мои ключи компонентов не были согласованы между сборками.
Затем я попытался создать запись реестра с помощью VS в окне реестра. Это не сработало, потому что регистрация COM перезаписала мой раздел реестра, а не наоборот.
Затем я вернулся к идее преобразования MSI, добавил запись в таблицу компонентов и сделал запись ключа реестра частью этого компонента. Это совсем не сработало, и я не знаю почему.
Итак, кто-нибудь знает, как изменить регистрацию COM в установщике Windows? Можете ли вы указать, где я ошибся?