Я написал надстройку для Solidworks (dll). Чтобы Solidworks мог его найти, необходим дополнительный раздел реестра, который я установил в файле ComRegistryFunction
. Когда я компилирую его и регистрирую .dll с помощью regasm.exe \tlb
, все работает как задумано.
Теперь я хочу распространять надстройку, и я искал проекты установки, чтобы все было хорошо упаковано. Я много гуглил, но, честно говоря, довольно сложно найти достоверную информацию по этой теме. Вот что я сделал:
- Добавьте мою dll в качестве «основного вывода» в проект установки
- Для этого файла установите для параметра «Регистрация» значение «vsdrpCOM».
Однако программа установки не устанавливает пользовательские ключи реестра (похоже, она не запускает функцию ComRegisterFunction моего класса).
Мне удалось заставить его работать, вручную добавив эти разделы реестра на вкладку "Реестр" проекта установки. Но это означает, что я должен вручную вводить GUID класса, а также описание и название, хотя все это уже указано в классе. Я знаю, что когда-нибудь в будущем забуду изменить то или иное.
Как я могу заставить установщик автоматически извлекать эти ключи реестра и устанавливать их?
Я использую Visual Studio 2017 и .Net v4.