史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > 應用軟體使用技術文件
忘記密碼?
論壇說明 標記討論區已讀

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2004-07-22, 02:07 AM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 綠色軟體

綠色軟體的定義和分類

安裝完操作系統後,我們一般需要安裝一些常用的軟體,但是隨著我們常用軟體的增多,這個安裝程序顯得越來越令人厭煩:執行setup,然後是選項目標路徑,不斷的重複這個程序。後來我見到有人製作所謂的綠色軟體,不需要安裝,感覺很方便。


當時很好奇,想知道怎麼做的,有沒有什麼方便的工具等等,可是在網上沒有找到什麼相關的知識,隨著自己的一步步摸索,我逐漸積累了一些經驗和比較有效的方法,謖飫鍰峁└疻搖?


首先要先弄清楚何謂綠色軟體?其定義是什麼?我收集了一些網友的討論和想法:

A 說,不需要安裝 同時 不向註冊表寫入任何東西

B 說,應該還包括不向系統檔案夾拷貝文件,我的理解就是:安裝這個軟體對現有的操作系統沒有任何改變,改變包括寫註冊表之類的。


C 說,除了你現在安裝的目錄,應該不往任何地方寫東西(比如log)。


D 說,免安裝,並且 不往程序所在目錄以外的任何地方產生垃圾文件,還有 不寫註冊表
E 說,綜上加一條,可以放在移動存儲器上在任一電腦上使用且效果相同。
F 說,好像不寫註冊表,直接copy來就可以用得就算吧。

G 說,重新安裝系統的時候,僅需匯入註冊表,不需重新安裝,就可以認為是綠色軟體。

H 說,其實只要不寫註冊表、不往系統檔案夾寫文件,哪怕需要.ini文件也在軟體自己的目錄裡就行,那麼就可算作綠色軟體,特徵是能夠任意copy到別的資料夾照樣能用或重裝系統後直接能用,沒有其它變化。所以有小部分「安裝」的軟體其實也符合綠色軟體,因為它 的安裝只是解壓縮建立資料夾而已。



I 說,基本同意,但不寫註冊表的幾乎是不可能,你只要執行過那個軟體,開啟註冊表編輯器HKLM和HKLU下面software看看,幾乎都會留下鍵值,其實這樣也應該叫做綠色的吧。

綜合上面的意見,可以總結出綠色軟體的優點,就是對操作系統無污染(恐怕這也是綠色這個名字的由來),不需要安裝,方便卸載,便於攜帶,可以拷貝到便攜的USB碟上到處執行。

我的意見是,綠色軟體應該分類,分為狹義的綠色和廣義的綠色:

狹義的綠色可以叫做純綠色軟體,就是指這個軟體對現有的操作系統部分沒有任何改變,除了軟體現在安裝的目錄,應該不往任何地方寫東西,刪除的時候,直接刪除所在的目錄就可以了,就類似於以前的大多數DOS程序。


廣義的綠色就是指不需要專門的安裝程序,對系統的改變比較少,手工也可以方便的完成這些改變,比如拷貝幾個動態庫,或者匯入註冊表,這裡的關鍵是手工可以方便的完成這些改變,或者可以借助於批次處理等等指令碼完成。



為什麼要分為兩類?
雖然狹義的綠色軟體最為理想,但是完全符合這種定義的軟體非常罕見,而相當多的軟體可以劃分到廣義的綠色這個類別,這樣包括了廣義的綠色軟體的概念後使得綠色軟體這個概念更有意義。


那麼不符合綠色軟體要求的有哪些呢?
主要是指那些和操作系統聯繫和整合非常緊密的軟體,這些軟體不適合製成綠色軟體,最好還是用原來的安裝程序來安裝。如IE6,替換了系統中的許多動態庫,手工完成這個程序很困難,也不太安全。


又比如大多數殺毒軟體,如果必須既時監控系統的底層運作,對系統的修改比較大,就不適合做成綠色軟體。

還有微軟公司的Office系列軟體,和系統整合的也比較緊密。但是廣義的這個標準比較靈活,如果有人搞清楚了Office系列軟體的安裝製作程序,也有可能製作出廣義的綠色的Office系列。

為了充分理解綠色軟體的定義,必須從現代軟體的安裝程序和執行程序兩個方面來討論。

