Я работаю над проектом, установка которого использует API, описанные в статье базы знаний Microsoft KB317540 , для установки и удаления сборок в GAC. В статье базы знаний говорится:
РЕЗЮМЕ
Приложение с нативным кодом
программные интерфейсы (API), которые
позволяют взаимодействовать с Глобальным
Сборочный кеш (GAC) не
задокументировано в .NET Framework
Комплект для разработки программного обеспечения (SDK)
документация.
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ
ВНИМАНИЕ: не используйте
эти API в вашем приложении для
выполнить монтажные привязки или проверить
наличие сборок или других
время выполнения, разработки или разработки
операции. Только административные инструменты
и программы установки должны использовать эти
API-интерфейсы. Если вы используете GAC, это
непосредственно подвергает ваше приложение
хрупкость сборки или может
заставить ваше приложение работать
неправильно в будущих версиях
.NET Framework.
GAC хранит сборки, которые
общий для всех приложений на
компьютер. Фактическое место хранения
и структура GAC не
задокументировано и может быть изменено в
будущие версии .NET Framework
и операционная система Microsoft Windows
система.
Единственный поддерживаемый метод доступа
Ассамблеи в GAC через
API, которые описаны в этом
статья.
Большинство приложений не должны использовать
эти API, потому что сборка
привязка выполняется автоматически
общеязыковая среда выполнения. Только
пользовательские программы установки или управления
инструменты должны использовать эти API. Microsoft
Установщик Windows имеет встроенную поддержку
для установки сборок в GAC.
Для получения дополнительной информации о сборках
и GAC, см. .NET Framework
SDK.
Используйте GAC API в следующих
сценарии: при установке
Сборка в GAC. Когда вы удаляете
сборка от GAC. Когда ты
экспортировать сборку из GAC. когда
вы перечисляете сборки, которые
доступно в GAC. НОТА:
CoInitialize (Ex) должен быть вызван до
Вы используете любую из функций и
интерфейсы, которые описаны в этом
спецификация.
Каковы плюсы и минусы этой техники? Безопасно ли использовать эти API? Кто-нибудь там использует их? Если так, то почему?