標籤:style 使用 sp 檔案 on 問題 window 安裝 程式
夜裡不想睡,研究了一下windows系統下軟體安裝的原理。
最基本的,安裝一個軟體會把需要的檔案拷貝到目的地址。如果只做這一步,軟體就可以使用,那麼這個軟體可以稱得上是純綠軟體了。這一步是任何軟體安裝都要進行的一步。
有的軟體安裝時,還會把一些dll拷貝到系統目錄中,這麼做的原因我想是因為會有別的程式共用這些dll。不然的話,只需要把dll和軟體的執行檔案放在同一個目錄裡,執行檔案就可以訪問到dll。至少對於函數庫的dll是如此,對於com是不是這樣我不清楚。說到這裡,讓我想起有些軟體安裝時還需要註冊一些dll,至於為什麼要註冊,我只知道函數庫類型的dll不需要註冊,而com需要註冊,不然系統就不能訪問。為什麼com要註冊才能訪問呢?這個,因為我對com不是很懂,所以也不能亂說。其實,系統裡註冊的dll多了,系統就會變慢,所以應該把那些不再需要的dll反註冊掉。那怎麼知道哪些dll是沒用的呢,可以在註冊表裡看到共用的dll被幾個程式使用。windows最佳化大師中清理冗餘dll就是用的這個原理。
另外,很多軟體安裝時都會向註冊表寫入一些值。這大概是使用者的一些設定,註冊資訊等。
最後,軟體安裝完成之前,為了方便使用者訪問軟體,安裝程式還會在開始菜單中放入程式組,在案頭放置捷徑,當然,一般這是可選的。
還有一個問題,就是有的軟體在安裝時都需要重啟。個中的原因,簡而言之就是安裝過程中要替換系統正在使用的檔案。重啟之前,windows把新的檔案先改成別的名字,以便和舊檔案共存。重啟之後,windows根據紀錄的資訊用新檔案替換掉舊檔案。有的軟體卸載時還需要重啟,是因為卸載過程要刪除系統正在使用的檔案。
其實,我很希望所有軟體都以壓縮包的方式發行,就像很多網友做的綠色免安裝版,用批處理來完成拷貝一些檔案到系統目錄和寫入註冊表值的任務。這樣的好處就是,系統重裝之後,不用像重裝軟體那樣重新複製檔案到目的地址,只需要點幾下滑鼠,軟體就又可以用了。減少寫磁碟的次數,也減少磁碟片段,不是很好嗎?
1:06 2007-5-30
windows下軟體安裝初探