安裝程序:
以前在dos下面的時候,就沒有這些所謂綠色軟體的說法,原來程序的安裝基本上都是簡單的複製或者解壓縮,然後配置一下config.sys 和autoexec.bat文件就可以了。


隨著windows的發展,應用軟體也越來越大,也越來越複雜,從而有公司專門從事安裝程序的製作,如InstallShield就是一款比較有名和套用比較廣泛的安裝軟體,現在windwos也有了專門的安裝程序,就是Microsoft Installer。


安裝程序的作用是什麼呢?主要是為了給要安裝的程序提供一個簡單方便的設定環境,而不需要用戶手工完成這個步驟,越是複雜的配置程序,對系統的修改越多,對安裝程序的依賴性就越高,Windows程序的易學易用的優點和良好的安裝界面是分不開的,安裝軟體的工作就是給應用程式提供一個初步完好的可以執行的環境,而不需要用戶進行手工配置。


執行程序:應用程式啟動的時候,從註冊表或者配置文件中讀取配置,執行的時候,可以修改配置,但這個修改一般是在安裝軟體所作工作的基礎上進行的,例如不能改變應用程式的安裝位置了。

明白安裝程序和執行程序的區別後,很容易就想到把綠色軟體的使用按照這兩個階段分為綠色安裝程序和綠色執行程序。綠色安裝是綠色執行的前提,沒有綠色安裝,也就說不上什麼綠色執行了,綠色軟體首先必須是綠色安裝,我前面提到的不適合綠色軟體標準的基本上都是不能綠色安裝的。


綠色安裝的基本含義,我認為可以也可以分為狹義的和廣義的綠色安裝:


1 狹義的綠色安裝就是指直接拷貝或者解壓縮到目標目錄,不需要向系統目錄拷貝也不需要寫入註冊表,這是最理想的情況,或者是安裝程序的作用除瞭解壓縮外是可以忽略的,如在開始選單加入快捷鍵等對系統和軟體的執行沒有太大影響的操作,也就是說安裝程序的作用就是複製文件到目標資料夾。

2 廣義的綠色安裝就是指在狹義的複製的基礎上,必須向系統目錄拷貝一些動態庫,或者要在註冊表中匯入必要的設定,或者要進行一些其他的配置,否則的話,應用程式不能執行,而且這個配置工作應該比較簡單,也容易復原這些操作對系統的改變。


同樣,綠色執行也可以分為狹義的和廣義的綠色執行:

1 狹義的綠色執行指的是軟體執行時完全不改變操作系統的文件和配置--很多小程序屬於這個類別,或者執行結束後把復原對系統的改變,比如執行的時候載入一個驅動程式,退出時卸載該驅動程式,所操作的INI文件在自己的程序目錄中。


2 廣義的綠色執行指的是可以通程序序本身來改變當前的設定,如改變當前軟體的執行方式,或者與某些文件後面相關聯,或者在註冊表中留下當前的軟體設定,也就是說對系統的註冊表有永久的改變,但是這些改變都是應用程式自己完成的,不需要借助其他程序或者用手工完成。


綜合綠色安裝和綠色執行,可以把綠色軟體細分為:

1 狹義的綠色安裝,同時是狹義的綠色執行的軟體,對操作系統沒有任何改變。

2 狹義的綠色安裝,廣義的綠色執行的軟體,軟體的配置工作由軟體本身來完成,不是通過安裝程序。

3 廣義的綠色安裝,狹義的綠色執行,軟體的配置工作由安裝程序來完成,軟體本身不能對配置修改,同時如果沒有配置工作,軟體無法正常執行。

4 廣義的綠色安裝,廣義的綠色執行,最複雜的一種綠色軟體,軟體的配置工作由安裝程序來完成,但是軟體本身可以對配置 修改,同時如果沒有配置工作,軟體無法正常執行。

只有第一個類別屬於我說的狹義的綠色軟體,其他3類都屬於廣義的綠色軟體的範疇。

綠色軟體的「綠化」方法


下面講一下綠色軟體的製作,簡稱軟體的「綠化」,綠色軟體的製作實際上就是我們自己完成安裝程序的工作。沒有什麼類BIOS的方法,基本上是猜測加上試驗,不同類別的綠色軟體分別有不同的製作原則。

拿到一個新的軟體,想要製成綠色軟體的話,我一般遵循如下步驟:

1 判斷。

