《綠色軟件制作方法》由會員分享,可在線閱讀,更多相關(guān)《綠色軟件制作方法(8頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、綠色軟件制作方法(完整有圖版)
許多人深有感觸,重裝系統(tǒng)的麻煩之處往往不僅僅在于Windows的安裝過 程,還有大量實用軟件的安裝和配置過程:周而復(fù)始的“運行Setup-選擇目標(biāo) 路徑一選擇安裝組件”過程,讓人不勝其煩,如何刪繁就減,讓安裝從此輕松起 來呢?這次我們就來一個軟件綠化大行動,了解什么是綠色軟件,如何制作綠色 軟件,如何讓系統(tǒng)重裝后,大量的實用軟件不需要安裝或者只需要簡單的操作, 就能直接使用。
小知識深入認(rèn)識綠色軟件
在DOS下裝軟件,程序只要直接拷貝或者解壓縮就能夠使用,不喜歡刪掉 就是?,F(xiàn)在Windows下的程序必須經(jīng)常安裝才能使用,而且在安裝時,可能往 Windows
2、注冊表等種種你想都想不到的地方,塞進越來越多的“私貨”。于是, 人們開始懷念起以前“簡單”的歲月,給那些安裝時不用修改Windows注冊表 等任何內(nèi)容,也不往Windows文件夾中拷任何文件,甚至是簡單拷來就能用的 軟件就是“綠色軟件”。
綠色軟件可分為狹義和廣義兩種。狹義的綠色也稱為純綠色軟件,是指軟件 對系統(tǒng)幾乎沒有任何改變,除了軟件的安裝目錄,不往注冊表、系統(tǒng)文件夾等任 何地方寫入任何信息(或只在開始菜單中添加簡單的快捷方式),卸載軟件只需要 直接刪除安裝目錄即可,類似于以前的大多數(shù)DOS程序。
廣義的綠色軟件則不需要專門的安裝程序,對系統(tǒng)的改變比較少,手工就可 以完成操作,比如拷貝
3、幾個動態(tài)庫、導(dǎo)入注冊表或者可以借助于批處理等腳本即 可直接完成。狹義的綠色軟件最為理想,但現(xiàn)在完全符合這種定義的軟件已經(jīng)越 來越少了,好在相當(dāng)多的軟件還是可以制作成廣義的綠色軟件。
制作為綠色軟件有何好處
1. 省略或簡化程序的安裝過程
綠色軟件可以放置在硬盤的任何目錄中,重裝系統(tǒng)后,這些軟件不用安裝或 只需要簡單的安裝就可運行。比如通過復(fù)制安裝文件夾的方法可以制作QQ、
Foxmail的綠色軟件,無論如何重裝系統(tǒng),也不管復(fù)制到任何目錄中,只需要雙 擊里的可執(zhí)行程序即可運行。即使不是這樣的綠色軟件,也僅僅只需要執(zhí)行批處 理文件、安裝腳本或REG文件即可,大大簡單了程序的安裝。
2.
4、省略或簡化程序的配置
大量的軟件將配置和數(shù)據(jù)保存在安裝文件夾或注冊表中,在制作綠色軟件的 時候,這些都被很好地保存下來。如QQ的聊天記錄、好友信息,F(xiàn)oxmail的郵 件、帳號等,都會毫發(fā)無損地保留下來,而如果是重新安裝,這些信息的重新配 置都將是一個很大的工作量,對于不懂電腦的人來說,更是麻煩。
3. 可遷移性強
理論上講,綠色軟件可以放置在電腦的任何一個地方,也可以通過移動硬盤 攜帶到其他的電腦中不需安裝直接運行,這給我們的工作帶來很大的便利(如QQ 聊天記錄、電子郵件、地址簿、自定義的輸入法等)。
如何“綠化”軟件
下面我們就來探討一下綠色軟件的制作方法(簡稱為“綠化”),綠化
5、的過程 實際上就是我們自己完成安裝程序的工作。沒有什么固定的方法,需要猜測、分 析和不斷的試驗、測試,在實際操作過程中,有以下一些由易到難的方法將有助 于你的綠化行動。
1.解壓縮
先安裝WinRAR,右擊擴展名為EXE的安裝文件試一試,如果有解壓縮的 選項(或有“用WinRAR打開”,如圖1),那該軟件多半是屬于綠色安裝的軟件 (也有例外,如EmEditor),試著把壓縮包中的文件直接解壓到目標(biāo)路徑,雙擊運 行可執(zhí)行文件,就可以測試軟件的功能是否正常,如果功能正常,那么“綠化” 成功;如果不正常,就得動用下面的方法。
Scan for Viruses...
Backup with S
6、martSync Pro 澄添加到擋案文件⑴" 膳添加到(!)"WinDVD6_Chs'.rar|r 疽壓縮并郵寄…
卷壓縮到WinDVDe^dns.rar11并郵寄 澄釋放文件⑥一
追釋放到這里?
膛釋放到(£) WinDVDG.Chs^
卷 WinRAR 打開
發(fā)送到㈣
1 ■ -
yesky. com
2. 安裝后卸載
先安裝軟件,然后復(fù)制程序的安裝文件夾到另一目錄下,接著卸載此軟件, 再到目標(biāo)文件夾中雙擊可執(zhí)行文件,看是否能正常運行。如果功能正常,那么“綠 化”就成功了(前面提到的QQ和Foxmail就是此類型的典型代表軟件)。
3. 反編譯安裝程序
這個
7、方法需要費一點力氣了,需要根據(jù)安裝程序所用的制作工具,選擇相應(yīng) 的反編譯程序,然后閱讀反編譯出的安裝腳本,制作綠色軟件。目前的軟件大多 使用專門的安裝工具制作,如 InstallShield,Wise,Inno Setup,Windows Installer,NSIS(Nullsoft),Installer VISE,其中 Windows Installer 格式的安裝 文件(就是MSI,MST為后綴的文件),可以通過微軟的免費工具Orca打開查看, InstallShield格式的安裝文件也有很多免費的工具可以解壓縮和查看腳本。如果 沒有相應(yīng)的反編譯程序,就無法使用這個方法了。
4. 觀察
8、安裝和反安裝文件
一般軟件安裝后都會在安裝文件夾中生成安裝文件(如Install.log)和卸載文 件(如Unins000.dat)。里面記載著創(chuàng)建的目錄、復(fù)制的文件、在注冊表中創(chuàng)建的 鍵值等信息,可以用純文本編輯器打開、查看這些文件(如圖2)。查看這些文件 可以理解反安裝過程,最后根據(jù)反安裝的信息制作綠色軟件。個別情況下這個文 件完全不包含可讀信息,就只好換用其他方法了。
5. 比較系統(tǒng)快照
當(dāng)前面的方法都失敗的時候,可以試一試這個方法。具體思路就是在安裝軟 件之前,把系統(tǒng)的狀態(tài)記錄下來,主要包括注冊表和系統(tǒng)目錄的所有文件狀態(tài)。 接下來就是安裝軟件,安裝完成后,再一次記錄系統(tǒng)狀
9、態(tài)。最后就是比較前后兩 個系統(tǒng)狀態(tài)的不同,即可得知安裝程序所做的工作。
這些工作可以由專門的軟件完成,如免費工具Regshot(比較注冊表變化), 免費工具InCtrl5(監(jiān)視軟件安裝會對系統(tǒng)造成的影響,包括注冊表、INI文件、指 定文件、指定文件夾、驅(qū)動器等),微軟的Sysdiff工具(包含在Windows 2000 的Resource Kit中,用來查看安裝應(yīng)用程序前后注冊表和硬盤上文件的變化), 或者 WinInstall LE(在 Windows 2000 Server 安裝光盤 Valueadd\3rdparty\Mgmt\Winstle\ 中)。
系統(tǒng)前后的差異分為文件部分和注
10、冊表部分。文件部分指的是向系統(tǒng)目錄拷 貝的文件,以及作為COM組件注冊的文件,還有與這些文件相關(guān)的注冊表部分, 注冊表部分單單指其余的注冊表的變化。對于文件部分,可以進一步區(qū)分出必須 要往系統(tǒng)目錄拷貝的文件(這種情況是少數(shù))和放在軟件安裝目錄的文件。對于注 冊表部分,區(qū)分出由這個軟件的安裝程序本身所作出的注冊表操作和注冊COM 組件時候的注冊表操作。
6. 直接導(dǎo)出注冊表 尋找自注冊的COM組件
這個方法是方法5的簡化版,現(xiàn)在軟件的配置大多寫在注冊表中的 “HKEY_LOCLAL_MACHINE\SOFTWARE\軟件公司名字”和 “HKEY_CURRENT_USER\SOFTWARE\軟
11、件公司名字”這2個鍵下面,直接 對把這2個注冊表鍵導(dǎo)出到REG文件中。自注冊的COM組件都需要導(dǎo)出如下 4 個函數(shù):DllCanUnloadNow,DllGetClassObject,DllRegisterServer, DllUnregisterServer,可以用VC自帶的Depend.exe找出哪一個動態(tài)鏈接庫是 自注冊的COM組件。最后寫一個批處理文件用Regsvr32.exe注冊COM組件 和用Regedit.exe導(dǎo)入注冊表。
通過上面分析安裝程序的動作,把安裝程序的工作分解為復(fù)制文件、注冊
COM組件、安裝服務(wù)驅(qū)動、注冊表配置等幾個部分,雖然注冊表配置可以覆蓋 注冊COM組件
12、、安裝服務(wù)驅(qū)動等操作步驟,但是把這些步驟明顯分割出來有助 于制作綠色安裝的軟件。
以上所列綠化軟件的六種方法,由易到難,有時可能需要幾個方法聯(lián)合使用。 綠化軟件沒有一條終南捷徑,需要不斷地分析和測試,測試時,最好能到全新的 系統(tǒng)中或別的電腦中跨平臺進行。這里需要說明的是,無論使用什么方法,都是 模擬軟件的安裝過程,所以原作者最容易給出該軟件的綠色版本。
綠化實例
1. WinZip 和 WinRAR 巧綠化
WinRAR和WinZip可以采用方法1直接解壓縮安裝文件,先下載安裝文件 到一個安裝了 WinRAR的系統(tǒng)上,右擊選擇“解壓文件”,在彈出窗口中選擇 目標(biāo)路徑即可,然后雙擊目標(biāo)文
13、件夾中的可執(zhí)行文件即可直接運行。不過,第一 次運行時,需要對軟件進行設(shè)置。
2. FlashGet 的綠化
第一步:解壓安裝程序
FlashGet是大家用得比較多的一個軟件,要制作它的綠化版本,需要方法3 和方法6配合使用。下載并運行FlashGet的安裝程序,然后取消安裝。從如圖 3上可以看出FlashGet是使用Wise制作的安裝程序,下載安裝Wungui軟件, 可以非常容易地把安裝程序解壓縮到一個目錄中(如圖4)。
*11: Mf'
匚口|竺
£dt via"物 cribw Luote Hpfc
I卑
- t 如缶 Fjchs x.號用-
_j f TKf/LEal
14、FiAlMilN
tn go
FnhWR k :'tffne - | | Tnw
i 心tu
*1
FiteFiAtef
i^LI
fierwiw
頷4*1 'ELI
_|-E>XiKh
RtFwiei
I E^LI.
?Wm相 OF
SK6
漪 br4g<=i
沖?3■料23;J+
A
34 kB
Sp虹虻1n ExtensiiKi
2SO2-'5-Z7 2:L7
A
whHbflK.dn
隔咀
5W+-&-31 I3;£
A
Oflwbaet.EW
U*圖
4(*味刷
2W+-I?J1 L313Z
A
15、
反F X .七百.MMiT心
L弭
MA心EST Fil
就叫辦14壽鄒
A
t E
"■pl DWJTWrt
2Q00-Z-4 Bl.;C4
A
盛.伽
WtB
HJML
2DD5W?& II1G6
A
XlJcxBfcrh ifl
麗E?
^■ppkirtnn
她十郵1.心
A
nil License.
SIS
T& DccuirMr土
2002-3-J8 L*利
A
曲廊皿?%
38熊
也g
頑的;#
曲
2JMO-5-IO L3s3]
A
.. jC<
1,即
KSFta
灑"6,l;熊
A
塑
16、 FMdmj.bi
H tB
teoct Cccimert
2DO+-Z4!22:M
A
塑令以M
HE
CPdFBt
2tKH.5.5 BB:4I
A
奇冊E
£他
^XD-Z-b EL;(^
A
加出 at ion
SJ03JD-J6 10.?
A
Jliw 卻 H
2 IB
:* bjp InformSton
2000-2-6 t
A
責(zé) whatiTE.E
32 KB
Text Dwusrtrt
ani
?
tl
D 阮hTSifc _*_
/J RKYatI>
1 REALES m*.
i
17、卸 stem Vokirie [nimnabtri
n 5空sk£號B
第二步:注冊DLL
觀察Maindir目錄,其中有兩個DLL文件Jccatch.dll和Fgiebar.dll,進一 步察看這兩個動態(tài)庫文件的導(dǎo)出函數(shù),可以知道這兩個DLL文件都是自注冊的 COM組件,寫一個批處理文件install.bat來注冊這兩個DLL。
REGSVR32 Jccatch.dll /s
REGSVR32 Fgiebar.dll /s
經(jīng)過測試,功能正常,并且可以從瀏覽器IE中用鼠標(biāo)的右鍵菜單激活 FlashGet,功能完全,下面考慮卸載過程。
第三步:制作反安裝程序
運行Regedit
18、.exe,發(fā)現(xiàn)FlashGet在注冊表中的路徑是 [HKEY_CURRENT_USER\Software\JetCar\JetCar],寫一個注冊表文件 unflashget.reg刪除這個路徑,如下:
REGEDIT4
;FlashGet
[-HKEY_CURRENT_USER\Software\JetCar\JetCar]
同時寫一個批處理文件uninstall.bat來卸載這兩個DLL文件并導(dǎo)入
unflashget.reg。
Regedit /s unflashget.reg
REGSVR32 /s /U Jccatch.dll
REGSVR32 /s /U Fgieb
19、ar.dll
第四步:刪除不必要文件
隨后刪除我們用不到的文件,比如Language目錄下大量歐洲的語言文件, 這個綠色版本就做好了。把制作好的綠色的FlashGet拷貝到U盤上,需要用的 時候,直接執(zhí)行里面的Install.bat文件就可以了(注意,要在Flashget的目錄運 行批處理文件),不需要任何文件拷貝,不再使用時,直接雙擊uninstall.bat卸 載。
小提示
有人用優(yōu)化大師提取FlashGet的注冊表,然后直接導(dǎo)入注冊表來制作綠色 的FlashGet,這樣做是不行的。從前面的步驟來看,注冊兩個DLL文件必然在 注冊表中引入絕對路徑,如果直接提取注冊表的話,就必須根據(jù)
20、當(dāng)前的路徑來修 改注冊表中的路徑,否則制作的綠色版的FlashGet只能在固定的目錄運行。
3. 更多軟件的綠化
除了以上提到的一些軟件,CuteFTP、MyIE2、FlashFXP、QQ、 GreenBrowser、Foxmail、Foobar、Winamp、Acrobat、FinalData、金山詞霸、 ZoomPlayer、WinISO、ISOBuster、Total Commander、網(wǎng)易泡泡都可以使用 方法2來綠化。
VisualC++、RealPlayer、RealMedia 的解碼器包,大部分解碼器如 MPEG2、 AC3、OGG、DivX、XviD可以使用方法5來綠化。
21、
Netants、FlashGet、Offline Explorer、ACDSee、UltraEdit、the Bat、 CyberArticle、PartitionMagic都可以使用方法6來完成綠化。
不適合“綠化”的有 DirectX、Windows Media Player 9、IE 6.0、微軟的 補丁程序、Office、反病毒工具NAV、Java虛擬機、虛擬機VMware等。有些 是“綠化”起來比較困難,如Office,因為注冊表文件中有大量的絕對路徑存在, 而且Office的組件之間有比較復(fù)雜的聯(lián)系,所以難以“綠化”;另有一些是“綠 化”沒有意義,如IE 6.0、微軟的補丁程序、DirectX等。
對于大部分軟件來說,通過以上的綠化方法能解決全部的問題。但還有另一 部分軟件,需要做進一步的處理或采取別的方式,比如注冊表文件只能保存絕對 路徑,那通過導(dǎo)出注冊表的方式制作的綠色軟件其路徑必須是固定的,或者移動 位置后需要修改注冊表文件中的絕對路徑后再導(dǎo)入。