為什麼 macOS 安裝 dmg 可以一拖了事,而 Windows 下大部分軟體必須要啟動安裝程序?

設計上有什麼差別嗎?我知道Windows也有綠色軟體,但都是一些非主流的小工具或者是第三方修改的東西。

而Mac主流就是拖動安裝的,有人說Adobe不是拖動安裝,但是功能和Lightroom相似的Capture One是拖動安裝。說明Mac上大型軟體不讀進度條也是完全可行的。

既然macOS軟體不需要配置一堆環境,寫註冊表什麼的,一樣可以正常工作。那麼windows搞那麼麻煩是不是一種缺陷?


需要配置環境的也不行。不信你去裝裝看Mac版anaconda


作為macOS前用戶表示

先問是不是,再問為什麼

你在macOS下裝Office和Matlab還有Adobe全家桶是拖過去的???

記得大一的時候用的md102還是機械硬碟,裝個ps還得個把小時呢


.dmg 只是個容器,可以粗略理解為一個很特殊的 .rar

.app 類似綠色軟體,解壓直接用

.pkg 類似 .msi 安裝包,解壓一路下一步安裝以後再用


感謝回答,我想我大概是猜到了一點真相了。這應該是一系列歷史遺留問題的行程。

現在我們說安裝一個軟體,好像軟體天生就應該是放在計算機硬碟里一樣。但在90年代初期,個人電腦上還只有dos和unix操作系統的年代,程序並不是安裝在計算機硬碟上的。

我記起來我家的第一台電腦,那時候買到的『軟體』其實都是一盒盒實實在在的軟盤。不是安裝盤!那時候用大部分軟體,都要先插入那個軟體的3.5寸盤或者5寸盤(3.5寸盤驅動器是windows的A盤,5寸是B盤。現在你們知道為什麼硬碟分區為什麼是C盤開始了嗎?)然後再啟動程序。退出程序之後將磁碟拔出,留待下次使用。比如江民殺毒就是一張5寸盤,而某個早期英語學習軟體則是一疊3.5寸盤……當然這也意味著同一時間主機上只能運行一個前台軟體,好在那時候本來就都是命令行操作,並沒有什麼不合理。

很顯然,早期的PC硬碟空間並不足以支撐『把程序都放在硬碟上』這種現在看起來天經地義的需求。而Mac研發比PC還要更早一些,所以Mac設計之初為了讓使用者和開發者能比較合理的管理自己的軟體,提出了這種『一個軟體對應一張磁碟』的概念。要用哪個插哪個,當然那時候也不存在『安裝』的概念,因為『軟盤』里的程序都是已經安裝好了的狀態,沒辦法也不需要把它移到主機硬碟上。

到Windows圖形界面出現的時候,多窗口切換程序變得很重要。但一台機器上不太可能給你裝一排軟碟機/光碟機。於是『把程序都放到硬碟上』變成了必須要做的事情。好在硬碟容量也終於提升到了可以容納個人應用程序的水平,於是微軟開始研究如何合理的實現『安裝』這個概念。

從現在來看微軟的這套複雜的安裝邏輯,應該是為了盡量優化空間佔用而生的。因為那時候的硬碟空間還是很有限,經不起一丁點浪費。所以必須要儘可能多的重複使用已有的庫和資源,那麼每安裝一個組件,就都必須要做一套複雜的檢查。同時還得有一個地方告訴後來的程序有哪些東西可以復用……從那個時候的設計者的角度來說,安裝的時候確實浪費了不少時間,但換來的是以後你可以輕鬆的啟動多個軟體,在前台自由切換。一切還是值得的,只是這種無奈的摳門策略最後變成了一種標準,就有點尷尬了……

那麼Mac那時候在做什麼呢?他們在開除喬布斯!(當然後來又把next買了回來……)再加上後來放棄power pc重返x86的折騰,總之是錯過了搞一套相似的體系的時間點。等到OS X最終塵埃落定重返市場的時候,硬碟技術又有了大的進步。這一回,已經不需要錙銖必較的省空間了,儘管每個軟體自己的體量也變得很大,但整個放到硬碟里還是綽綽有餘的。