就是指猜測這個軟體能不能製成綠色軟體,從功能,從你對它的瞭解,如果你覺得這個軟體和系統的關係非常緊密,就不要繼續下去了,還是用原始的安裝程序最保險最方便,這樣的例子有directx9 ,IE6,Norton的反病毒軟體等等。


這樣的判斷可以節省你的時間,當然你可以忽略這一步,嘗試製作綠色軟體,那麼就轉到第2步。


2「綠化」。對於不同的軟體有不同的方法,沒有一定的規則,但是總的來說,就是理解軟體的安裝程序,轉換為綠色安裝,在這個程序中,可能需要嘗試多個方法,也可能最後由於軟體的複雜性或者某些特性,導致無法綠化。要有失敗的思想準備,具體的綠化方法隨後講述。

3 測試。」綠化「後的測試最好到你個全新安裝的操作系統中測試,而且如果你要在多個操作系統中使用這個軟體的話,還要在其他的操作系統中測試,有的軟體的文件隨著操作系統的不同而不同,這個時候你需要在不同的操作系統中進行」綠化「程序,最後綜合為一個完整的適應多個操作平台的綠色軟體。

「綠化」方法,需要根據經驗選項不同的「綠化」方法,也可能需要不斷嘗試不同的方法,直到成功為止。按照先易後難的次序,具體的方法包括:

1 解壓縮。這是最簡單的一種方法,就是指嘗試能不能直接解開軟體的壓縮包。

用Winzip和Winrar試一試,看看能不能直接開啟壓縮的安裝文件,如果不能開啟,那麼就換別的方法。如果可以,那麼恭喜,這個軟體多半是屬於綠色安裝的軟體(有個別例外,如EmEditor),把壓縮包中的文件直接解壓到目標路徑,然後測試軟體的功能是否正常,如果功能正常,那麼「綠化」就成功了,如果使用不正常,那麼就換別的方法。


這一類軟體的特點是安裝程序的工作完全可以由軟體自身來完成。


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,4149,9882,00.asp),微軟公司的sysdiff工具(可以從Windows2000的資源工具箱中得到),或者WinInstall LE(在Windows 2000 Sever 光碟的目錄VALUEADD\3RDPARTY\MGMT\WINSTLE\中)。


在多數時候,僅僅需要對比安裝前後註冊表的不同,這時候還有大量的註冊表工具可以選用。


在得出系統差異後,把差異分解為兩個部分:文件部分和註冊表部分。文件部分指的是向系統目錄拷貝的文件,以及作為COM元件註冊的文件,還有與這些文件相關的註冊表部分。註冊表部分單單指其餘的註冊表的變化。


對於文件部分,可以進一步區分出必須要往系統目錄拷貝的文件(這種情況是少數)和可以放在軟體的安裝目錄的文件。


對於註冊表部分,區分出由這個軟體的安裝程序本身所作出的註冊表操作和註冊COM元件時候的註冊表操作,拋棄其他程序(如檔案總管Explorer)的操作。


根據所有這些,寫一個拷貝文件,註冊COM元件和匯入註冊表的批次處理文件,就可以完成綠色軟體的製作了。當註冊表文件中含有路徑資訊的時候,可以手工修改註冊表文件或者把註冊表文件轉化為INF文件從而實現全自動的路徑處理。




6 直接匯出註冊表,尋找自註冊的COM元件。這個方法是上面的方法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元件,安裝服務驅動等操作步驟,但是把這些明顯分割出來有助於製作綠色安裝的軟體。對於需要更複雜的步驟來安裝的軟體,還是使用原來的安裝程序比較保險。

對於每個方法,下面我會給出具體的例子,有些時候,需要幾個方法聯合使用,無論使用什麼方法,都是模擬原來的軟體作者的安裝程序,所以原作者最容易給出該軟體的綠色版本。

WinrarSetting.PNG
http://3382.net/ffiles/attach/2004/07/B4/15/2005260-WinrarSetting-embed.PNG


具體事例

