2010-12-08 404 views
2

我已經使用Windows,Mac OS和Linux(Ubuntu,Redhat)。在Mac OS上,安裝新應用程序(在大多數情況下)只需要將其複製到/Applications,而在Windows中,安裝程序將文件複製到整個位置。在Linux中,make install或Debian安裝程序也會將文件複製到多個不同的文件夾中。爲什麼大多數Mac應用程序不需要安裝(只需複製到/應用程序)?

是因爲Mac軟件大多是自包含的嗎?或者是因爲操作系統如此聰明以至於處理引擎蓋下的依賴關係?

回答

2

這只是如何處理依賴關係的選擇,而不是操作系統本身所做的任何魔法。獨立應用程序具有減少依賴性問題和簡化應用程序管理(拖放!)的優點,但帶來的問題是需要將應用程序與庫和其他依賴關係進行捆綁。此外,還需要努力更新/維護應用程序,以便糾正安全缺陷等問題(對於軟件包管理員而言,這項任務稍微簡單一些)。

2

因爲OS X上的大多數「.app」應用程序都是獨立的,並且打包了它們自己的所有依賴版本。以Perforce爲例,它們的每個GUI應用程序(P4v和P4Admin)都捆綁了它們自己的依賴項,這意味着每個應用程序都附帶100多個QT庫MB,總計幾乎有半個。

但這是一種折衷,一方面爲了方便安裝,另一方面的尺寸。

+0

很酷,感謝您的解釋。 – 2010-12-08 20:14:06

0

我不能肯定地說100%,但是它的主要原因是它是自包含的。通常,當軟件啓動時,它會創建所需的任何文件,通常是plist和其他幾個文件,但通常不會超過幾個。

+0

並非所有的軟件都這樣做。 – mcbeav 2010-12-08 05:21:23

0

正如其他人所說,Mac .app文件大體上是獨立的。另一方面,Windows需要大量的信息進入Windows註冊表。 DLL必須註冊,shortcusts,外殼擴展,卸載要求等等等等等。

相關問題