綠色軟件制作原理
《綠色軟件制作原理》由會員分享,可在線閱讀,更多相關(guān)《綠色軟件制作原理(12頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、綠色軟件制作原理.txt我這輩子只有兩件事不會:這也不會,那也不會。人家有的是背景,而我有的是背影。 肉的理想,白菜的命。肉的理想,白菜的命。白馬啊 你死去哪了!是不是你把王子弄丟了不敢來見我了。 綠色軟件的定義和分類 安裝完操作系統(tǒng)后,我們一般需要安裝一些常用的軟件,但是隨著我們常用軟件的增多,這個安裝過程顯得越來越令人厭煩:運行setup,然后是選擇 目標(biāo)路徑,不斷的重復(fù)這個過程。后來我見到有人制作所謂的綠色軟件,不需要安裝,感覺很方便。當(dāng)時很好奇,想知道怎么做的,有沒有什么方便的工具等等,可 是在網(wǎng)上沒有找到什么相關(guān)的知識,隨著自己的一步步摸索,我逐漸積累
2、了一些經(jīng)驗和比較有效的方法,在這里提供給大家。 首先要先弄清楚何謂綠色軟件?其定義是什么?我收集了一些網(wǎng)友的討論和想法: A 說,不需要安裝 同時 不向注冊表寫入任何東西 B 說,應(yīng)該還包括不向系統(tǒng)文件夾拷貝文件,我的理解就是:安裝這個軟件對現(xiàn)有的操作系統(tǒng)沒有任何改變,改變包括寫注冊表之類的。 C 說,除了你現(xiàn)在安裝的目錄,應(yīng)該不往任何地方寫東西(比如log)。 D 說,免安裝,并且 不往程序所在目錄以外的任何地方產(chǎn)生垃圾文件,還有 不寫注冊表 E 說,綜上加一條,可以放在移動存儲器上在任一電腦上使用且效果相同。 F 說,好像不寫注冊表,直接co
3、py來就可以用得就算吧。 G 說,重新安裝系統(tǒng)的時候,僅需導(dǎo)入注冊表,不需重新安裝,就可以認(rèn)為是綠色軟件。 H 說,其實只要不寫注冊表、不往系統(tǒng)文件夾寫文件,哪怕需要.ini文件也在軟件自己的目錄里就行,那么就可算作綠色軟件,特征是能夠任意copy到別的文 件夾照樣能用或重裝系統(tǒng)后直接能用,沒有其它變化。所以有小部分“安裝”的軟件其實也符合綠色軟件,因為它 的安裝只是解壓縮建立文件夾而已。 I 說,基本同意,但不寫注冊表的幾乎是不可能,你只要運行過那個軟件,打開注冊表編輯器HKLM和HKLU下面software看看,幾乎都會留下鍵值,其實這樣也應(yīng)該叫做綠色的吧。
4、 綜合上面的意見,可以總結(jié)出綠色軟件的優(yōu)點,就是對操作系統(tǒng)無污染(恐怕這也是綠色這個名字的由來),不需要安裝,方便卸載,便于攜帶,可以拷貝到便攜的U盤上到處運行。 我的意見是,綠色軟件應(yīng)該分類,分為狹義的綠色和廣義的綠色: 狹義的綠色可以叫做純綠色軟件,就是指這個軟件對現(xiàn)有的操作系統(tǒng)部分沒有任何改變,除了軟件現(xiàn)在安裝的目錄,應(yīng)該不往任何地方寫東西,刪除的時候,直接刪除所在的目錄就可以了,就類似于以前的大多數(shù)DOS程序。 廣義的綠色就是指不需要專門的安裝程序,對系統(tǒng)的改變比較少,手工也可以方便的完成這些改變,比如拷貝幾個動態(tài)庫,或者導(dǎo)入注冊表,這里的關(guān)鍵是手工可以方便
5、的完成這些改變,或者可以借助于批處理等等腳本完成。 為什么要分為兩類?雖然狹義的綠色軟件最為理想,但是完全符合這種定義的軟件非常罕見,而相當(dāng)多的軟件可以劃分到廣義的綠色這個類別,這樣包括了廣義的綠色軟件的概念后使得綠色軟件這個概念更有意義。 那么不符合綠色軟件要求的有哪些呢?主要是指那些和操作系統(tǒng)聯(lián)系和集成非常緊密的軟件,這些軟件不適合制成綠色軟件,最好還是用原來的安裝程序來 安裝。如IE6,替換了系統(tǒng)中的許多動態(tài)庫,手工完成這個過程很困難,也不太安全。又比如大多數(shù)殺毒軟件,如果必須實時監(jiān)控系統(tǒng)的底層運作,對系統(tǒng)的修改 比較大,就不適合做成綠色軟件。還有微軟公司的Office系
6、列軟件,和系統(tǒng)集成的也比較緊密。但是廣義的這個標(biāo)準(zhǔn)比較靈活,如果有人搞清楚了 Office系列軟件的安裝制作過程,也有可能制作出廣義的綠色的Office系列。 為了充分理解綠色軟件的定義,必須從現(xiàn)代軟件的安裝過程和運行過程兩個方面來討論。 安裝過程:以前在dos下面的時候,就沒有這些所謂綠色軟件的說法,原來程序的安裝基本上都是簡單的復(fù)制或者解壓縮,然后配置一下 config.sys 和autoexec.bat文件就可以了。隨著windows的發(fā)展,應(yīng)用軟件也越來越大,也越來越復(fù)雜,從而有公司專門從事安裝程序的制作,如 InstallShield就是一款比較有名和應(yīng)用比
7、較廣泛的安裝軟件,現(xiàn)在windwos也有了專門的安裝程序,就是Microsoft Installer。安裝程序的作用是什么呢?主要是為了給要安裝的程序提供一個簡單方便的設(shè)置環(huán)境,而不需要用戶手工完成這個步驟,越是復(fù)雜的配置過 程,對系統(tǒng)的修改越多,對安裝程序的依賴性就越高,Windows程序的易學(xué)易用的優(yōu)點和良好的安裝界面是分不開的,安裝軟件的任務(wù)就是給應(yīng)用程序提供一 個初步完好的可以運行的環(huán)境,而不需要用戶進行手工配置。 運行過程:應(yīng)用程序啟動的時候,從注冊表或者配置文件中讀取配置,運行的時候,可以修改配置,但這個修改一般是在安裝軟件所作工作的基礎(chǔ)上進行的,例如不能改變應(yīng)用程序的安
8、裝位置了。 明白安裝過程和運行過程的區(qū)別后,很容易就想到把綠色軟件的使用按照這兩個階段分為綠色安裝過程和綠色運行過程。綠色安裝是綠色運行的前提,沒有 綠色安裝,也就說不上什么綠色運行了,綠色軟件首先必須是綠色安裝,我前面提到的不適合綠色軟件標(biāo)準(zhǔn)的基本上都是不能綠色安裝的。 綠色安裝的基本含義,我認(rèn)為可以也可以分為狹義的和廣義的綠色安裝: 1 狹義的綠色安裝就是指直接拷貝或者解壓縮到目標(biāo)目錄,不需要向系統(tǒng)目錄拷貝也不需要寫入注冊表,這是最理想的情況,或者是安裝程序的作用除了解壓縮外是可 以忽略的,如在開始菜單加入快捷鍵等對系統(tǒng)和軟件的運行沒有太大影響的操作,也就是說安裝過程
9、的作用就是復(fù)制文件到目標(biāo)文件夾。 2 廣義的綠色安裝就是指在狹義的復(fù)制的基礎(chǔ)上,必須向系統(tǒng)目錄拷貝一些動態(tài)庫,或者要在注冊表中導(dǎo)入必要的設(shè)置,或者要進行一些其他的配置,否則的話,應(yīng)用程序不能運行,而且這個配置工作應(yīng)該比較簡單,也容易撤銷這些操作對系統(tǒng)的改變。 同樣,綠色運行也可以分為狹義的和廣義的綠色運行: 1 狹義的綠色運行指的是軟件運行時完全不改變操作系統(tǒng)的文件和配置–很多小程序?qū)儆谶@個類別,或者運行結(jié)束后把撤銷對系統(tǒng)的改變,比如運行的時候加載一個驅(qū)動程序,退出時卸載該驅(qū)動程序,所操作的INI文件在自己的程序目錄中。 2 廣義的綠色運行指的是可以通過程序本身來改變當(dāng)前
10、的設(shè)置,如改變當(dāng)前軟件的運行方式,或者與某些文件后綴相關(guān)聯(lián),或者在注冊表中留下當(dāng)前的軟件設(shè)置,也就是說對系統(tǒng)的注冊表有永久的改變,但是這些改變都是應(yīng)用程序自己完成的,不需要借助其他程序或者用手工完成。 綜合綠色安裝和綠色運行,可以把綠色軟件細分為: 1 狹義的綠色安裝,同時是狹義的綠色運行的軟件,對操作系統(tǒng)沒有任何改變。 2 狹義的綠色安裝,廣義的綠色運行的軟件,軟件的配置工作由軟件本身來完成,不是通過安裝程序。 3 廣義的綠色安裝,狹義的綠色運行,軟件的配置工作由安裝程序來完成,軟件本身不能對配置修改,同時如果沒有配置工作,軟件無法正常運行。 4 廣義的綠色安裝
11、,廣義的綠色運行,最復(fù)雜的一種綠色軟件,軟件的配置工作由安裝程序來完成,但是軟件本身可以對配置 修改,同時如果沒有配置工作,軟件無法正常運行。 只有第一個類別屬于我說的狹義的綠色軟件,其他3類都屬于廣義的綠色軟件的范疇。 綠色軟件的“綠化”方法 下面講一下綠色軟件的制作,簡稱軟件的“綠化”,綠色軟件的制作實際上就是我們自己完成安裝程序的工作。沒有什么固定的方法,基本上是猜測加上試驗,不同類別的綠色軟件分別有不同的制作策略。 拿到一個新的軟件,想要制成綠色軟件的話,我一般遵循如下步驟: 1 判斷。就是指猜測這個軟件能不能制成綠色軟件,從功能
12、,從你對它的了解,如果你覺得這個軟件和系統(tǒng)的關(guān)系非常緊密,就不要繼續(xù)下去了,還是用原始的安裝程 序最保險最方便,這樣的例子有directx9 ,IE6,Norton的反病毒軟件等等。這樣的判斷可以節(jié)省你的時間,當(dāng)然你可以忽略這一步,嘗試制作綠色軟件,那么就轉(zhuǎn)到第2步。 2“綠化”。對于不同的軟件有不同的方法,沒有一定的規(guī)則,但是總的來說,就是理解軟件的安裝過程,轉(zhuǎn)換為綠色安裝,在這個過程中,可能需要嘗試多個方法,也可能最后由于軟件的復(fù)雜性或者某些特性,導(dǎo)致無法綠化。要有失敗的思想準(zhǔn)備,具體的綠化方法隨后講述。 3 測試?!本G化“后的測試最好到你個全新安裝的操作系統(tǒng)中測試,而且如
13、果你要在多個操作系統(tǒng)中使用這個軟件的話,還要在其他的操作系統(tǒng)中測試,有的軟件的文 件隨著操作系統(tǒng)的不同而不同,這個時候你需要在不同的操作系統(tǒng)中進行”綠化“過程,最后綜合為一個完整的適應(yīng)多個操作平臺的綠色軟件。 “綠化”方法,需要根據(jù)經(jīng)驗選擇不同的“綠化”方法,也可能需要不斷嘗試不同的方法,直到成功為止。按照先易后難的次序,具體的方法包括: 1 解壓縮。這是最簡單的一種方法,就是指嘗試能不能直接解開軟件的壓縮包。用Winzip和Winrar試一試,看看能不能直接打開壓縮的安裝文件,如果不 能打開,那么就換別的方法。如果可以,那么恭喜,這個軟件多半是屬于綠色安裝的軟件(有個
14、別例外,如EmEditor),把壓縮包中的文件直接解壓到目標(biāo) 路徑,然后測試軟件的功能是否正常,如果功能正常,那么“綠化”就成功了,如果使用不正常,那么就換別的方法。這一類軟件的特點是安裝程序的工作完全可以 由軟件自身來完成。 2 安裝然后卸載。也是比較容易的方法,完全是體力勞動,就是指直接安裝這個軟件,然后把程序復(fù)制出來,最后卸載安裝程序。如果這個軟件的安裝程序的作用僅僅 是復(fù)制文件和生成快捷鍵等工作,那么就屬于綠色安裝,可以使用這個方法。最后測試軟件的功能是否正常,如果功能正常,那么“綠化”就成功了,如果使用不正 常,那么就換別的方法。 3 反編譯安裝程序。這個方法需要
15、動腦筋,就是根據(jù)安裝程序所用的制作工具,選擇相應(yīng)的反編譯程序,然后閱讀反編譯出的安裝腳本,制作綠色軟件。目前的軟件大 多使用專門的安裝工具制作,如InstallShield,Wise,Inno Setup,Windows Installer,NSIS(Nullsoft),Installer VISE,其中Windows Installer格式的安裝文件(就是MSI,MST為后綴的文件),可以通過微軟的免費工具Orca打開查看,InstallShield格式的安裝 文件也有很多免費的工具可以解壓縮和查看腳本。當(dāng)然專門的安裝工具很多,有許多安裝程序沒有相應(yīng)的反編譯程序,這種時候,就無法使用
16、這個方法了。 4 觀察反安裝程序和log文件?,F(xiàn)在的軟件安裝完成后絕大多數(shù)都帶有卸載方法。卸載是安裝的逆過程,如果知道怎么卸載,那么也可以推測出如何安裝。由專門的 安裝工具制作的反安裝程序,一般都是根據(jù)某一個文件中的信息來卸載的,可以用一個純文本的編輯器打開這個文件。個別情況下這個文件完全不包含可讀信息,就 只好換用其他方法了。具體過程就是先采用方法2,然后理解反安裝過程,最后根據(jù)反安裝的信息制作綠色軟件。 5 比較系統(tǒng)快照。當(dāng)前面的方法都失敗的時候,可以試一試這個方法。具體思路就是首先在安裝軟件之前,把系統(tǒng)的狀態(tài)記錄下來,主要包括注冊表和系統(tǒng)目錄的所有 的文件狀態(tài)。然后就是
17、安裝軟件。安裝完成后,再一次記錄系統(tǒng)狀態(tài)。最后就是比較前后兩個系統(tǒng)狀態(tài)的不同,而得知安裝程序所做的工作。這個工作一般由專門的 軟件完成,如免費工具Regshot,免費工具inctrl5( 微軟公司的sysdiff工具(可以從Windows2000的資源工具箱中得到),或者WinInstall LE(在Windows 2000 Sever 光盤的目錄VALUEADD\3RDPARTY\MGMT\WINSTLE\中)。在多數(shù)時候,僅僅需要對比安裝前后注冊表的不同,這時候還有大量的注冊 表工具可以選用。在得出系統(tǒng)差異后,把差異分解為兩個部分:文件部分和注冊表部分。文件部分指的是向系統(tǒng)目錄拷
18、貝的文件,以及作為COM組件注冊的文件, 還有與這些文件相關(guān)的注冊表部分。注冊表部分單單指其余的注冊表的變化。對于文件部分,可以進一步區(qū)分出必須要往系統(tǒng)目錄拷貝的文件(這種情況是少數(shù))和 可以放在軟件的安裝目錄的文件。對于注冊表部分,區(qū)分出由這個軟件的安裝程序本身所作出的注冊表操作和注冊COM組件時候的注冊表操作,拋棄其他程序(如 資源管理器Explorer)的操作。根據(jù)所有這些,寫一個拷貝文件,注冊COM組件和導(dǎo)入注冊表的批處理文件,就可以完成綠色軟件的制作了。當(dāng)注冊表文 件中含有路徑信息的時候,可以手工修改注冊表文件或者把注冊表文件轉(zhuǎn)化為INF文件從而實現(xiàn)全自動的路徑處理。 6
19、 直接導(dǎo)出注冊表,尋找自注冊的COM組件。這個方法是上面的方法5的簡化版,現(xiàn)在軟件的配置大多寫在注冊表中的“HKEY_LOCLAL_MACHINE \SOFTWARE\軟件公司名字”和“HKEY_CURRENT_USER\SOFTWARE\軟件公司名字”這2個鍵下面,直接對把這2個注冊表鍵導(dǎo) 出到REG文件中。自注冊的COM組件都需要導(dǎo)出如下4個函數(shù):DllCanUnloadNow,DllGetClassObject, DllRegisterServer, DllUnregisterServer,可以用vc自帶的depend.exe找出哪一個動態(tài)鏈接庫是自注冊的COM組件。最后寫一個
20、批處理文件用 regsvr32.exe注冊COM組件和用regedit.exe導(dǎo)入注冊表。 通過上面分析安裝程序的動作,把安裝程序的工作分解為復(fù)制文件,注冊COM組件,安裝服務(wù)驅(qū)動,注冊表配置等幾個部分,雖然注冊表配置可以覆 蓋注冊COM組件,安裝服務(wù)驅(qū)動等操作步驟,但是把這些明顯分割出來有助于制作綠色安裝的軟件。對于需要更復(fù)雜的步驟來安裝的軟件,還是使用原來的安裝程 序比較保險。 對于每個方法,下面我會給出具體的例子,有些時候,需要幾個方法聯(lián)合使用,無論使用什么方法,都是模擬原來的軟件作者的安裝過程,所以原作者最容易給出該軟件的綠色版本。
21、具體事例 winrar3.30 和Winzip9.0,采用方法1,解壓縮。這個方法非常簡單,從天空軟件站下載Winzip90.exe和winrar330sc.exe,在一個安裝 了Winrar的系統(tǒng)上,用鼠標(biāo)右鍵選擇下載的文件,運行右鍵菜單中的用Winrar打開的命令,然后把文件解壓到我們的目標(biāo)路徑,如E:\tools目 錄,就可以了。然后分別對Winzip9和Winrar進行設(shè)置就可以了。運行winzip9目錄中的Winzip32.exe,進行winzip的設(shè) 置。Winrar也是一樣,運行Winrar.exe,打開菜單選項-〉設(shè)置,彈出一個對話框,選擇標(biāo)簽–集成,如圖
22、 WinrarSetting.png,逐項對Winrar設(shè)置。當(dāng)拷貝到U盤而到新的機器上運行時,需要重復(fù)這些設(shè)置過程。 這一類軟件的特點是安裝程序的工作完全可以由軟件自身來完成,從而完全拋開安裝程序,或者說安裝程序的工作也就是解壓縮。類似的軟件還有一些,最簡單的測試辦法就是看看Winrar能否直接打開壓縮的安裝程序。也可以采用方法2,過程基本上和方法1一樣。 方法2就不具體說明了,僅僅指出有許多程序?qū)儆谶@個類別,如Myie2,GreenBrowser,qq,BPFTP Server,IDA_Pro_Standard_4.5.1.770,F(xiàn)inalData,EASYRECOVERY
23、 6.03,騰遜公司的TM等等。 flashget是大家用得比較多的一個軟件,可以多線程下載并且下載管理的功能也很方便,從天空軟件站下載 flashget1.60a國際版,運行一下,如圖flashget_wise.PNG,然后取消安裝。從圖上可以看出flashget1.60a國際版 是使用Wise制作的安裝程序,從網(wǎng)上下載wungui程序,非常容易的把安裝程序解壓縮到一個目錄中,如圖flashget160a.PNG,觀察 Maindir目錄,其中有兩個DLL文件Jccatch.dll和fgiebar.dll,進一步察看這兩個動態(tài)庫文件的導(dǎo)出函數(shù),可以知道這兩個 DLL文件都是自注
24、冊的COM組件,寫一個批處理文件install.bat來注冊這兩個DLL: REGSVR32 JCCATCH.DLL /s REGSVR32 fgiebar.dll /s 經(jīng)過測試,功能正常,并且可以從瀏覽器IE中用鼠標(biāo)的右鍵菜單激活flashget,功能完全,下面考慮卸載過程。 運行Regedit.exe,發(fā)現(xiàn)flashget在注冊表中的路徑是[HKEY_CURRENT_USER\\Software\\JetCar\\JetCar],寫一個注冊表文件unflashget.reg刪除這個路徑,如下: REGEDIT4 ; flashget [-HKEY_
25、CURRENT_USER\\Software\\JetCar\\JetCar] 同時寫一個批處理文件uninstall.bat來卸載這兩個DLL文件并導(dǎo)入unflashget.reg: Regedit unflashget.reg /s REGSVR32 JCCATCH.DLL /s /U REGSVR32 fgiebar.dll /s /U 隨后就是刪除一些我們用不到的文件,比如language目錄的絕大多數(shù)歐洲的語言文件,這時候這個綠色版本就做好了。把制作好的綠色的 flashget拷貝到U盤上,需要用的時候,直接執(zhí)行里面的install.bat文件
26、就可以了(注意,要在flashget的目錄運行批處理文件), 不需要任何文件拷貝。 我看到有人提到用優(yōu)化大師提取falshget的注冊表,然后直接導(dǎo)入注冊表來制作綠色的flashget,這樣做是不行的,從我前面的步驟 來看,注冊2個DLL文件必然在注冊表中引入了絕對路徑,那么如果直接提取注冊表的話,就必須根據(jù)當(dāng)前的路徑來修改注冊表中的路徑,否則的話制作的綠色版 的flashget只能在固定的目錄運行。在制作flashget綠色版的時候,我同時使用了方法3和方法6,使用方法3的目的就是避免安裝程序?qū)ο到y(tǒng)作 的修改,這樣可以直接在當(dāng)前系統(tǒng)進行測試,而不需要到另外一個沒有安裝過flash
27、get的系統(tǒng)測試。 Emeditor是方法1的一個反例。Emeditor可以從開發(fā)商主頁 鍵拖動鼠標(biāo)),并允許無限撤消、重做,總之功能多多,使用方便,是替代記事本的最佳編輯器。 下載emed404epx.exe后,發(fā)現(xiàn)用Winrar可以打開,解壓后,運行Emeditor,發(fā)現(xiàn)丟失了預(yù)定義的多種文本格式的語法配置,看來這樣做不行,只好采用方法5了。請隨我一步步進行,步驟如下: 1 掃描系統(tǒng),制訂系統(tǒng)快照。這里我僅僅記錄當(dāng)前系統(tǒng)的注冊表(因為我認(rèn)為Emeditor不會向系統(tǒng)目錄拷貝文件,如果判斷錯誤,就會導(dǎo)致“綠化”失敗), 運行ART(Advanced Registe
28、ry Tracer),掃描一遍注冊表。如圖emeditor_snap.PNG,不要關(guān)閉ART。 2 安裝Emeditor。隨便安裝到哪里,反正一會就卸載。安裝好后,如果需要的話,更改配置,或者配置新的文件類型,例如我就增加了NFO文件類型,設(shè)定和NFO文件相關(guān)聯(lián)的字符集,這樣可以用Emeditor直接察看NFO文件,不需要專門的察看工具了。 3 記錄系統(tǒng)變化。再一次掃描系統(tǒng),給系統(tǒng)作快照,從ART里面再一次掃描注冊表,然后選擇菜單命令Registry-〉compare here或者直接用鍵盤F10,比較結(jié)果如圖emeditor_compare.png,點擊圖中那個save to r
29、edo file的按鈕,存儲為Emeditor.reg文件,關(guān)閉ART。 4 復(fù)制并卸載。復(fù)制安裝好的Emeditor目錄到其他路徑,然后卸載Emeditor程序。 5 分析。打開剛剛導(dǎo)出的Emeditor.reg文件,這是一個巨大的reg文件,單單是REG文件就有1兆多,不過不用擔(dān)心。閱讀注冊表后,刪除和 emeditor無關(guān)的注冊表項后,如僅僅和資源管理器相關(guān)的注冊表部分,發(fā)現(xiàn)剩下的注冊表文件可以分成3個部分。一部分在位于注冊表的這個路徑 [HKEY_LOCAL_MACHINE\\SOFTWARE\\EmSoft],里面大部分不涉及路徑,只有一項記錄了Emeditor的路
30、徑,就是\ "ModulePath\"=\"h:\\\\EmEditor4\\\\\";還有一大部分在注冊表的這個路徑下面 [HKEY_CURRENT_USER\\Software\\EmSoft\\EmEditor v3],里面有很多項都涉及了Emeditor的路徑,如\"Tmpl\"=\"h:\\\\EmEditor4\\\\template.xml\"; 還有就是和Emeditor和txt文件后綴向關(guān)聯(lián)的注冊表設(shè)置,把Emeditor設(shè)置為IE中缺省的源代碼察看工具的注冊表設(shè)置以及注冊COM組件 EMEDSHL.DLL的注冊表部分(和InProcServer32相關(guān)的就是)。
31、 6 “綠化”。 6.1 把位于注冊表路徑路徑[HKEY_LOCAL_MACHINE\\SOFTWARE\\EmSoft]的內(nèi)容存儲到emeditor_HKLM.reg文 件中,把位于注冊表路徑[HKEY_CURRENT_USER\\Software\\EmSoft\\EmEditor v3]的內(nèi)容存儲到emeditor_HKCU.reg文件中,把剩下的內(nèi)容首先除掉COM組件EMEDSHL.DLL的相關(guān)部分,然后存儲到 emeditor_assoc.reg文件中。 6.2 把emeditor_HKLM.reg文件和emeditor_HKCU.reg文件中涉及到路徑的注冊表內(nèi)
32、容抽取出來,存儲到emeditorConf.reg文件。 6.3 把emeditor_assoc.reg文件和emeditorConf.reg文件用INF的語法轉(zhuǎn)換為INF文件,或者用一個免費小工具 reg2inf.exe自動轉(zhuǎn)換,然后把轉(zhuǎn)換得到的emeditor_assoc.inf文件和emeditorConf.inf文件中的路徑h:\\ EmEditor4全部用%01%代替。下面是emeditorConf.inf文件的內(nèi)容: [Version] Signature=\"$CHICAGO$\" [DefaultInstall] AddReg=Emeditor
33、Conf_AddReg [EmeditorConf_AddReg] hklm,\"SOFTWARE\\EmSoft\\EmEditor v3\\Common\",\"ModulePath\",,\"%01%\\\" hkcu,\"Software\\EmSoft\\EmEditor v3\\Config\\C++\",\"Tmpl\",,\"%01%\\template.cpp\" hkcu,\"Software\\EmSoft\\EmEditor v3\\Config\\CSS\",\"Tmpl\",,\"%01%\\template.css\" hkcu,\"
34、Software\\EmSoft\\EmEditor v3\\Config\\HTML\",\"Tmpl\",,\"%01%\\template.htm\" hkcu,\"Software\\EmSoft\\EmEditor v3\\Config\\Java\",\"Tmpl\",,\"%01%\\template.java\" hkcu,\"Software\\EmSoft\\EmEditor v3\\Config\\JavaScript\",\"Tmpl\",,\"%01%\\template.js\" hkcu,\"Software\\EmSoft\\EmEditor
35、v3\\Config\\JSP\",\"Tmpl\",,\"%01%\\template.jsp\" hkcu,\"Software\\EmSoft\\EmEditor v3\\Config\\Perl\",\"Tmpl\",,\"%01%\\template.pl\" hkcu,\"Software\\EmSoft\\EmEditor v3\\Config\\PHP\",\"Tmpl\",,\"%01%\\template.php\" hkcu,\"Software\\EmSoft\\EmEditor v3\\Config\\Python\",\"Tmpl\",,\"%01
36、%\\template.py\" hkcu,\"Software\\EmSoft\\EmEditor v3\\Config\\Ruby\",\"Tmpl\",,\"%01%\\template.rb\" hkcu,\"Software\\EmSoft\\EmEditor v3\\Config\\TeX\",\"Tmpl\",,\"%01%\\template.tex\" hkcu,\"Software\\EmSoft\\EmEditor v3\\Config\\VBScript\",\"Tmpl\",,\"%01%\\template.vbs\" hkcu,\"Soft
37、ware\\EmSoft\\EmEditor v3\\Config\\VBScript for EmEditor\",\"Tmpl\",,\"%01%\\template.vbee\" hkcu,\"Software\\EmSoft\\EmEditor v3\\Config\\Windows Script\",\"Tmpl\",,\"%01%\\template.wsf\" hkcu,\"Software\\EmSoft\\EmEditor v3\\Config\\XML\",\"Tmpl\",,\"%01%\\template.xml\" 6.4 寫一個批處理文件i
38、nstall.bat,內(nèi)容如下: regedit emeditor_HKLM.reg regedit emeditor_HKCU.reg RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 128 .\\emeditorConf.inf regsvr32 EMEDSHL.DLL RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 128 .\\emeditor_assoc.inf 6.5 把install.bat,emedi
39、torConf.inf,emeditor_assoc.inf,emeditor_HKLM.reg,emeditor_HKCU.reg5個文件存儲到Emeditor的目錄,刪除其余的注冊表文件。 6.6 根據(jù)安裝步驟和install.bat,寫出相應(yīng)的卸載的批處理文件,這個比較簡單。 經(jīng)過測試后,Emeditor工作正常,也可以注釋掉install.bat的最后2行語句,這樣Emeditor就不會和系統(tǒng)關(guān)聯(lián),上面的步驟 是在windows 2000上的,對于win9x也同樣,而且win9x下面的emeditor的配置文件和windows 2000的一樣,僅僅是程序的版本不同。
40、 把制作好的綠色的emeditor拷貝到U盤上,需要用的時候,直接執(zhí)行里面的install.bat文件就可以了(注意,要在 Emeditor的目錄運行批處理文件),不需要任何文件拷貝。這個例子演示如何自動綠色安裝,如何解決路徑問題,如果你用幾十個類似的綠色軟件,但是需 要手工修改路徑的話,是很難記住那些路徑需要修改的,當(dāng)然你如果可以寫出自動替換路徑的腳本也是可以的。我說u盤就是為了強調(diào) 路徑可以變化,如果大家所使用的機器的所有分區(qū)排列都是一樣的話,都是把軟件存儲到c:的話,是可以直接備份注冊表的,否則需要手工修改路徑,修改一個容 易,多了就麻煩了。 從以上的事例中,可以看出
41、,方法2和方法1基本一樣,只不過方法1我們使用WinRar解壓縮,而方法2我們使用安裝程序解壓縮。方法6可以說是 方法5的簡化版本,方法3和方法4也可以輔助方法5,也有一些需要聯(lián)合應(yīng)用這些方法,有時候難以判斷到底使用了那個方法,方法是死的,需要靈活運用,有些 時候需要不斷試驗。 我簡單說幾個軟件“綠化”時候使用的方法,某些軟件可能有多種“綠化”方法,然而最后的結(jié)果基本一樣: 使用方法1就不提了,只要沒有專門的安裝程序,直接以zip形式發(fā)布的,都使用方法1。 CuteFTP,Flashfxp,qq,foobar ,winamp2.8,acrobat,F(xiàn)inalData
42、 ,金山詞霸 ,ZoomPlayer,WinISO ,IsoBuster,WinISO ,MIRC,WinCVS,Photoshop6 ,EASYRECOVERY 6.03,網(wǎng)易泡泡使用方法2。 VisualC++ 6, real player,realmedia的解碼器包,大部分解碼器如vp6,mpeg2,ac3 ,ogg ,divx ,xvid 使用方法5。 Netants ,flashget,OfflineExplorer acdsee,ultraedit ,IBM詞典,theBat,網(wǎng)文快捕,和現(xiàn)在的CyberArticle,PartitionMagic7 使用方法6。
43、 不適合“綠化”的有Directx9,Mediaplayer9,IE6,微軟的補丁程序,Office2003,反病毒工具NAV,Java虛 擬機,虛擬機VMware等等,其中有些是不知道如何“綠化”或者說比較困難,如Office 2003,我認(rèn)為那種把Office安裝到硬盤上,然后抽去注冊表的變化的方法部叫做“綠化”,因為注冊表文件中有大量的絕對路徑存在,而且Offcie 的組件之間有比較復(fù)雜的聯(lián)系,所以難以“綠化”。有些是“綠化”沒有意義,如IE6,微軟的補丁程序,Directx9等等。 目前我使用的軟件,絕大部分都“綠化”了,只有少數(shù)幾個必須安裝了,如MS Office,Visual S 2003等等。感覺非常方便,尤其是改變盤符的時候,非常簡單,可以做到便攜化。
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑施工重大危險源安全管理制度
- 安全培訓(xùn)資料:典型建筑火災(zāi)的防治基本原則與救援技術(shù)
- 企業(yè)雙重預(yù)防體系應(yīng)知應(yīng)會知識問答
- 8 各種煤礦安全考試試題
- 9 危險化學(xué)品經(jīng)營單位安全生產(chǎn)管理人員模擬考試題庫試卷附答案
- 加壓過濾機司機技術(shù)操作規(guī)程
- 樹脂砂混砂工藝知識總結(jié)
- XXXXX現(xiàn)場安全應(yīng)急處置預(yù)案
- 某公司消防安全檢查制度總結(jié)
- 1 煤礦安全檢查工(中級)職業(yè)技能理論知識考核試題含答案
- 4.燃氣安全生產(chǎn)企業(yè)主要負(fù)責(zé)人模擬考試題庫試卷含答案
- 工段(班組)級安全檢查表
- D 氯化工藝作業(yè)模擬考試題庫試卷含答案-4
- 建筑起重司索信號工安全操作要點
- 實驗室計量常見的30個問問答題含解析