標籤: 暫無標籤

綠色軟體,或稱可攜式軟體(英文稱為Portable Application、Portable Software或Green Software),指一類小型軟體,多數為免費軟體,最大特點是軟體無需安裝便可使用,可存放於快閃記憶體中(因此稱為可攜式軟體),移除后也不會將任何紀錄(註冊表消息等)留在本機計算機上。通俗點講綠色軟體就是指不用安裝,下載直接可以使用的軟體。綠色軟體不會在註冊表中留下註冊表鍵值,所以相對一般的軟體來說,綠色軟體對系統的影響幾乎沒有,所以是很好的一種軟體類型。

1軟體特徵

綠色版軟體有如下嚴格特徵(漢化綠色版就是已漢化的綠色軟體):
1 不對註冊表進行任何操作。
2 不對系統敏感區進行操作,一般包括系統起動區根目錄、安裝目錄(Windows目錄)、程序目錄(ProgramFiles)、帳戶專用目錄。
3 不向非自身所在目錄外的目錄進行任何寫操作。
4 因為程序運行本身不對除本身所在目錄外的任何文件產生任何影響,所以,根本不存在安裝和卸載問題。
5 程序的刪除,只要把程序所在目錄和對應的快捷方式刪了就可以了(如果你手工在桌面或其它位置設了快捷方式),只要這樣做了,程序就完全乾凈地從你的電腦里刪去了,不留任何垃圾。
6 不需要安裝,隨意拷貝、複製就可以用(重裝操作系統也可以)。

2基本分類

綠色軟體分為狹義綠色廣義綠色
狹義的綠色可以叫做純綠色軟體,就是指這個軟體對現有的操作系統部分沒有任何改變,除了軟體現在安裝的目錄,應該不往任何地方寫東西,刪除的時候,直接刪除所在的目錄就可以了,就類似於以前的大多數DOS程序。
廣義的綠色可以叫作偽綠色軟體,就是指不需要專門的安裝程序,對系統的改變比較少,手工也可以方便的完成這些改變,比如拷貝幾個動態庫,或者導入註冊表,這裡的關鍵是手工可以方便的完成這些改變,或者可以藉助於批處理等等腳本完成。
為什麼要分為兩類
雖然狹義的綠色軟體最為理想,但是完全符合這種定義的軟體非常罕見,而相當多的軟體可以劃分到廣義的綠色這個類別,這樣包括了廣義的綠色軟體的概念后使得綠色軟體這個概念更有意義。
那麼不符合綠色軟體要求的有哪些呢?
主要是指那些和操作系統聯繫和集成非常緊密的軟體,這些軟體不適合製成綠色軟體,最好還是用原來的安裝程序來安裝。如IE6,替換了系統中的許多動態庫,手工完成這個過程很困難,也不太安全。又比如大多數殺毒軟體,如果 必須實時監控系統的底層運作,對系統的修改比較大,就不適合做成綠色軟體。還有微軟公司的Office系列軟體,和系統集成的也比較緊密。但是廣義的這個標準比較靈活,如果有人搞清楚了Office系列軟體的安裝製作過程,也有可能製作出廣義的綠色的Office系列。

3深入了解

為了充分理解綠色軟體的定義,必須從現代軟體的安裝過程和運行過程兩個方面來討論。
安裝過程:以前在dos下面的時候,就沒有這些所謂綠色軟體的說法,原來程序的安裝基本上都是簡單的複製或者解壓縮,然後配置一下config.sys 和autoexec.bat文件就可以了。隨著windows的發展,應用軟體也越來越大,也越來越複雜,從而有公司專門從事安裝程序的製作,如InstallShield就是一款比較有名和應用比較廣泛的安裝軟體,現在Windows也有了專門的安裝程 序,就是Microsoft Installer。安裝程序的作用是什麼呢?主要是為了給要安裝的程序提供一個簡單方便的設置環境,而不需要用戶手工完成這個步驟,越是複雜的配置過程,對系統的修改越多,對安裝程序的依賴性就越高,Windows程序的易學易用的優點和良好的安裝界面 是分不開的,安裝軟體的任務就是給應用程序提供一個初步完好的可以運行的環境,而不需要用戶進行手工配置。
運行過程:應用程序啟動的時候,從註冊表或者配置文件中讀取配置,運行的時候,可以修改配置,但這個修改一般是在安裝軟體所作工作的基礎上進行的,例如不能改變應用程序的安裝位置了。
明白安裝過程和運行過程的區別後,很容易就想到把綠色軟體的使用按照這兩個階段分為綠色安裝過程和綠色運行過程。綠色安裝是綠色運行的前提,沒有綠色安裝,也就說不上什麼綠色運行了,綠色軟體首先必須是綠色安裝,我前面提到的不適合綠色軟體標準的基本上都是不能綠色安裝的。
綠色安裝的基本含義,我認為可以也可以分為狹義的和廣義的綠色安裝:
1 狹義的綠色安裝就是指直接拷貝或者解壓縮到目標目錄,不需要向系統目錄拷貝也不需要寫入註冊表,這是最理想的情況,或者是安裝程序的作用除了解壓縮外是可以忽略的,如在開始菜單加入快捷鍵等對系統和軟體的運行沒有太大影響的操作,也就是說安裝過程的作用就是複製文件到目標文件夾。
2 廣義的綠色安裝就是指在狹義的複製的基礎上,必須向系統目錄拷貝一些動態庫,或者要在註冊表中導入必要的設置,或者要進行一些其他的配置,否則的話,應用程序不能運行,而且這個配置工作應該比較簡單,也容易撤銷這些操作對系統的改變。
同樣,綠色運行也可以分為狹義的和廣義的綠色運行:
1 狹義的綠色運行指的是軟體運行時完全不改變操作系統的文件和配置--很多小程序屬於這個類別,或者運行結束后把撤銷對系統的改變,比如運行的時候載入一個驅動程序,退出時卸載該驅動程序,所操作的INI文件在自己的程序目錄中。
2 廣義的綠色運行指的是可以通過程序本身來改變當前的設置,如改變當前軟體的運行方式,或者與某些文件後綴相關聯,或者在註冊表中留下當前的軟體設置,也就是說對系統的註冊表有永久的改變,但是這些改變都是應用程序自己完成的,不需要藉助其他程序或者用手工完成。
綜合綠色安裝和綠色運行,可以把綠色軟體細分為:
1 狹義的綠色安裝,同時是狹義的綠色運行的軟體,對操作系統沒有任何改變。
2 狹義的綠色安裝,廣義的綠色運行的軟體,軟體的配置工作由軟體本身來完成,不是通過安裝程序。
3 廣義的綠色安裝,狹義的綠色運行,軟體的配置工作由安裝程序來完成,軟體本身不能對配置修改,同時如果沒有配置工作,軟體無法正常運行。
4 廣義的綠色安裝,廣義的綠色運行,最複雜的一種綠色軟體,軟體的配置工作由安裝程序來完成,但是軟體本身可以對配置 修改,同時如果沒有配置工作,軟體無法正常運行。
只有第一個類別屬於我說的狹義的綠色軟體,其他3類都屬於廣義的綠色軟體的範疇。

