標籤:

為什麼軟體需要安裝?

首先聲明我是純外行。在我看來軟體安裝包已經有了軟體運行所需全部文件。如果要做到所有軟體不需安裝有哪些困難?現在一些軟體的綠色版相對於安裝版有什麼缺點?


Windows 下安裝程序主要進行以下工作:

1. 檢查運行所需的系統版本、運行時/庫、軟體、硬體、磁碟空間等。

2. 清理老版本軟體,為更新做好準備。

3. 複製文件到安裝路徑。不是每個軟體都能在任意路徑下面跑起來的,由於歷史遺留問題或者程序員懶得搞(相信我,這太 TM 難搞了)導致的路徑中空格或者 Unicode 字元問題會導致大量 Bug。所以安裝程序要先判斷。還有一些文件要被寫入其它地方,比如 Shared DLL 以及需要安裝到 Common Files 等等地方的文件。

4. 註冊組件,主要是調用 regsvr32 註冊 dll,還有安裝服務等。

5. 寫入註冊表,主要是軟體配置文件,卸載信息,開機啟動等等。

6. 清理安裝時的臨時文件。

這些大多數都必須讓安裝程序完成。

至於綠色軟體的原理,要麼本身軟體就不依賴註冊表項和 shared dll 等才能運行,要麼是通過一個程序在軟體啟動前臨時寫入,退出後再刪除的。(相當於每次打開都安裝一次,關閉後自動卸載掉。PortableApps 和雲端軟體平台就是這個原理。)


軟體,歸根到底是程序

因為操作系統的問題,軟體必須依靠操作系統的一些功能才能實現

安裝就是為了告訴操作系統,我要用那些,怎麼用,也就是傳說的寫註冊表。

如果軟體不依賴操作系統那就無所謂了

比如一些HTML5的程序,和網頁app,只要有瀏覽器就可以了,就不需要安裝了


跟打針吃藥是一個意思,進入機體,發揮作用。


推薦閱讀:

Android Design 的規範是否不夠明確,或太過瑣碎?
windows下有什麼好用的屏幕錄像軟體?
修改電腦的Hosts文件為什麼不能阻斷網路訪問?
有哪些軟體可以提高日常辦公效率?
如何徹底關閉迅雷的瀏覽器下載響應功能?

TAG:軟體 |