
我想這主要是 Windows 的問題,但為什麼有些程式需要安裝才能正常工作,然後卸載才能刪除,而其他一些程式只是作為可以獨立運行和刪除的可執行檔呢?
答案1
當程式設計師使用非 Windows 原生函數而是需要共用 DLL(例如某種框架)時,需要安裝程式以確保所有共用 DLL 都放置在正確的位置。
卸載也做同樣的事情,它會查看該程式使用的共用dll是否被其他程式使用,如果沒有,則刪除該共用dll。
共用 dll 通常放置在 C:\Windows\System32(或分別為 syswow64)資料夾中。
有時,程式設計師只是想包含一個安裝程序,以便它自動在開始功能表和/或桌面中放置快捷方式,而程式本身實際上並不會使用共用 dll。
最後,某些程式語言將腳本程式碼編譯為可執行檔並使用某些程式庫。 Visual Basic 就是這類語言的一種形式。在這些情況下,您確實需要將一組 dll 與您的程式捆綁在一起,以確保它們正常運作。如果這些共用dll 已存在於系統上,則複製可執行檔可能仍然有效,但如果它們不存在,使用者將收到錯誤訊息,聲稱他們錯過了某個文件,例如:vbvm50.dll(Visual Basic 5.0 運行時)