4製作方法

綠色軟體的製作簡稱軟體的「綠化」,綠色軟體的製作實際上就是我們自己完成安裝程序的工作。沒有什麼固定的方法,基本上是猜測加上試驗,不同類別的綠色軟體分別有不同的製作策略。
拿到一個新的軟體,想要製成綠色軟體的話,一般遵循如下步驟:
綠化
對於不同的軟體有不同的方法,沒有一定的規則,但是總的來說,就是理解軟體的安裝過程,轉換為綠色安裝,在這個過程中,可能需要嘗試多個方法,也可能最後由於軟體的複雜性或者某些特性,導致無法綠化。要有失敗的思想準備,具體的綠化方法隨後講 述。
虛擬化
所謂虛擬化,就是通過把應用程序安裝到一些輕量級的虛擬系統,這些虛擬系統本身非常輕量體積不到6M,但是卻可以和真實Windows一樣,本身支持獨立安裝運行軟體,保存數據,擁有自己的獨立桌面。虛擬系統實現了操作系統與應用程序分離的目標,安裝到虛擬系統之中的任何應用程序都可以在不同的Windows操作系統之間靈活遷移。因此我們可以用它來製作綠色軟體,特別是一些常規方法無法製作的軟體,用虛擬化的方式會更加容易實現。
安裝然後卸載
也是比較容易的方法,完全是體力勞動,就是指直接安裝這個軟體,然後把程序複製出來,最後卸載安裝程序。如果這個軟體的安裝程序的作用僅僅是複製文件和生成快捷鍵等工作,那麼就屬於綠色安裝,可以使用這個方法。最後測試軟體的功能是否正常, 如果功能正常,那麼「綠化」就成功了,如果使用不正常,那麼就換別的方法。
反安裝程序
現在的軟體安裝完成後絕大多數都帶有卸載方法。卸載是安裝的逆過程,如果知道怎麼卸載,那麼也可以推測出如何安裝。由專門的安裝工具製作的反安裝程序,一般都是根據某一個文件中的信息來卸載的,可以用一個純文本的編輯器打開這 個文件。個別情況下這個文件完全不包含可讀信息,就只好換用其他方法了。具體過程就是先採用方法2,然後理解反安裝過程,最後根據反安裝的信息製作綠色軟體。
註冊表綠化
這個方法是上面的方法5的簡化版,現在軟體的配置大多寫在註冊表中的「HKEY_LOCLAL_MACHINE\SOFTWARE\軟體公司名字」和「HKEY_CURRENT_USER\SOFTWARE\軟體 公司名字」這2個鍵下面,直接對把這2個註冊表鍵導出到REG文件中。自註冊的COM組件都需要導出如下4個函數:DllCanUnloadNow,DllGetClassObject,DllRegisterServer, DllUnregisterServer,可以用vc自帶的depend.exe找出哪一個動態鏈接庫是自註冊的COM組件。最後寫一個批處理文件用regsvr32.exe註冊COM組件和用regedit.exe導入註冊表。
通過上面分析安裝程序的動作,把安裝程序的工作分解為複製文件,註冊COM組件,安裝服務驅動,註冊表配置等幾個部分,雖然註冊表配置可以覆蓋註冊COM組件,安裝服務驅動等操作步驟,但是把這些明顯分割出來有助於製作綠色安裝的軟體。對於需要更複雜的步 驟來安裝的軟體,還是使用原來的安裝程序比較保險。
下一篇[反色]

相關評論

同義詞:暫無同義詞