# 1 Читайте на sn.exe. Создайте файл ключа строгого имени, затем щелкните правой кнопкой мыши свой проект в обозревателе решений и измените его свойства. Выберите вкладку «Подписание» и добавьте файл ключа. Если в вашей корпорации есть файл ключа, вы можете отложить подпись сборки и затем передать ее хранителю закрытого ключа (у вас не будет доступа к нему, потому что он крайне заблокирован, потому что если он открытый, любой может подписать его). приложение олицетворяет вашу компанию.) Не забудьте открыть папку «Свойства» в обозревателе решений и отредактировать имя / версию / и т. д. вашей сборки.
# 2 Вы говорите, что можете использовать DLL после удаления? В это трудно поверить.
# 3 В пакетах установщика, таких как Installshield, предусмотрена возможность регистрации сборок .NET по мере необходимости. В качестве альтернативы вы можете использовать regasm / regfile для создания .reg, который можно объединить с целевым реестром. Я действительно рекомендую: 1) использовать коммерческий инструмент для сборки вашего установщика или 2) быть ярким богом технологии MSI. Очень сложно написать правильный установщик с помощью инструментов SDK и даже с Wix.
# 4, насколько я знаю, не имеет обходного пути. Я думаю, что Microsoft решила, что было бы неправильно иметь доступ к управляемой сборке к другой управляемой сборке через сборку управляемой оболочки поверх оболочки COM-интерфейса, реализованной 2-й управляемой сборкой. Возможно, они не хотели, чтобы это стало обычным способом обойти правила привязки частной / глобальной сборки.
В любом случае, возможно, вы могли бы отредактировать библиотеку типов так, чтобы она «дурачила» управляемый генератор оболочек (TlbImp.exe), думая, что это собственная библиотека типов COM, но стоит ли это того? Большинство коммерческих приложений с общедоступным API имеют инструкции по использованию API приложения от COM и от управляемых клиентов, причем одно или другое является оболочкой, в зависимости от реализации Приложения. Эта техника работает для многих поставщиков без проблем в течение многих лет.