Я создал библиотеку классов C#, которая использует другие dll, сделанные другими в компании, для COM-взаимодействия. Он используется с MS Excel 2013 и отлично работает на моей машине разработки.Развертывание DLL C# COM с помощью установщика
Чтобы проверить его на других машинах, я скопировал выходные данные (файл dll и .tlb) в папку с моей системой 32. Затем я зарегистрировал dll с использованием regasm (используя аргумент/codebase). Наконец, я добавил ссылку на .tlb в редакторе Excel VBA. Хотя это немного утомительно с 6 dll, regasm работает отлично.
Следующим шагом является распространение листа Excel соответствующим пользователям в компании, где большинство из них расположены в разных частях мира в разных вариантах. Это означает, что я не знаю, какие программы установлены (например .net 4.5). Кроме того, поскольку большинство людей в компании мало знают о командной строке, использование вышеописанной процедуры не только немного утомительно, но и пугает людей. Поэтому я хотел бы сделать установщик.
Поскольку я использую VS2013, у меня есть installed a plug, который позволяет мне создать файл установки.
Я нашел this вопрос, который почти такой же, как у меня, но мне не нужна часть GAC. Как изменить процедуру для моих нужд? - Я попытался следовать приведенной процедуре, но я получаю сообщение об ошибке, когда одна из DLL я использую самостоятельно, не имеет сильного имени и не может быть в GAC. Поэтому сборка не выполняется. Как исправить это? - Мне нужно исправить dll, или я могу сделать это без GAC-части?
Как мне автоматизировать процесс установки моих библиотек? - Альтернативой сейчас является развертывание VS2013 для пользователей и заставить их запустить проект и зарегистрировать его (достаточно ли VS-экспресс?).
Заранее спасибо - я начал этот проект с небольшого опыта, поэтому кривая обучения немного крутая.
Используя ILSpy, я вижу, что DLL, которая не удалась в сборке установщика, имеет publictoken = Null. Я предполагаю, что это корень моей проблемы. Возможно, я смогу заставить его работать, если я получу это исправление, и попробуйте снова создать установщик. – Anima