winrar3.30 和Winzip9.0,採用方法1,解壓縮。這個方法非常簡單,從天空軟體站下載Winzip90.exe和winrar330sc.exe,在一個安裝了Winrar的系統上,用滑鼠右鍵選項下載的文件,執行右鍵功能表中的用Winrar開啟的指令,然後把文件解壓到我們的目標路徑,如E:\tools目錄,就可以了。然後分別對Winzip9和Winrar進行設定就可以了。執行winzip9目錄中的Winzip32.exe,進行winzip的設定。Winrar也是一樣,執行Winrar.exe,開啟功能表選項-〉設定,彈出一個對話視窗,選項標籤--整合,如圖WinrarSetting.png,逐項對Winrar設定。當拷貝到USB碟而到新的電腦上執行時,需要重複這些設定程序。
這一類軟體的特點是安裝程序的工作完全可以由軟體自身來完成,從而完全拋開安裝程序,或者說安裝程序的工作也就是解壓縮。類似的軟體還有一些,最簡單的測試辦法就是看看Winrar能否直接開啟壓縮的安裝程序。也可以採用方法2,程序基本上和方法1一樣。
方法2就不具體說明了,僅僅指出有許多程序屬於這個類別,如Myie2,GreenBrowser,qq,BPFTP Server,IDA_Pro_Standard_4.5.1.770,FinalData,EASYRECOVERY 6.03,騰遜公司的TM等等。
flashget是大家用得比較多的一個軟體,可以多線程下載並且下載管理的功能也很方便,從天空軟體站sky.com下載flashget1.60a國際版,執行一下,如圖flashget_wise.PNG,然後取消安裝。從圖上可以看出flashget1.60a國際版是使用Wise製作的安裝程序,從網上下載wungui程序,非常容易的把安裝程序解壓縮到一個目錄中,如圖flashget160a.PNG,觀察Maindir目錄,其中有兩個DLL文件Jccatch.dll和fgiebar.dll,進一步察看這兩個動態庫文件的匯出函數,可以知道這兩個DLL文件都是自註冊的COM元件,寫一個批次處理文件install.bat來註冊這兩個DLL:
REGSVR32 JCCATCH.DLL /s
REGSVR32 fgiebar.dll /s
經過測試,功能正常,並且可以從瀏覽器IE中用滑鼠的右鍵功能表啟動flashget,功能完全,下面考慮卸載程序。
執行Regedit.exe,發現flashget在註冊表中的路徑是[HKEY_CURRENT_USER\Software\JetCar\JetCar],寫一個註冊表文件unflashget.reg刪除這個路徑,如下:
REGEDIT4
; flashget
[-HKEY_CURRENT_USER\Software\JetCar\JetCar]
同時寫一個批次處理文件uninstall.bat來卸載這兩個DLL文件並匯入unflashget.reg:
Regedit unflashget.reg /s
REGSVR32 JCCATCH.DLL /s /U
REGSVR32 fgiebar.dll /s /U

隨後就是刪除一些我們用不到的文件,比如language目錄的絕大多數歐洲的語言文件,這時候這個綠色版本就做好了。把製作好的綠色的flashget拷貝到USB碟上,需要用的時候,直接執行裡面的install.bat文件就可以了(注意,要在flashget的目錄執行批次處理文件),不需要任何檔案拷貝。
我看到有人提到用最佳化大師提取falshget的註冊表,然後直接匯入註冊表來製作綠色的flashget,這樣做是不行的,從我前面的步驟來看,註冊2個DLL文件必然在註冊表中引入了絕對路徑,那麼如果直接提取註冊表的話,就必鬚根據當前的路徑來修改註冊表中的路徑,否則的話製作的綠色版的flashget只能在類BIOS的目錄執行。在製作flashget綠色版的時候,我同時使用了方法3和方法6,使用方法3的目的就是避免安裝程序對系統作的修改,這樣可以直接在當前系統進行測試,而不需要到另外一個沒有安裝過flashget的系統測試。

