Выбор DLL-файлов во время удаления прикладной программы Windows form

#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-ы следует удалить.