於是把當初『一個軟體對應一個軟盤』的概念拿出來,變成把安裝盤裡已經裝好可以獨立運行的軟體直接複製到硬碟上,就自然而然的成了最直接也最省事的方案。相比浪費的幾個G硬碟空間,安裝快速,管理方便才是最重要的嘛!而喬教主對簡潔直觀的用戶體驗的追求也一定是很欣賞這種方式,於是就成了Mac上的主流。


你裝個Anaconda試試

另外Mac的app文件要求程序自己把所有需要的資源打包進去,於是Office for Mac 2016五個組件的總體積近8G,遠遠大於Windows版,原因就是Office for Mac為了確保文檔兼容性自帶了常用字體,然後由於資源不能共享,五個組件就自帶了五份相同的字體……


謝邀,大多數的原因其他人都回答了,這裡補充一下,win一般用動態庫,這樣可以減少安裝程序的體積,也可以減少安裝後的體積。mac程序則很多是不用共享庫的,而是打個包一起裝進去,所以體積往往很大,十分佔用空間。不用修改動態庫也成了不需要重啟的一個原因。這個方法是好是壞,就看如何取捨了。個人不喜歡這種方式,安裝後太占空間會導致ssd硬碟空間很快不足,而mac還不能自己換硬碟!


windows也有不需點下一步就可以安裝的啊,甚至連拖都不需要。比如金山毒霸,獵豹瀏覽器[滑稽]


前面的回答各有千秋,下面補充兩個:

還有一個主要的原因,蘋果的app是一種包格式,而不是一個單獨的文件。一個包是一種特定格式的文件夾,在文件夾中可以包含自己所需的文件,相比較Windows的exe可執行文件方式,包給程序帶來了一定的自由度和好處,比如:內部資源文件便於訪問,還可以對其更新;只在使用時調用這樣不必擔心內存問題;包內資源文件可以包含任意媒體文件,甚至是程序和其他包,這就便於擴展和集成;一個包可以包含它所有需要的資源。上面這些是單獨執行文件方式所無法達到的,執行文件方式,需要將資源文件保存在其它位置來作為支撐。當然也是各有優缺點,比如單文件方便於文件簽名。

另外一個原因是,程序「註冊「信息的分散化。Mac不使用Windows的集中式的」單文件「的註冊表資料庫管理方式,而是讓軟體自己管理自己的註冊和配置信息,而且是分層(域)管理的,而且使用XML格式。這一點上,雙方各有優勢,不過隨著程序的增加和使用,後者的優勢就顯示出來了;但是在刪除應用時,分散化不太容易清理乾淨,或者說出現問題是不易排錯。


有差別。

如果你在win上用所謂的綠色軟體,那你也可以一解壓就完事。

win上面有的軟體需要在安裝的時候配置運行環境,或者添加註冊表信息什麼的,這些操作就應該是你說的那個安裝程序所要完成的。

如果你執意喜歡Mac上面安裝軟體的風格,你可以在win上下載軟體時多留意三個字,綠色版,這樣的軟體就可以開包即用了

其實對於Mac來說也不是所有的軟體都是這麼安裝的,如果需要配置運行環境或者需要修改系統參數等,常用的安裝都是在終端下操作的,這個安裝過程就不是一拖了事了,也是會有一個顯式的安裝過程的。


virtualbox之類的也不行啊。再說拖一下也很慢啊


在mac上裝個adobe全家桶試試?

裝個Autodesk全家桶試試?

或者來個spoonw?裝個編譯器?驅動?

拖進application的安裝方式windows對應地有綠色版。只不過osx上日常用的軟體絕絕絕大多都不需要配置環境而已,畢竟系統默認給的沙盒環境已經夠用了。win上很多日常軟體還是需要寫註冊表的,綠色版不知道來源可不可信。

況且dmg有些時候裡面打包的不是.app,而是.pkg等,這個時候也是有安裝進度條的。


感謝 @Richard Yu 指出的錯誤

---from @Richard Yu

dmg 在 Windows 中對應的是 vhd,它們屬於虛擬磁碟鏡像

以下為補充內容

有關dmg,當前翻譯為蘋果磁碟映像

---來自維基

