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