
Полагаю, это в основном проблема Windows, но почему некоторые программы нужно устанавливать для корректной работы, а затем удалять, когда они удалены, а некоторые другие просто представляют собой исполняемые файлы, которые можно запускать и удалять независимо?
решение1
Когда программист использует функцию, которая не является собственной для Windows, а вместо этого требует общей библиотеки DLL, например, какой-либо фреймворк, программу необходимо установить, чтобы убедиться, что все общие библиотеки DLL размещены в правильном месте.
Uninstall делает то же самое: он проверяет, используются ли общие библиотеки DLL, используемые программой, другими программами, и если нет, то он удаляет общие библиотеки DLL.
Общие библиотеки DLL обычно размещаются в папке C:\Windows\System32 (или syswow64 соответственно).
Иногда программист просто хочет включить установщик, чтобы он автоматически размещал ярлыки в меню «Пуск» и/или на рабочем столе, в то время как сама программа фактически не использует общие библиотеки DLL.
Наконец, некоторые языки программирования компилируют код скрипта в исполняемый файл и используют определенные библиотеки. Visual Basic является формой такого языка. В этих случаях вам действительно нужно связать набор dll с вашей программой, чтобы гарантировать, что они работают правильно. Копирование исполняемого файла может по-прежнему работать, если эти общие dll уже присутствуют в системе, но если их там нет, пользователь получит ошибку, утверждающую, что он пропустил определенный файл, например: vbvm50.dll (среда выполнения Visual Basic 5.0)