目錄 定義安裝完操作係統後,我們一般需要安裝一些常用的軟件,但是隨着我們常用軟件的增多,這個安裝過程顯得越來越令人厭煩:運行setup,然後是選擇目標路徑,不斷的重複這個過程。後來我見到有人製作所謂的緑色軟件 ,不需要安裝,感覺很方便。當時很好奇,想知 道怎麽做的,有沒有什麽方便的工具等等,可是在網上沒有找到什麽相關的知識,隨着自己的一步步摸索,我逐漸積纍了一些經驗和比較有效的方法,在這裏提供給大傢。
首先要先弄清楚何謂緑色軟件 ?其定義是什麽?我收集了一些網友的討論和想法:
a 說,不需要安裝 同時 不嚮註册表寫入任何東西
b 說,應該還包括不嚮係統文件夾拷貝文件,我的理解就是:安裝這個軟件對現有的操作係統沒有任何改變,改變包括寫註册表之類的。
c 說,除了你現在安裝的目錄,應該不往任何地方寫東西(比如log)。
d 說,免安裝,並且 不往程序所在目錄以外的任何地方産生垃圾文件,還有 不寫註册表
e 說,綜上加一條,可以放在移動存儲器上在任一電腦上使用且效果相同。
f 說,好像不寫註册表,直接copy來就可以用得就算吧。
g 說,重新安裝係統的時候,僅需導入註册表,不需重新安裝,就可以認為是緑色軟件 。
h 說,其實衹要不寫註册表、不往係統文件夾寫文件,哪怕需要.ini文件也在軟件自己的目錄裏就行,那麽就可算作緑色軟件 ,特徵是能夠任意copy到別的文件夾照樣能用或重裝係統後直接能用,沒有其它變化。所以有小部分“安裝”的軟件其實也符合緑色軟件 ,因 為它 的安裝衹是解壓縮建立文件夾而已。
i 說,基本同意,但不寫註册表的幾乎是不可能,你衹要運行過那個軟件,打開註册表編輯器hklm和hklu下面software看看,幾乎都會留下鍵值,其實這樣也應該叫做緑色的吧。
綜合上面的意見,可以總結出緑色軟件 的優點,就是對操作係統無污染(恐怕這也是緑色這個名字的由來),不需要安裝,方便卸載,便於攜帶,可以拷貝到便攜的u盤上到處運行。
分類
我的意見是,緑色軟件 應該分類,分為狹義的緑色和廣義的緑色:
狹義的緑色可以叫做純緑色軟件 ,就是指這個軟件對現有的操作係統部分沒有任何改變,除了軟件現在安裝的目錄,應該不往任何地方寫東西,刪除的時候,直接刪除所在的目錄就可以了,就類似於以前的大多數dos程序。
廣義的緑色就是指不需要專門的安裝程序,對係統的改變比較少,手工也可以方便的完成這些改變,比如拷貝幾個動態庫,或者導入註册表,這裏的關鍵是手工可以方便的完成這些改變,或者可以藉助於批處理等等腳本完成。
為什麽要分為兩類?雖然狹義的緑色軟件 最為理想,但是完全符合這種定義的軟件非常罕見,而相當多的軟件可以劃分到廣義的緑色這個類別,這樣包括了廣義的緑色軟件 的概念後使得緑色軟件 這個概念更有意義。
那麽不符合緑色軟件 要求的有哪些呢?主要是指那些和操作係統聯繫和集成非常緊密的軟件,這些軟件不適合製成緑色軟件 ,最好還是用原來的安裝程序來安裝。如ie6,替換了係統中的許多動態庫,手工完成這個過程很睏難,也不太安全。又比如大多數殺毒軟件,如果 必須實時監控係統的底層運作,對係統的修改比較大,就不適合做成緑色軟件 。還有微軟公司的office係列軟件,和係統集成的也比較緊密。但是廣義的這個標準比較靈活,如果有人搞清楚了office係列軟件的安裝製作過程,也有可能製作出廣義的緑色的of fice係列。
為了充分理解緑色軟件 的定義,必須從現代軟件的安裝過程和運行過程兩個方面來討論。
安裝過程:以前在dos下面的時候,就沒有這些所謂緑色軟件 的說法,原來程序的安裝基本上都是簡單的復製或者解壓縮,然後配置一下config.sys 和autoexec.bat文件就可以了。隨着windows的發展,應用軟件也越來越大,也越來越復雜,從而有公司專門從事安裝程序的製作,如installshield就是一款比較有名和應用比較廣泛的安裝軟件,現在windwos也有了專門的安裝程 序,就是microsoft installer。安裝程序的作用是什麽呢?主要是為了給要安裝的程序提供一個簡單方便的設置環境,而不需要用戶手工完成這個步驟,越是復雜的配置過程,對係統的修改越多,對安裝程序的依賴性就越高,windows程序的易學易用的優點和良好的安裝界面 是分不開的,安裝軟件的任務就是給應用程序提供一個初步完好的可以運行的環境,而不需要用戶進行手工配置。
運行過程:應用程序啓動的時候,從註册表或者配置文件中讀取配置,運行的時候,可以修改配置,但這個修改一般是在安裝軟件所作工作的基礎上進行的,例如不能改變應用程序的安裝位置了。
明白安裝過程和運行過程的區別後,很容易就想到把緑色軟件 的使用按照這兩個階段分為緑色安裝過程和緑色運行過程。緑色安裝是緑色運行的前提,沒有緑色安裝,也就說不上什麽緑色運行了,緑色軟件 首先必須是緑色安裝,我前面提到的不適合緑色軟件 標準的基本上都 是不能緑色安裝的。
緑色安裝的基本含義,我認為可以也可以分為狹義的和廣義的緑色安裝:
1 狹義的緑色安裝就是指直接拷貝或者解壓縮到目標目錄,不需要嚮係統目錄拷貝也不需要寫入註册表,這是最理想的情況,或者是安裝程序的作用除瞭解壓縮外是可以忽略的,如在開始菜單加入快捷鍵等對係統和軟件的運行沒有太大影響的操作,也就是說安裝過程的作用就 是復製文件到目標文件夾。
2 廣義的緑色安裝就是指在狹義的復製的基礎上,必須嚮係統目錄拷貝一些動態庫,或者要在註册表中導入必要的設置,或者要進行一些其他的配置,否則的話,應用程序不能運行,而且這個配置工作應該比較簡單,也容易撤銷這些操作對係統的改變。
同樣,緑色運行也可以分為狹義的和廣義的緑色運行:
1 狹義的緑色運行指的是軟件運行時完全不改變操作係統的文件和配置--很多小程序屬於這個類別,或者運行結束後把撤銷對係統的改變,比如運行的時候加載一個驅動程序,退出時卸載該驅動程序,所操作的ini文件在自己的程序目錄中。
2 廣義的緑色運行指的是可以通過程序本身來改變當前的設置,如改變當前軟件的運行方式,或者與某些文件後綴相關聯,或者在註册表中留下當前的軟件設置,也就是說對係統的註册表有永久的改變,但是這些改變都是應用程序自己完成的,不需要藉助其他程序或者用手工 完成。
綜合緑色安裝和緑色運行,可以把緑色軟件 細分為:
1 狹義的緑色安裝,同時是狹義的緑色運行的軟件,對操作係統沒有任何改變。
2 狹義的緑色安裝,廣義的緑色運行的軟件,軟件的配置工作由軟件本身來完成,不是通過安裝程序。
3 廣義的緑色安裝,狹義的緑色運行,軟件的配置工作由安裝程序來完成,軟件本身不能對配置修改,同時如果沒有配置工作,軟件無法正常運行。
4 廣義的緑色安裝,廣義的緑色運行,最復雜的一種緑色軟件 ,軟件的配置工作由安裝程序來完成,但是軟件本身可以對配置 修改,同時如果沒有配置工作,軟件無法正常運行。
衹有第一個類別屬於我說的狹義的緑色軟件 ,其他3類都屬於廣義的緑色軟件 的範疇。
製作
下面講一下緑色軟件 的製作,簡稱軟件的“緑化”,緑色軟件 的製作實際上就是我們自己完成安裝程序的工作。沒有什麽固定的方法,基本上是猜測加上試驗,不同類別的緑色軟件 分別有不同的製作策略。
拿到一個新的軟件,想要製成緑色軟件 的話,我一般遵循如下步驟:
1 判斷。就是指猜測這個軟件能不能製成緑色軟件 ,從功能,從你對它的瞭解,如果你覺得這個軟件和係統的關係非常緊密,就不要繼續下去了,還是用原始的安裝程序最保險最方便,這樣的例子有directx9 ,ie6,norton的反病毒軟件等等。這樣的判斷可以節省你的時間,當然你可以忽略這一步,嘗試製作緑色軟件 ,那麽就轉到第2步。
2“緑化”。對於不同的軟件有不同的方法,沒有一定的規則,但是總的來說,就是理解軟件的安裝過程,轉換為緑色安裝,在這個過程中,可能需要嘗試多個方法,也可能最後由於軟件的復雜性或者某些特性,導致無法緑化。要有失敗的思想準備,具體的緑化方法隨後講 述。
3 測試。”緑化“後的測試最好到你個全新安裝的操作係統中測試,而且如果你要在多個操作係統中使用這個軟件的話,還要在其他的操作係統中測試,有的軟件的文件隨着操作係統的不同而不同,這個時候你需要在不同的操作係統中進行”緑化“過程,最後綜合為一個完整 的適應多個操作平臺的緑色軟件 。
“緑化”方法,需要根據經驗選擇不同的“緑化”方法,也可能需要不斷嘗試不同的方法,直到成功為止。按照先易後難的次序,具體的方法包括:
1 解壓縮。這是最簡單的一種方法,就是指嘗試能不能直接解開軟件的壓縮包。用winzip和winrar試一試,看看能不能直接打開壓縮的安裝文件,如果不能打開,那麽就換別的方法。如果可以,那麽恭喜,這個軟件多半是屬於緑色安裝的軟件(有個別例外,如e meditor),把壓縮包中的文件直接解壓到目標路徑,然後測試軟件的功能是否正常,如果功能正常,那麽“緑化”就成功了,如果使用不正常,那麽就換別的方法。這一類軟件的特點是安裝程序的工作完全可以由軟件自身來完成。
2 安裝然後卸載。也是比較容易的方法,完全是體力勞動,就是指直接安裝這個軟件,然後把程序復製出來,最後卸載安裝程序。如果這個軟件的安裝程序的作用僅僅是復製文件和生成快捷鍵等工作,那麽就屬於緑色安裝,可以使用這個方法。最後測試軟件的功能是否正常, 如果功能正常,那麽“緑化”就成功了,如果使用不正常,那麽就換別的方法。
3 反編譯安裝程序。這個方法需要動腦筋,就是根據安裝程序所用的製作工具,選擇相應的反編譯程序,然後閱讀反編譯出的安裝腳本,製作緑色軟件 。目前的軟件大多使用專門的安裝工具製作,如installshield,wise,inno setup,windows installer,nsis(nullsoft),installer vise,其中windows installer格式的安裝文件(就是msi,mst為後綴的文件),可以通過微軟的免費工具orca打開查看,installshield格式的安裝文件也有很多免費的工具可以解壓縮和查看腳本。當然專門的安裝工具很多,有許多安裝程序沒有相應的反編 譯程序,這種時候,就無法使用這個方法了。
4 觀察反安裝程序和log文件。現在的軟件安裝完成後絶大多數都帶有卸載方法。卸載是安裝的逆過程,如果知道怎麽卸載,那麽也可以推測出如何安裝。由專門的安裝工具製作的反安裝程序,一般都是根據某一個文件中的信息來卸載的,可以用一個純文本的編輯器打開這 個文件。個別情況下這個文件完全不包含可讀信息,就衹好換用其他方法了。具體過程就是先采用方法2,然後理解反安裝過程,最後根據反安裝的信息製作緑色軟件 。
5 比較係統快照。當前面的方法都失敗的時候,可以試一試這個方法。具體思路就是首先在安裝軟件之前,把係統的狀態記錄下來,主要包括註册表和係統目錄的所有的文件狀態。然後就是安裝軟件。安裝完成後,再一次記錄係統狀態。最後就是比較前後兩個係統狀態的不同 ,而得知安裝程序所做的工作。這個工作一般由專門的軟件完成,如免費工具regshot,免費工具inctrl5(http://www.pcmag.com/article2/0,414...??者wininstall le(在windows 2000 sever 光盤的目錄valueadd3rdpartymgmtwinstle中)。在多數時候,僅僅需要對比安裝前後註册表的不同,這時候還有大量的註册表工具可以選用。在得出係統差異後,把差異分解為兩個部分:文件部分和註册表部分。文件部分指的是嚮係 統目錄拷貝的文件,以及作為com組件註册的文件,還有與這些文件相關的註册表部分。註册表部分單單指其餘的註册表的變化。對於文件部分,可以進一步區分出必須要往係統目錄拷貝的文件(這種情況是少數)和可以放在軟件的安裝目錄的文件。對於註册表部分,區 分出由這個軟件的安裝程序本身所作出的註册表操作和註册com組件時候的註册表操作,拋棄其他程序(如資源管理器explorer)的操作。根據所有這些,寫一個拷貝文件,註册com組件和導入註册表的批處理文件,就可以完成緑色軟件 的製作了。當註册表文 件中含有路徑信息的時候,可以手工修改註册表文件或者把註册表文件轉化為inf文件從而實現全自動的路徑處理。
6 直接導出註册表,尋找自註册的com組件。這個方法是上面的方法5的簡化版,現在軟件的配置大多寫在註册表中的“hkey_loclal_machinesoftware軟件公司名字”和“hkey_current_usersoftware軟件 公司名字”這2個鍵下面,直接對把這2個註册表鍵導出到reg文件中。自註册的com組件都需要導出如下4個函數:dllcanunloadnow,dllgetclassobject,dllregisterserver, dllunregisterserver,可以用vc自帶的depend.exe找出哪一個動態鏈接庫是自註册的com組件。最後寫一個批處理文件用regsvr32.exe註册com組件和用regedit.exe導入註册表。
通過上面分析安裝程序的動作,把安裝程序的工作分解為復製文件,註册com組件,安裝服務驅動,註册表配置等幾個部分,雖然註册表配置可以覆蓋註册com組件,安裝服務驅動等操作步驟,但是把這些明顯分割出來有助於製作緑色安裝的軟件。對於需要更復雜的步 驟來安裝的軟件,還是使用原來的安裝程序比較保險。
最後,緑色軟件 除了不需要安裝外,還通常是免費軟件,是沒有註册和任何限製的。 安裝完操作係統後,我們一般需要安裝一些常用的軟件,但是隨着我們常用軟件的增多,這個安裝過程顯得越來越令人厭煩:運行setup,然後是選擇目標路徑,不斷的重複這個過程。後來我見到有人製作所謂的緑色軟件 ,不需要安裝,感覺很方便。當時很好奇,想知 道怎麽做的,有沒有什麽方便的工具等等,可是在網上沒有找到什麽相關的知識,隨着自己的一步步摸索,我逐漸積纍了一些經驗和比較有效的方法,在這裏提供給大傢。
首先要先弄清楚何謂緑色軟件 ?其定義是什麽?我收集了一些網友的討論和想法:
A 說,不需要安裝 同時 不嚮註册表寫入任何東西
B 說,應該還包括不嚮係統文件夾拷貝文件,我的理解就是:安裝這個軟件對現有的操作係統沒有任何改變,改變包括寫註册表之類的。
C 說,除了你現在安裝的目錄,應該不往任何地方寫東西(比如log)。
D 說,免安裝,並且 不往程序所在目錄以外的任何地方産生垃圾文件,還有 不寫註册表
E 說,綜上加一條,可以放在移動存儲器上在任一電腦上使用且效果相同。
F 說,好像不寫註册表,直接copy來就可以用得就算吧。
G 說,重新安裝係統的時候,僅需導入註册表,不需重新安裝,就可以認為是緑色軟件 。
H 說,其實衹要不寫註册表、不往係統文件夾寫文件,哪怕需要.ini文件也在軟件自己的目錄裏就行,那麽就可算作緑色軟件 ,特徵是能夠任意copy到別的文件夾照樣能用或重裝係統後直接能用,沒有其它變化。所以有小部分“安裝”的軟件其實也符合緑色軟件 ,因 為它 的安裝衹是解壓縮建立文件夾而已。
I 說,基本同意,但不寫註册表的幾乎是不可能,你衹要運行過那個軟件,打開註册表編輯器HKLM和HKLU下面software看看,幾乎都會留下鍵值,其實這樣也應該叫做緑色的吧。
綜合上面的意見,可以總結出緑色軟件 的優點,就是對操作係統無污染(恐怕這也是緑色這個名字的由來),不需要安裝,方便卸載,便於攜帶,可以拷貝到便攜的U盤上到處運行。 緑色版軟件有如下嚴格特徵(漢化緑色版就是漢化了的緑色軟件 ):1、不對註册表進行任何操作(或衹進行非常少的,一般朋友能理解的操作,典型的是開機起動。少數也進行一些臨時操作,一般在程序結束前會自動清除寫入的信息)。2、不對係統敏感區進行操作,一般包括係統起動區根目錄、安裝目錄(windows目錄)、程序目錄(ProgramFiles)、帳戶專用目錄。3、不嚮非自身所在目錄外的目錄進行任何寫操作。4、因為程序運行本身不對除本身所在目錄外的任何文件産生任何影響,所以,根本不存在安裝和卸載問題。5、程序的刪除,衹要把程序所在目錄和對應的快捷方式刪了就可以了(如果你手工在桌面或其它位置設了快捷方式),衹要這樣做了,程序就完全幹淨地從你的電腦裏刪去了,不留任何垃圾。6、不需要安裝,隨意拷貝、復製就可以用(重裝操作係統也可以)。 我的意見是,緑色軟件 應該分類,分為狹義的緑色和廣義的緑色:
狹義的緑色可以叫做純緑色軟件 ,就是指這個軟件對現有的操作係統部分沒有任何改變,除了軟件現在安裝的目錄,應該不往任何地方寫東西,刪除的時候,直接刪除所在的目錄就可以了,就類似於以前的大多數DOS程序。
廣義的緑色就是指不需要專門的安裝程序,對係統的改變比較少,手工也可以方便的完成這些改變,比如拷貝幾個動態庫,或者導入註册表,這裏的關鍵是手工可以方便的完成這些改變,或者可以藉助於批處理等等腳本完成。
為什麽要分為兩類?雖然狹義的緑色軟件 最為理想,但是完全符合這種定義的軟件非常罕見,而相當多的軟件可以劃分到廣義的緑色這個類別,這樣包括了廣義的緑色軟件 的概念後使得緑色軟件 這個概念更有意義。
那麽不符合緑色軟件 要求的有哪些呢?主要是指那些和操作係統聯繫和集成非常緊密的軟件,這些軟件不適合製成緑色軟件 ,最好還是用原來的安裝程序來安裝。如IE6,替換了係統中的許多動態庫,手工完成這個過程很睏難,也不太安全。又比如大多數殺毒軟件,如果 必須實時監控係統的底層運作,對係統的修改比較大,就不適合做成緑色軟件 。還有微軟公司的Office係列軟件,和係統集成的也比較緊密。但是廣義的這個標準比較靈活,如果有人搞清楚了Office係列軟件的安裝製作過程,也有可能製作出廣義的緑色的Of fice係列。
為了充分理解緑色軟件 的定義,必須從現代軟件的安裝過程和運行過程兩個方面來討論。
安裝過程:以前在dos下面的時候,就沒有這些所謂緑色軟件 的說法,原來程序的安裝基本上都是簡單的復製或者解壓縮,然後配置一下config.sys 和autoexec.bat文件就可以了。隨着windows的發展,應用軟件也越來越大,也越來越復雜,從而有公司專門從事安裝程序的製作,如InstallShield就是一款比較有名和應用比較廣泛的安裝軟件,現在Windows也有了專門的安裝程 序,就是Microsoft Installer。安裝程序的作用是什麽呢?主要是為了給要安裝的程序提供一個簡單方便的設置環境,而不需要用戶手工完成這個步驟,越是復雜的配置過程,對係統的修改越多,對安裝程序的依賴性就越高,Windows程序的易學易用的優點和良好的安裝界面 是分不開的,安裝軟件的任務就是給應用程序提供一個初步完好的可以運行的環境,而不需要用戶進行手工配置。
運行過程:應用程序啓動的時候,從註册表或者配置文件中讀取配置,運行的時候,可以修改配置,但這個修改一般是在安裝軟件所作工作的基礎上進行的,例如不能改變應用程序的安裝位置了。
明白安裝過程和運行過程的區別後,很容易就想到把緑色軟件 的使用按照這兩個階段分為緑色安裝過程和緑色運行過程。緑色安裝是緑色運行的前提,沒有緑色安裝,也就說不上什麽緑色運行了,緑色軟件 首先必須是緑色安裝,我前面提到的不適合緑色軟件 標準的基本上都 是不能緑色安裝的。
緑色安裝的基本含義,我認為可以也可以分為狹義的和廣義的緑色安裝:
1 狹義的緑色安裝就是指直接拷貝或者解壓縮到目標目錄,不需要嚮係統目錄拷貝也不需要寫入註册表,這是最理想的情況,或者是安裝程序的作用除瞭解壓縮外是可以忽略的,如在開始菜單加入快捷鍵等對係統和軟件的運行沒有太大影響的操作,也就是說安裝過程的作用就 是復製文件到目標文件夾。
2 廣義的緑色安裝就是指在狹義的復製的基礎上,必須嚮係統目錄拷貝一些動態庫,或者要在註册表中導入必要的設置,或者要進行一些其他的配置,否則的話,應用程序不能運行,而且這個配置工作應該比較簡單,也容易撤銷這些操作對係統的改變。
同樣,緑色運行也可以分為狹義的和廣義的緑色運行:
1 狹義的緑色運行指的是軟件運行時完全不改變操作係統的文件和配置--很多小程序屬於這個類別,或者運行結束後把撤銷對係統的改變,比如運行的時候加載一個驅動程序,退出時卸載該驅動程序,所操作的INI文件在自己的程序目錄中。
2 廣義的緑色運行指的是可以通過程序本身來改變當前的設置,如改變當前軟件的運行方式,或者與某些文件後綴相關聯,或者在註册表中留下當前的軟件設置,也就是說對係統的註册表有永久的改變,但是這些改變都是應用程序自己完成的,不需要藉助其他程序或者用手工 完成。
綜合緑色安裝和緑色運行,可以把緑色軟件 細分為:
1 狹義的緑色安裝,同時是狹義的緑色運行的軟件,對操作係統沒有任何改變。
2 狹義的緑色安裝,廣義的緑色運行的軟件,軟件的配置工作由軟件本身來完成,不是通過安裝程序。
3 廣義的緑色安裝,狹義的緑色運行,軟件的配置工作由安裝程序來完成,軟件本身不能對配置修改,同時如果沒有配置工作,軟件無法正常運行。
4 廣義的緑色安裝,廣義的緑色運行,最復雜的一種緑色軟件 ,軟件的配置工作由安裝程序來完成,但是軟件本身可以對配置 修改,同時如果沒有配置工作,軟件無法正常運行。
衹有第一個類別屬於我說的狹義的緑色軟件 ,其他3類都屬於廣義的緑色軟件 的範疇。 下面講一下緑色軟件 的製作,簡稱軟件的“緑化”,緑色軟件 的製作實際上就是我們自己完成安裝程序的工作。沒有什麽固定的方法,基本上是猜測加上試驗,不同類別的緑色軟件 分別有不同的製作策略。
拿到一個新的軟件,想要製成緑色軟件 的話,我一般遵循如下步驟:
1 判斷。就是指猜測這個軟件能不能製成緑色軟件 ,從功能,從你對它的瞭解,如果你覺得這個軟件和係統的關係非常緊密,就不要繼續下去了,還是用原始的安裝程序最保險最方便,這樣的例子有directx9 ,IE6,Norton的反病毒軟件等等。這樣的判斷可以節省你的時間,當然你可以忽略這一步,嘗試製作緑色軟件 ,那麽就轉到第2步。
2“緑化”。對於不同的軟件有不同的方法,沒有一定的規則,但是總的來說,就是理解軟件的安裝過程,轉換為緑色安裝,在這個過程中,可能需要嘗試多個方法,也可能最後由於軟件的復雜性或者某些特性,導致無法緑化。要有失敗的思想準備,具體的緑化方法隨後講 述。
3 測試。”緑化“後的測試最好到你個全新安裝的操作係統中測試,而且如果你要在多個操作係統中使用這個軟件的話,還要在其他的操作係統中測試,有的軟件的文件隨着操作係統的不同而不同,這個時候你需要在不同的操作係統中進行”緑化“過程,最後綜合為一個完整 的適應多個操作平臺的緑色軟件 。
“緑化”方法,需要根據經驗選擇不同的“緑化”方法,也可能需要不斷嘗試不同的方法,直到成功為止。按照先易後難的次序,具體的方法包括:
1 解壓縮。這是最簡單的一種方法,就是指嘗試能不能直接解開軟件的壓縮包。用Winzip和Winrar試一試,看看能不能直接打開壓縮的安裝文件,如果不能打開,那麽就換別的方法。如果可以,那麽恭喜,這個軟件多半是屬於緑色安裝的軟件(有個別例外,如E mEditor),把壓縮包中的文件直接解壓到目標路徑,然後測試軟件的功能是否正常,如果功能正常,那麽“緑化”就成功了,如果使用不正常,那麽就換別的方法。這一類軟件的特點是安裝程序的工作完全可以由軟件自身來完成。
2 安裝然後卸載。也是比較容易的方法,完全是體力勞動,就是指直接安裝這個軟件,然後把程序復製出來,最後卸載安裝程序。如果這個軟件的安裝程序的作用僅僅是復製文件和生成快捷鍵等工作,那麽就屬於緑色安裝,可以使用這個方法。最後測試軟件的功能是否正常, 如果功能正常,那麽“緑化”就成功了,如果使用不正常,那麽就換別的方法。
3 反編譯安裝程序。這個方法需要動腦筋,就是根據安裝程序所用的製作工具,選擇相應的反編譯程序,然後閱讀反編譯出的安裝腳本,製作緑色軟件 。目前的軟件大多使用專門的安裝工具製作,如InstallShield,Wise,Inno Setup,Windows Installer,NSIS(Nullsoft),Installer VISE,其中Windows Installer格式的安裝文件(就是MSI,MST為後綴的文件),可以通過微軟的免費工具Orca打開查看,InstallShield格式的安裝文件也有很多免費的工具可以解壓縮和查看腳本。當然專門的安裝工具很多,有許多安裝程序沒有相應的反編 譯程序,這種時候,就無法使用這個方法了。
4 觀察反安裝程序和log文件。現在的軟件安裝完成後絶大多數都帶有卸載方法。卸載是安裝的逆過程,如果知道怎麽卸載,那麽也可以推測出如何安裝。由專門的安裝工具製作的反安裝程序,一般都是根據某一個文件中的信息來卸載的,可以用一個純文本的編輯器打開這 個文件。個別情況下這個文件完全不包含可讀信息,就衹好換用其他方法了。具體過程就是先采用方法2,然後理解反安裝過程,最後根據反安裝的信息製作緑色軟件 。
5 比較係統快照。當前面的方法都失敗的時候,可以試一試這個方法。具體思路就是首先在安裝軟件之前,把係統的狀態記錄下來,主要包括註册表和係統目錄的所有的文件狀態。然後就是安裝軟件。安裝完成後,再一次記錄係統狀態。最後就是比較前後兩個係統狀態的不同 ,而得知安裝程序所做的工作。這個工作一般由專門的軟件完成,如免費工具Regshot,免費工具inctrl5(http://www.pcmag.com/article2/0,414...??者WinInstall LE(在Windows 2000 Sever 光盤的目錄VALUEADDRDPARTYMGMTWINSTLE中)。在多數時候,僅僅需要對比安裝前後註册表的不同,這時候還有大量的註册表工具可以選用。在得出係統差異後,把差異分解為兩個部分:文件部分和註册表部分。文件部分指的是嚮係 統目錄拷貝的文件,以及作為COM組件註册的文件,還有與這些文件相關的註册表部分。註册表部分單單指其餘的註册表的變化。對於文件部分,可以進一步區分出必須要往係統目錄拷貝的文件(這種情況是少數)和可以放在軟件的安裝目錄的文件。對於註册表部分,區 分出由這個軟件的安裝程序本身所作出的註册表操作和註册COM組件時候的註册表操作,拋棄其他程序(如資源管理器Explorer)的操作。根據所有這些,寫一個拷貝文件,註册COM組件和導入註册表的批處理文件,就可以完成緑色軟件 的製作了。當註册表文 件中含有路徑信息的時候,可以手工修改註册表文件或者把註册表文件轉化為INF文件從而實現全自動的路徑處理。
6 直接導出註册表,尋找自註册的COM組件。這個方法是上面的方法5的簡化版,現在軟件的配置大多寫在註册表中的“HKEY_LOCLAL_MACHINESOFTWARE軟件公司名字”和“HKEY_CURRENT_USERSOFTWARE軟件 公司名字”這2個鍵下面,直接對把這2個註册表鍵導出到REG文件中。自註册的COM組件都需要導出如下4個函數:DllCanUnloadNow,DllGetClassObject,DllRegisterServer, DllUnregisterServer,可以用vc自帶的depend.exe找出哪一個動態鏈接庫是自註册的COM組件。最後寫一個批處理文件用regsvr32.exe註册COM組件和用regedit.exe導入註册表。
通過上面分析安裝程序的動作,把安裝程序的工作分解為復製文件,註册COM組件,安裝服務驅動,註册表配置等幾個部分,雖然註册表配置可以覆蓋註册COM組件,安裝服務驅動等操作步驟,但是把這些明顯分割出來有助於製作緑色安裝的軟件。對於需要更復雜的步 驟來安裝的軟件,還是使用原來的安裝程序比較保險。
最後,緑色軟件 除了不需要安裝外,還通常是免費軟件,是沒有註册和任何限製的。
請註明 原創者
註意
下載安全的緑色軟件 請到正規的權威網站上下載,不要上小網站上下載,以防係統中毒。 資源 軟件 下載 安全 網站 IT 瑞星 卡卡 助手 歌詞 lrc 局域網 即時通訊 網絡電視 直播電視 電視軟件 瀏覽器 免費軟件 上網軟件 快樂影音 影音轉換 破解軟件 下載站 工具 偽原創 淘豬客 更多結果...