蘋果磁碟映像是OS X系統中常用的磁碟映像。當打開一個磁碟映像時,Finder會載入一個虛擬磁碟(掛載為一個卷)。蘋果磁碟映像結構可以是通用磁碟映像格式(Universal Disk Image Format, UDIF)或者新磁碟映像格式(New Disk Image Format, NDIF)。蘋果磁碟映像的文件後綴通常是「.dmg」。

有關pkg

---來自維基

Installer是包含在Mac OS X裡面的一個應用程序,用來從.pkg封裝檔解開和安裝檔案,是由蘋果電腦所創造出來幫助作者產生統一的軟體安裝程式。

---來自百度百科

我們在Mac上安裝軟體,常常要通過pkg格式的安裝包進行安裝。它類似Windows下的安裝程序,但是非常統一高效。通常pkg安裝包都有歡迎、安裝信息、許可協議、介紹、目的宗卷、安裝和摘要等項目,有的pkg還有自定義選項或者註冊軟體的選項。

有關vhd

---翻譯自維基

vhd是一種虛擬硬碟的文件格式,和物理硬碟一樣,可包含文件和文件夾,僅在微軟虛擬主機/虛擬伺服器,或是Hyper-V使用。

原鏈接VHD (file format)

=====以下為原回答=====

有,但是也有相同的地方

mac的dmg文件和win下的vhd差不多,而win下的exe和mac的pkg類似。打開exe/pkg需要進行授權確認,而部分像自解壓類型的exe以及部分軟體的安裝包使用直接複製文件到指定路徑的方式進行安裝。

同樣,mac下也有需要進行一步步安裝的程序,和win下步驟相同,用戶同意書,指定安裝位置等。然而,我認為某些直接進行拖移且沒有附帶用戶知情同意書的安裝包,存在迴避用戶知情的嫌疑。

mac下大部分程序可以進行拖移安裝,win下也行,只要程序將所需組件集成到安裝包內,或者系統集成所需要的組件,安裝包只需要解壓程序,隨後由程序進行調用。

至於操作的過程,我認為在win下更多的像是一種傳統,從很久以前安裝程序就是一步步進行下去,需要用戶點擊是/否進行確認每一步操作。mac下的拖移安裝簡化了這個過程,win下也可以有相關的實現方式,甚至是雙擊後進行授權就可以全部安裝完畢,中間不需要任何圖形界面。

最後,不論win,mac,當且僅當對所下載的文件有把握的時候才進行拖移安裝。


Windows上的百度全家桶 360全家桶 騰訊全家桶什麼時候需要點擊安裝了?


因為macOS的大部分常用軟體也就是win上綠色軟體的水平。。

然後win上的綠色軟體也是解壓一下就能用

至於mac上的專業軟體嘛,其他很多答主也說了,一樣要走安裝程序。。


比如Office for Mac 就需要進度條的顯示

但是目前我遇到了絕大部分 是一拖了事的

MacBook Pro的使用者 不懂什麼深度開發什麼 我只要快!


win做不到嗎 隨手給你寫一個 全家桶裝到你懷疑人生

每次運行都重新釋放一次文件很好嗎


win下的應用軟體安裝重啟系統?請問你是不是在搞笑啊


Windows 也有拖一下就能用的綠色軟體,mac也有需要下一步下一步安裝的,這不是絕對的。說白了app不過是個文件夾。


Dmg是一種磁碟鏡像文件,你可以結成iso或者就是一個rar包。

而mac下的應用,也就是.app文件,單個文件也是一個包,在mac os下稱作一個bundle,裡面包含了這個應用的所有必須文件,相當於你雙擊的是一個文件夾而不是單一的文件。

你可以右鍵這個.app,選擇「顯示包內容」來查看裡面的東西。


uwp就不是啊,uwp下載下來就直接能啟動


推薦閱讀:

為什麼說Mac os相比Windows方便?
Linux 和 OS X 病毒很少真的只是因為使用人數較少的緣故嗎?
如何批量恢復 Mac OS X 廢紙簍里的文件?
Mac如何打開身份不明開發者的程序?
Linux, OS X, Windows 的圖形界面架構是如何的?

TAG:macOS | MicrosoftWindows | 操作系統 | 計算機 |