Emeditor是方法1的一個反例。Emeditor可以從開發商主頁[url]http://www.emurasoft.com/下載,是一個簡單好用的文本編輯器,支持多種配置,自訂顏色、字體、工作列、快捷鍵訥/url]]定,可以調整行距,避免中文排列過於緊密,具有選項文本列塊的功能(按ALT 鍵移到滑鼠),並允許無限撤消、重做,總之功能多多,使用方便,是替代記事本的最佳編輯器。
下載emed404epx.exe後,發現用Winrar可以開啟,解壓縮後,執行Emeditor,發現丟失了預定義的多種文本格式的語法配置,看來這樣做不行,只好採用方法5了。請隨我一步步進行,步驟如下:
1 掃瞄系統,制訂系統抓圖 。這裡我僅僅記錄當前系統的註冊表(因為我認為Emeditor不會向系統目錄拷貝文件,如果判斷錯誤,就會導致「綠化」失敗),執行ART(Advanced Registery Tracer),掃瞄一遍註冊表。如圖emeditor_snap.PNG,不要關閉ART。
2 安裝Emeditor。隨便安裝到哪裡,反正一會就卸載。安裝好後,如果需要的話,更改配置,或者配置新的檔案類型,例如我就增加了NFO檔案類型,設定和NFO文件相關聯的字串集,這樣可以用Emeditor直接察看NFO文件,不需要專門的察看工具了。
3 記錄系統變化。再一次掃瞄系統,給系統作抓圖 ,從ART裡面再一次掃瞄註冊表,然後選項功能表指令Registry-〉compare here或者直接用鍵盤F10,比較結果如圖emeditor_compare.png,點擊圖中那個save to redo file的按鈕,存儲為Emeditor.reg文件,關閉ART。
4 複製並卸載。複製安裝好的Emeditor目錄到其他路徑,然後卸載Emeditor程序。
5 分析。開啟剛剛匯出的Emeditor.reg文件,這是一個巨大的reg文件,單單是REG文件就有1兆多,不過不用擔心。閱讀註冊表後,刪除和emeditor無關的註冊表項後,如僅僅和檔案總管相關的註冊表部分,發現剩下的註冊表文件可以分成3個部分。一部分在位於註冊表的這個路徑[HKEY_LOCAL_MACHINE\SOFTWARE\EmSoft],裡面大部分不涉及路徑,只有一項記錄了Emeditor的路徑,就是"ModulePath"="h:\\EmEditor4\\";還有一大部分在註冊表的這個路徑下面[HKEY_CURRENT_USER\Software\EmSoft\EmEditor v3],裡面有很多項都涉及了Emeditor的路徑,如"Tmpl"="h:\\EmEditor4\\template.xml";還有就是和Emeditor和txt文件後面向關聯的註冊表設定,把Emeditor設定為IE中預設的來源碼察看工具的註冊表設定以及註冊COM元件EMEDSHL.DLL的註冊表部分(和InProcServer32相關的就是)。
6 「綠化」。
6.1 把位於註冊表路徑路徑[HKEY_LOCAL_MACHINE\SOFTWARE\EmSoft]的內容存儲到emeditor_HKLM.reg文件中,把位於註冊表路徑[HKEY_CURRENT_USER\Software\EmSoft\EmEditor v3]的內容存儲到emeditor_HKCU.reg文件中,把剩下的內容首先除掉COM元件EMEDSHL.DLL的相關部分,然後存儲到emeditor_assoc.reg文件中。
6.2 把emeditor_HKLM.reg文件和emeditor_HKCU.reg文件中涉及到路徑的註冊表內容抽取出來,存儲到emeditorConf.reg文件。
6.3 把emeditor_assoc.reg文件和emeditorConf.reg文件用INF的語法轉換為INF文件,或者用一個免費小工具reg2inf.exe自動轉換,然後把轉換得到的emeditor_assoc.inf文件和emeditorConf.inf文件中的路徑h:\EmEditor4全部用%01%替代。下面是emeditorConf.inf文件的內容:
[Version]
Signature="$CHICAGO$"
[DefaultInstall]
AddReg=EmeditorConf_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,"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 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%\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,"Software\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 寫一個批次處理文件install.bat,內容如下:
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,emeditorConf.inf,emeditor_assoc.inf,emeditor_HKLM.reg,emeditor_HKCU.reg5個文件存儲到Emeditor的目錄,刪除其餘的註冊表文件。
6.6 根據安裝步驟和install.bat,寫出相應的卸載的批次處理文件,這個比較簡單。
經過測試後,Emeditor工作正常,也可以註釋掉install.bat的最後2行語句,這樣Emeditor就不會和系統關聯,上面的步驟是在windows 2000上的,對於win9x也同樣,而且win9x下面的emeditor的配置文件和windows 2000的一樣,僅僅是程序的版本不同。
把製作好的綠色的emeditor拷貝到USB碟上,需要用的時候,直接執行裡面的install.bat文件就可以了(注意,要在Emeditor的目錄執行批次處理文件),不需要任何檔案拷貝。這個例子演示如何自動綠色安裝,如何解決路徑問題,如果你用幾十個類似的綠色軟體,但是需要手工修改路徑的話,是很難記住那些路徑需要修改的,當然你如果可以寫出自動替換路徑的指令碼也是可以的。我說u盤就是為了強調 路徑可以變化,如果大家所使用的機器的所有分區排列都是一樣的話,都是把軟體存儲到c:的話,是可以直接制作備份註冊表的,否則需要手工修改路徑,修改一個容易,多了就麻煩了。

