#c# #visual-studio-2010 #dll #setup-project #uninstallation
#c# #visual-studio-2010 #dll #установка-проект #удаление
Вопрос:
Я написал приложение Windows forms с использованием c # и создал установочный файл.Все работает нормально. Мой вопрос; мы можем выбрать, какие dll и exe-файлы следует включить в программу установки, например, можем ли мы выбрать, какую dll следует удалить или, по крайней мере, когда мы пытаемся удалить программу, может ли она спросить нас «если я должен это… общие DLL-файлы»? Потому что, когда я удаляю ее, она может удалять общие DLL-файлы, используемые системой в данный момент. Таким образом, возникнет проблема. Я создал установочный файл в Visual Studio.
Ответ №1:
Принимая этот вопрос за чистую монету: очень маловероятно, что вы на самом деле устанавливаете библиотеки DLL, которые используются совместно другими программами. Как система сборки VS, так и мастера проекта установки очень стараются помешать вам сделать это. Единственный эффективный способ сделать это в .NET — дать сборке строгое имя и развернуть ее в GAC. Способ, отличный от GAC, заключается в реализации AppDomain.Событие AssemblyResolve. Вы бы упомянули это в своем вопросе, если бы вы действительно это сделали.
Обычный режим развертывания для приложения Winforms — ClickOnce или установщик, подобный созданному вами, или простое копирование файлов. Если после установки EXE-файл и используемые им библиотеки DLL находятся в одном каталоге, значит, вы не предоставляете общий доступ ни к каким библиотекам DLL.
Если я ошибся в этом, и вы на самом деле используете общий доступ к DLL, то, безусловно, лучшее решение — прекратить это делать. С DLL-адом не стоит возиться.
Ответ №2:
вы можете рассмотреть другое упаковочное программное обеспечение, такое как InstallShield, Visual Studio Packaging projects не предлагает такую конфигурацию.
Комментарии:
1. на самом деле я хочу, чтобы programto остановил меня. и спросите меня, какие DLL-ы следует удалить.