我猜这主要是 Windows 的问题,但为什么有些程序需要安装才能正常工作,然后卸载才能删除,而其他一些程序只是作为可以独立运行和删除的可执行文件?
答案1
当程序员使用非 Windows 原生的功能而是需要共享 dll(例如某种框架)时,需要安装该程序以确保所有共享 dll 都放置在正确的位置。
卸载程序执行相同的操作,它将查看程序使用的共享 dll 是否被其他程序使用,如果没有,那么它将删除共享 dll。
共享 dll 通常放在 C:\Windows\System32(或分别为 syswow64)文件夹中。
有时程序员只想包含一个安装程序,以便它自动将快捷方式放置在开始菜单和/或桌面上,而程序本身实际上并不使用共享 dll。
最后,一些编程语言将脚本代码编译成可执行文件并使用某些库。Visual Basic 就是这种语言的一种形式。在这些情况下,您需要将一组 dll 与程序捆绑在一起,以确保它们正常工作。如果这些共享 dll 已存在于系统中,则复制可执行文件可能仍然有效,但如果不存在,用户将收到一条错误消息,声称他们错过了某个文件,例如:vbvm50.dll(Visual Basic 5.0 运行时)