從以上的事例中,可以看出,方法2和方法1基本一樣,只不過方法1我們使用WinRar解壓縮,而方法2我們使用安裝程序解壓縮。方法6可以說是方法5的簡化版本,方法3和方法4也可以輔助方法5,也有一些需要聯合套用這些方法,有時候難以判斷到底使用了那個方法,方法是死的,需要靈活運用,有些時候需要不斷試驗。
我簡單說幾個軟體「綠化」時候使用的方法,某些軟體可能有多種「綠化」方法,然而最後的結果基本一樣:

使用方法1就不提了,只要沒有專門的安裝程序,直接以zip形式發佈的,都使用方法1。
CuteFTP,Flashfxp,qq,foobar ,winamp2.8,acrobat,FinalData ,金山詞霸 ,ZoomPlayer,WinISO ,IsoBuster,WinISO ,MIRC,WinCVS,Photoshop6 ,EASYRECOVERY 6.03,網易泡泡使用方法2。
VisualC++ 6, real player,realmedia的解碼器包,大部分解碼器如vp6,mpeg2,ac3 ,ogg ,divx ,xvid 使用方法5。
Netants ,flashget,OfflineExplorer acdsee,ultraedit ,IBM詞典,theBat,網文快捕,和現在的CyberArticle,PartitionMagic7 使用方法6。
不適合「綠化」的有Directx9,Mediaplayer9,IE6,微軟的修正檔程序,Office2003,反病毒工具NAV,Java虛擬機,虛擬機VMware等等,其中有些是不知道如何「綠化」或者說比較困難,如Office 2003,我認為那種把Office安裝到硬碟上,然後抽去註冊表的變化的方法部叫做「綠化」,因為註冊表文件中有大量的絕對路徑存在,而且Offcie的元件之間有比較複雜的聯繫,所以難以「綠化」。有些是「綠化」沒有意義,如IE6,微軟的修正檔程序,Directx9等等。

目前我使用的軟體,絕大部分都「綠化」了,只有少數幾個必須安裝了,如MS Office,Visual Studio.net 2003等等。感覺非常方便,尤其是改變磁碟代號的時候,非常簡單,可以做到便攜化。
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
向 psac 送花的會員:
中壢小伍 (2008-01-21)
感謝您發表一篇好文章
舊 2004-07-22, 02:12 AM   #2 (permalink)
長老會員
 
NiGHTsC 的頭像
榮譽勳章
UID - 913
在線等級: 級別:286 | 在線時長:83507小時 | 升級還需:10小時級別:286 | 在線時長:83507小時 | 升級還需:10小時級別:286 | 在線時長:83507小時 | 升級還需:10小時級別:286 | 在線時長:83507小時 | 升級還需:10小時級別:286 | 在線時長:83507小時 | 升級還需:10小時級別:286 | 在線時長:83507小時 | 升級還需:10小時級別:286 | 在線時長:83507小時 | 升級還需:10小時級別:286 | 在線時長:83507小時 | 升級還需:10小時級別:286 | 在線時長:83507小時 | 升級還需:10小時級別:286 | 在線時長:83507小時 | 升級還需:10小時級別:286 | 在線時長:83507小時 | 升級還需:10小時
註冊日期: 2002-12-06
住址: 加拿大-魁北克(Canada-Quebec) -- 故鄉-高雄
文章: 5587
現金: 5951 金幣
資產: 193833733 金幣
預設

嘿嘿,我也喜歡緣絕色軟體,超級方便的,
不用再安裝什麼的,可惜,現在的重要軟體還有得安裝…
PSAC 大大,你的連結沒用好哦,下面的文章都變了…
謝謝你的解釋。
__________________
貴在中和,不爭之爭
http://i.imgur.com/QnVA4.jpg
2011-中華民國建國百年跨年慶典(精研完整版)
臺灣 我們的母親
臺灣 我們居住的家園
臺灣 我們心目中永遠的第一
相聚在這塊土地上,珍惜這裡的一切
NiGHTsC 目前線上  
送花文章: 13208, 收花文章: 1782 篇, 收花: 4044 次
 


主題工具
顯示模式

發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 09:23 AM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1