[計(jì)算機(jī)軟件及應(yīng)用]綠色軟件知識(shí)大全

上傳人:無(wú)*** 文檔編號(hào):75281123 上傳時(shí)間:2022-04-15 格式:DOC 頁(yè)數(shù):69 大?。?79.44KB
收藏 版權(quán)申訴 舉報(bào) 下載
[計(jì)算機(jī)軟件及應(yīng)用]綠色軟件知識(shí)大全_第1頁(yè)
第1頁(yè) / 共69頁(yè)
[計(jì)算機(jī)軟件及應(yīng)用]綠色軟件知識(shí)大全_第2頁(yè)
第2頁(yè) / 共69頁(yè)
[計(jì)算機(jī)軟件及應(yīng)用]綠色軟件知識(shí)大全_第3頁(yè)
第3頁(yè) / 共69頁(yè)

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《[計(jì)算機(jī)軟件及應(yīng)用]綠色軟件知識(shí)大全》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《[計(jì)算機(jī)軟件及應(yīng)用]綠色軟件知識(shí)大全(69頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、綠色軟件知識(shí)大全 1: 什么是純綠色軟件 2: 制作迷你軟件三步 3: 綠軟的綠化方法 4: bat 批處理教程(1) 5: bat 批處理教程(2) 6: 批處理文件制作實(shí)例精彩教程 7: 軟件版本詳細(xì)介紹 8: 綠色軟件命名規(guī)則 9: 通殺各種 exe 安裝程序 10:綠色軟件的定義和分類(lèi) 11:自制綠色軟件-打造最傻瓜的軟件安裝包 12:擴(kuò)展使用.INF 文件-制作免安裝的綠色軟件 13:雙系統(tǒng)互救安裝法 14:軟件精簡(jiǎn)與綠化專(zhuān)題之概念篇 15:呼吁“綠色軟件 一、什么是純綠色軟件?   綠色軟件有如下嚴(yán)格特征:   1、不對(duì)注冊(cè)表進(jìn)行任何

2、操作(或只進(jìn)行非常少的,一般朋友能理解的操作,典型的是開(kāi)機(jī)起動(dòng)。少數(shù)也進(jìn)行一些臨時(shí)操作,一般在程序結(jié)束前會(huì)自動(dòng)清除寫(xiě)入的信息)。   2、不對(duì)系統(tǒng)敏感區(qū)進(jìn)行操作,一般包括系統(tǒng)起動(dòng)區(qū)根目錄、安裝目錄(windows 目錄)、程序目錄(Program Files)、帳戶(hù)專(zhuān)用目錄。   3、不向非自身所在目錄外的目錄進(jìn)行任何寫(xiě)操作。   4、因?yàn)槌绦蜻\(yùn)行本身不對(duì)除本身所在目錄外的任何文件產(chǎn)生任何影響,所以,根本不存在安裝和卸載問(wèn)題。   5、程序的刪除,只要把程序所在目錄和對(duì)應(yīng)的快捷方式刪了就可以了(如果你手工在桌面或其它位置設(shè)了快捷方式),只要這樣做了,程序就完全干凈地從你的電腦里刪去了,

3、不留任何垃圾。   以上就是綠色軟件的特征。   對(duì)于編程人員來(lái)說(shuō),做一個(gè)綠色軟件不難,做一個(gè)非綠色軟件也不難,但是為什么那么多軟件不做成綠色的呢?下面作一些講解:   一、大型軟件公司的大型軟件為什么不做成綠色的:   1、大型軟件公司并非沒(méi)有能力做出綠色軟件,但它們的軟件涉及的方面過(guò)多,需要對(duì)系統(tǒng)原有的一些設(shè)置進(jìn)行改動(dòng),以使電腦按照軟件設(shè)計(jì)要求進(jìn)行操作。以 PhotoShop 為例,它就需要在注冊(cè)表里添加很多種格式文件的默認(rèn)打開(kāi)方法為 PhtoShop.exe,以便大家雙擊此類(lèi)文件后就自動(dòng)打開(kāi) PhotoShop 以便編輯。   2、為了更好的為一些對(duì)電腦知識(shí)不是很了解的朋友進(jìn)行

4、一些自動(dòng)設(shè)定。還是以 PhotoShop為例,這兒已經(jīng)有朋友發(fā)布了解壓即可用的,但是,還是不少的 朋友,連解壓也不會(huì),解壓后都不知道點(diǎn)哪個(gè)文件開(kāi)始正常運(yùn)行,也不知道怎么在桌面上建快捷方式。就算別人為他做完了上面的事,要是有一天,他不想要 PhotoShop 了,也不知道原來(lái)安裝的程序在哪個(gè)目錄,怎么刪去,甚至不知道如何刪除快捷方式,更別說(shuō)如何完全干凈的刪除了。做成安裝版就可以自動(dòng)為 使用者完成上面的事了。  ?。ㄌ貏e說(shuō)明:上面對(duì) PhotoShop 的舉例,只是用它來(lái)舉例罷了,其實(shí)網(wǎng)上流行的解壓即可用的 PhotoShop 也不是嚴(yán)格的綠色軟件,其運(yùn)行還是會(huì)寫(xiě) 注冊(cè)表的,如果不正常的使用它,

5、注冊(cè)表里還是會(huì)留下垃圾的,不過(guò),這種垃圾對(duì)你的電腦影響不是很大,會(huì)的朋友可以手動(dòng)刪除這些垃圾)二、做成安裝軟件很難嗎?那些所謂寫(xiě)綠色軟件的人是不懂 windows 編程,根本就寫(xiě)不出注冊(cè)的過(guò)程嗎。   1、我只能說(shuō),某些人的這種說(shuō)法是一種非常不負(fù)責(zé)任的說(shuō)法。其人根本不懂得編程,可笑而幼稚,只能以電腦肓來(lái)稱(chēng)呼。   2、現(xiàn)在流行的各種編程軟件分三大類(lèi):   A、第一類(lèi)是微軟出的編程軟件。   有 Visual Studio 系列(流行版本為 6.0)以及新出不是很久的 VS.NET 系列,它們都自帶了安裝發(fā)布功能。特別是 Visual Studio 中的 VB 做出的東西,如果不發(fā)布,或

6、不進(jìn)行相關(guān)的處理,在別的沒(méi)有安裝 VB 的機(jī)器上是根本運(yùn)行不起來(lái)的,因?yàn)?VB 編譯出來(lái)的程序在根本上是偽 編譯,其指令通過(guò) VB 運(yùn)行庫(kù)轉(zhuǎn)譯后運(yùn)行,沒(méi)有 VB 運(yùn)行庫(kù)的機(jī)器是根本無(wú)法正常運(yùn)行此類(lèi)程序的。當(dāng)然了,有經(jīng)驗(yàn)的朋友可以手工把運(yùn)行庫(kù)復(fù)制入相應(yīng)的目錄中, 或是和 VB做出的程序放在一起。其它的 Visual Studio 做出的程序有的有類(lèi)似的上述情況。   在微軟出品的 VS.NET 中,VS.NET 兼容了多種編程語(yǔ)言,但按其說(shuō)法,最終的代碼其根本實(shí)質(zhì)會(huì)變成一致。但是它做出的也同樣是偽代碼,也就是 說(shuō),其代碼不是根本上的機(jī)器二進(jìn)制代碼,不對(duì)機(jī)器進(jìn)行直接指令指示,而是向.NET 運(yùn)行

7、環(huán)境(NET Framework 接口)發(fā)出指令,而由 NET Framework 轉(zhuǎn)譯指令為機(jī)器代碼,再進(jìn)行持行。這就要求你的機(jī)器上安裝了 NET Framework。NET Framework 在 win95/win98/windows2000 上默認(rèn)是沒(méi)有安裝的,如要安裝,需要從網(wǎng)上下載或其它方式得到后安裝。(微軟官方有 下載,大家也可以使用windows updata 得到)。XP、windows 2003 已集成。最后要說(shuō)的是,微軟宣言,要將原來(lái)的API 接口(windows 一直使用的標(biāo)準(zhǔn)編程接口)作廢,改用.NET 接口,故.NET 編程方式可 能是將來(lái)的標(biāo)準(zhǔn)方式。VS.NET

8、系列的軟件也集成了通用安裝發(fā)布軟件,只要正確掌握它,就能很好的做出樓主所謂的安裝程序。   B、第二類(lèi)軟件是大名鼎鼎的 Borland 公司出品的編程軟件,它也包括兩大系列。即 API 系列和.NET 系列。其.Net 系列的情況和 VS.NET 是類(lèi)似的。而其 API 的情況就有些不同了。   Borland 的 Borland C++Builder 和 Borland Delphi 是兩種非常流行的針對(duì) win 進(jìn)行 API 編程的編程環(huán)境。他們也帶有 install shield,可以說(shuō)是編程人員必學(xué)的。不過(guò),很多的稍簡(jiǎn)單的程序,編制者并不用它,因?yàn)?,使?Borland C++Bu

9、ilder/Delphi 開(kāi)發(fā)出來(lái)的程序,只要正確設(shè)定幾個(gè)參數(shù),編譯后得出的程序就可以在幾乎所有版本的 win 中很好的直接運(yùn)行了,當(dāng)前,前提是,沒(méi)有使用有特殊要求的第三方控件,或某些必要特別設(shè)定的數(shù)據(jù)源(BDE 等)。   而且,稍熟練的編制者可以直接在程序中通過(guò)程序自行進(jìn)行一些簡(jiǎn)單的環(huán)境 設(shè)定,如寫(xiě)注冊(cè)表(關(guān)聯(lián)文件、開(kāi)機(jī)起動(dòng))、利用資源文件的方式向重要的目錄寫(xiě)入文件,注冊(cè)組件等等,可以說(shuō)一點(diǎn)兒也不難。   C、第三類(lèi)是一些比較偏的編程語(yǔ)言了,如易語(yǔ)言等,使用的人很少,本人很老實(shí)的說(shuō),具體情況我也不是很了解。   三、為什么一些個(gè)人的簡(jiǎn)單的軟件會(huì)做成非綠色的:   1、編寫(xiě)者水平太低

10、。低到只會(huì)使用微軟的 VB 等,雖然做出的東西也值得一用,但是不知道怎么把它變成綠色的,只能依靠 VB 等本身的功能以保證程序的正常運(yùn)行。   2、編寫(xiě)者懶,寫(xiě)出程序后想,只要程序能正常讓別人用就可以了,不值得太費(fèi)腦子,依靠VB 等本身的功能發(fā)布吧,反正這樣保險(xiǎn)。   3、編寫(xiě)者水平不低,也不懶,但是它的程序用到了一些第三方控件,這些控件需要發(fā)布安裝才能正常運(yùn)行(需要注冊(cè)特定的.DLL,需要把一些文件放到特定的位置,如典型的,要放入 windows 下的 system32 目錄中。)4、編寫(xiě)者為一些水平實(shí)在太低的人考慮,為了那些人的方便,如典型的《笨笨鐘》就是此類(lèi),《FoxMail》、《w

11、inamp》也是此類(lèi),當(dāng)然,F(xiàn)oxMail、《winamp》是寫(xiě)注冊(cè)表的,通過(guò)其主程序進(jìn)行一些環(huán)境的設(shè)定,嚴(yán)格上來(lái)說(shuō),也不是純綠的。   5、編寫(xiě)者有一些特定的,不想為人知的東西要放入你的機(jī)器。比如典型的《阿達(dá)連連看》   就是這樣,它要把一些特定的與注冊(cè)相關(guān)的東西放入你的 windows 目錄,而且不想被人發(fā)現(xiàn)。又如網(wǎng)際快車(chē)的某些版本,它要把廣告程序代碼放入你的 windows 安裝目錄。   6、編寫(xiě)者有惡意,它的程序其實(shí)捆綁了木馬、病毒等(對(duì)這一類(lèi)的就要非常小心了),在安裝的過(guò)程中這些惡意的程序就會(huì)釋放出在,不知不覺(jué)中潛入你的計(jì)算機(jī)。   四、是否可以做出功能復(fù)雜,但又是嚴(yán)格意義

12、上的純綠軟件:   答案是非常肯定的,因?yàn)椋鋵?shí)我們正在使用的很多程序都是純綠的,特別是很多的游戲,雖然它們也要安裝后才能運(yùn)行,其實(shí),你把它們安裝后的目錄放在別的機(jī) 器上也一樣的可以使用,并不必再次安裝,其安裝的意義就是***編寫(xiě)者為一些水平實(shí)在太低的人考慮***,如《三角洲》、《魔獸爭(zhēng)霸 III》。特別如網(wǎng)絡(luò) 游戲《傳奇》(這個(gè)程序?qū)懙氖钦娴暮芙?jīng)典了,決對(duì)純綠)等等著名的游戲都是如此。其需要設(shè)定的環(huán)境記錄可以不寫(xiě)在注冊(cè)表內(nèi),而利用*.INI 文件來(lái)記錄。 我不知道有幾個(gè)人有膽子說(shuō)編寫(xiě)這些程序的人水平低下。   五、綜上所述:   1、要做出一個(gè)純綠色的軟件,并不是很難,當(dāng)然,可能要求編

13、制者更多的依靠自已去寫(xiě)代碼(在必要情況下),在程序涉及方面比較多的情況下,可能給編制者加重很多的工作量。   而要做一個(gè)非純綠的軟件,那就更容易了,往往可以利用編寫(xiě)器的一些自帶功能自動(dòng)完成。   2、純綠的不帶安裝功能的軟件非常適合于對(duì)電腦比較熟悉的朋友使用,而綠色帶安裝的軟件適合于所有人使用。而自以為對(duì)電腦很熟的朋友往往更喜歡不帶安裝功 能就可以用的。   原因有如下:帶安裝的軟件往往會(huì)有反安裝程序,如果安裝目錄被人為刪去,反安裝程序或一些相關(guān)注冊(cè)表信息往會(huì)留在機(jī)器中,成為垃圾。   3、為了自已的機(jī)器的安全、快速,也為了知情權(quán)(一個(gè)程序到底在安裝和使用過(guò)程中在自已的機(jī)器里寫(xiě)了什么)

14、,本人極力推薦純綠的軟件。即便在必要的情況下 非純綠,也希望有詳細(xì)的說(shuō)明。說(shuō)明軟件可能會(huì)寫(xiě)注冊(cè)表的那些部分,會(huì)改動(dòng)機(jī)器里的哪些文件,會(huì)向哪些目錄寫(xiě)入什么文件,內(nèi)容。而且,希望這成為軟件界的一 個(gè)標(biāo)準(zhǔn)。這樣,我們的電腦才會(huì)有安全可言!   4、為什么現(xiàn)在流行的軟件中真正純綠的軟件不是很多呢?這個(gè)問(wèn)題很不好回答。在這兒可以非常遺憾的告訴大家,有些朋友在網(wǎng)上下載的 winrar 綠色版、winamp 綠色版等等,都不是真正意義上的純綠軟件。   比如 winrar,它就因?yàn)闉榱嗽谑髽?biāo)右鍵上出 winrar 的功能菜單而寫(xiě)動(dòng)了注冊(cè)表,因?yàn)橐P(guān)聯(lián)比如擴(kuò)展名為.rar 等等的文件(這些都可以在 win

15、rar 程序里設(shè)定和更改)而寫(xiě)動(dòng)了注冊(cè)表。   如果使用 winrar 后,強(qiáng)行把 winrar 程序目錄刪去,注冊(cè)表里的這一部分注冊(cè)表信息必然成為垃圾 (其它的也許有本人沒(méi)有發(fā)現(xiàn)的動(dòng)作,如沒(méi)有說(shuō)出來(lái)是本人水平不足的問(wèn)題了,呵呵)。   winamp 綠色版似乎要好一些(本人的感覺(jué)),如果你設(shè)定了一些文件的關(guān)聯(lián),如雙擊*.mp3等文件 winamp 就會(huì)自動(dòng)打開(kāi)播放的話(huà),你強(qiáng)行刪去 winamp 所在目錄,這部分文件的關(guān)聯(lián)信息也會(huì)成為垃圾留在注冊(cè)表中。   (上面兩個(gè)只是舉例,解決辦法很多對(duì)電腦熟悉的朋友是會(huì)的,在這兒,我們并不討解決辦法,另外,應(yīng)該說(shuō),上面兩程序是很規(guī)范的東西,它們的這

16、些動(dòng)作是無(wú)可厚非的)現(xiàn)在再回過(guò)頭來(lái)說(shuō)說(shuō)“流行的軟件中真正純綠的軟件不是很多”。   A、有些功能是非通過(guò)寫(xiě)注冊(cè)表來(lái)實(shí)現(xiàn)不可,最最常見(jiàn)的就是文件關(guān)聯(lián)、鼠標(biāo)右鍵菜單。(呵呵,這種操作可以說(shuō),稍熟編程的人都會(huì))。但是很少有個(gè)人編寫(xiě)者考慮到別人不用他的程序時(shí),要怎么讓使用者方便地復(fù)位這些文件關(guān)聯(lián),方便地清理右鍵菜單。   B、部分程序編寫(xiě)者喜歡把注冊(cè)信息放在注冊(cè)表中。(為什么喜歡?就因?yàn)樽?cè)表是龐大的參數(shù)庫(kù),他們以為,要從這樣一個(gè)大參數(shù)庫(kù)找出他們寫(xiě)入的一個(gè)信息是大海撈針。事實(shí)上,的確很多朋友是難以找出來(lái)的,話(huà)又說(shuō)回來(lái),會(huì)者不難,難者不會(huì),在這兒我也不細(xì)說(shuō)了)C、一些大公司的程序?qū)嵲趯?duì)系統(tǒng)有太多的改

17、動(dòng),他們做好了安裝和卸載工具,這些軟件涉及了系統(tǒng)的方方面面,想簡(jiǎn)單的刪除是很難的。典型的就如微軟的 Office 等等。這些軟件說(shuō)實(shí)在的,別說(shuō)你不老實(shí)的刪除了,就是老實(shí)的卸載,有時(shí)也是很難成功的。最好的辦法就是裝上后就別卸把,把它看成是系統(tǒng)的一部 分(不管你樂(lè)不樂(lè)意,呵呵)。(又及,這類(lèi)程序也不是很少,這兒只舉一例)。   D、只有那些其功能可以不涉及更改系統(tǒng)默認(rèn)行為的軟件才可能在真正意義上做到純綠。  ?。ǎㄒ苍S我羅嗦了)系統(tǒng)默認(rèn)行為包括“文件關(guān)聯(lián)”,“右鍵菜單”,“控 制面版”里的項(xiàng)目,真實(shí)或虛擬的硬件驅(qū)動(dòng)以及其它我想不起來(lái)或是我也不知道的東西……)。當(dāng)然了,還要編寫(xiě)者有真正的為使用者

18、著想的精神,有較好的技術(shù)。   六、有部分并非純綠的軟件,偽裝成純綠的,在運(yùn)行過(guò)程中向注冊(cè)表寫(xiě)東西,向關(guān)鍵目錄區(qū)寫(xiě)東西,甚至更改重要文件。這不是純綠軟件,只能說(shuō)是偽純綠。又及, 很多網(wǎng)上流行的軟件,號(hào)稱(chēng)純綠版,實(shí)際上只是一些原版本經(jīng)過(guò)稍許改進(jìn)等,原軟件并不設(shè)計(jì)為純綠,在運(yùn)行過(guò)程中還是會(huì)寫(xiě)注冊(cè)表(甚至寫(xiě)關(guān)鍵 win 目錄),也 不是嚴(yán)格意義上的純綠。   反過(guò)來(lái),也有部分其實(shí)是純綠的軟件,為了大家的方便,做成了安裝發(fā)布式的。比如最典型的就是《傳奇》《三角洲》、《魔獸爭(zhēng)霸 III》等一些游戲,一些工作 軟件如《FOXMAIL》(FoxMail至少在針對(duì) IE 選項(xiàng)里的“程序”頁(yè)里的"電子郵件"

19、相關(guān)項(xiàng)進(jìn)行了注冊(cè)表相關(guān)寫(xiě)操作) 《winamp》   《winrar》等等準(zhǔn)綠軟件(在這兒,我只說(shuō)它們是準(zhǔn)綠的)也是如此。這類(lèi)軟件其實(shí)安裝出來(lái)后,把其目錄放在任何一臺(tái)電腦上都能或者能較為正常的運(yùn)行, 這也是為什么大家能很方便的把它們改造成綠色軟件的原因。   現(xiàn)在真正的純綠軟件實(shí)際上是很少的,至于以后,也還是看不到純綠一統(tǒng)天下的希望的,大家不可因噎廢食。不可能只用純綠軟件而不用其它。而且大公司的軟件一般還是非??煽康摹?   七、非純綠軟件的危害:   1、向系統(tǒng)關(guān)鍵目錄或不屬于該程序所在目錄亂存放文件(默認(rèn)臨時(shí)文件夾除外)在原則上對(duì)機(jī)器的運(yùn)行速度是沒(méi)有大的影響的,除非亂放的文件改動(dòng)了原

20、有的系統(tǒng) 關(guān)鍵文件,才會(huì)至使電腦變慢或運(yùn)行不正常。但是,因?yàn)檫@些目錄中的文件一般都比較多,很難對(duì)它們進(jìn)行清理(鬼才知道哪個(gè)是能刪,那個(gè)不能刪),會(huì)使你的硬 盤(pán)空間浪費(fèi),對(duì)于硬盤(pán)空間緊的朋友,那就非常討厭了(此外,心里也不爽)。   2、向注冊(cè)表亂寫(xiě)信息,如果亂寫(xiě)的信息并不影響系統(tǒng)的關(guān)鍵部分,對(duì)系統(tǒng)運(yùn)行也是沒(méi)有嚴(yán)重影響的,不過(guò),有些信息寫(xiě)入了不刪去,你的系統(tǒng)就會(huì)有些討厭的東西 出來(lái),舉例:你裝上 winrar 后(典型安裝設(shè)置),直接把 winrar 刪了,你就會(huì)發(fā)現(xiàn),你的右鍵菜單里會(huì)多出一些讓人哭笑不得的東西。要注意的是,隨 著機(jī)器的使用,軟件的安裝、刪除,這些可以感覺(jué)到和不能感覺(jué)到的信息會(huì)

21、越來(lái)越多,而你的機(jī)器在運(yùn)行過(guò)程中,幾乎隨時(shí)隨刻不能離開(kāi)對(duì)注冊(cè)表的相關(guān)操作,注冊(cè) 表里的信息過(guò)多,機(jī)器查找所需信息的速度就會(huì)變慢,這時(shí),機(jī)器的運(yùn)行就表現(xiàn)為“變慢了”,這往往是一臺(tái)電腦為什么越用越慢的最重要的原因之一。(提示:因 為多數(shù)情況下,一個(gè)軟件對(duì)注冊(cè)表寫(xiě)的東西并不多,所以,在每一次垃圾進(jìn)去了,用戶(hù)是很難感覺(jué)到影響的)(又及,一些注冊(cè)表清理軟件,本人也用過(guò),雖有作 用,但是風(fēng)險(xiǎn)不少,是好是壞我也不知怎么評(píng)價(jià)……)。這些垃圾信息并非只有小公司的軟件會(huì)留下,很多大公司的軟件據(jù)本人的感覺(jué),也是會(huì)留垃圾的,本人也很 無(wú)耐。   解決辦法嗎?恕本人無(wú)能,在當(dāng)今軟件亂世,只怕多少有些無(wú)可耐何。本人是使

22、用最笨的方法:Ghost 鏡像還原?;旧厦咳了膫€(gè)月給它倒回一次。(工作文檔等當(dāng)然不能放在系統(tǒng)區(qū)了,呵呵)。   八、希望無(wú)知者不要信口開(kāi)河,多多學(xué)習(xí)。最后,附上一個(gè)我自已做的純綠軟件---BCB 編寫(xiě)的《水波特效演示》程序,給大家玩玩叭。   補(bǔ)充--初步判斷一個(gè)軟件是否純綠軟件的方法(注,只有對(duì)電腦比較熟悉的人能才辦到,如果下面的說(shuō)明,你基本能看懂,而無(wú)需請(qǐng)教別人,你就能做到了):   一、系統(tǒng)測(cè)試法:   1、將軟件在別人的機(jī)器上安裝,安裝完成后,把安裝出來(lái)的目錄復(fù)制到你的機(jī)器中(如果本身就號(hào)稱(chēng)純綠免裝的,這步就免了)。   2、你的機(jī)器要求安裝 windows2000 或

23、windows XP 或 windows2003,使用受限用戶(hù)登錄(要求受限用戶(hù)無(wú)對(duì)關(guān)鍵注冊(cè)表有寫(xiě)權(quán),無(wú)對(duì)重要目錄有寫(xiě)權(quán),當(dāng)然了,默認(rèn)的新建的用戶(hù)就是這樣的(XP 下要將用戶(hù)設(shè)為受限))。   3、受限用戶(hù)登錄后運(yùn)行復(fù)制來(lái)的安裝目錄下的軟件的主程序,如果正常,90%是純綠。   4、對(duì)省下 10%的說(shuō)明--不排除可能編寫(xiě)者隱了動(dòng)作,如果不成功也不報(bào)錯(cuò),也不退出,還正常運(yùn)行,一但能寫(xiě)的時(shí)就它就寫(xiě)。另外,還有一部分程序,如 FoxMail,只對(duì)當(dāng)前帳戶(hù)相關(guān)于注冊(cè)表進(jìn)行寫(xiě)操作,因?yàn)椤皫?hù)相關(guān)于注冊(cè)表"是"屬于"對(duì)應(yīng)帳戶(hù)的,在受限帳號(hào)下也是可寫(xiě)的(特別說(shuō)明一下,注銷(xiāo)該帳 戶(hù),注冊(cè)表中該帳戶(hù)的所有項(xiàng)

24、目都會(huì)清去,所以也可以算是綠的)。   二、軟件監(jiān)控法:   1、如果上面的步子還不令你放心,還有一個(gè)工具值得一用,那就是《Filemon》,這是一個(gè)可以監(jiān)視系統(tǒng)中任何軟件對(duì)硬盤(pán)的讀寫(xiě)操作的程序,通過(guò)它,你可以查到某個(gè)程序?qū)δ愕挠脖P(pán)的什么位置的什么文件進(jìn)行了操作,這個(gè)程序只能在管理員帳戶(hù)下用(切入系統(tǒng)進(jìn)程)。   2、對(duì)于注冊(cè)表的監(jiān)視是很麻煩的事,《Regmon》可以辦到,同上面的工具一樣 Regmon 要求在管理員帳戶(hù)下用(切入系統(tǒng)進(jìn)程)。   3、90%的軟件和上面的兩個(gè)軟件無(wú)沖突,省下的 9%的是作者有意防止被監(jiān)視(為什么有意防止被監(jiān),那你就自個(gè)想吧,一般都是比較可怕的東西),最

25、后 1%可能是因?yàn)槌绦驅(qū)嵲谙嗷ゲ患嫒萘恕?   以上兩工具都為同一公司(Sysinternals)出品,值得一用,附在最后(XTJS.rar)。   三、并非所有的不能在受限帳戶(hù)下用的程序都不是純綠的。某些程序可能要切入別的系統(tǒng)程序中,某些程序需要得到硬件信息等,這些最只有在管理員帳戶(hù)下才能實(shí) 現(xiàn)。還有一些程序可能沒(méi)有考慮多用戶(hù)操作系統(tǒng)等。只能說(shuō),通過(guò)了上面的測(cè)試的程序 90%是純綠的,沒(méi)有通過(guò)的話(huà) 90%是非純綠的。有經(jīng)驗(yàn)的朋友還可以據(jù)自 已的經(jīng)驗(yàn)得到更準(zhǔn)確的結(jié)論。 二、制作迷你軟件三步 制作迷你軟件一般分為三個(gè)步驟:   1.查找軟件所需最少的鍵值。   2.查找軟件所需最少

26、的文件。   3.根據(jù)使用情況自定義軟件的安裝位置,打包。   制作迷你軟件不需要太深的知識(shí),只要對(duì)電腦有一定的了解就行,最好有自己的電腦,經(jīng)常安裝系統(tǒng)和應(yīng)用程序,知道基本的文件類(lèi)型,會(huì)簡(jiǎn)單的處理注冊(cè)表和 注冊(cè)表文件。有了這些就可以自己制作迷你軟件了,最好是對(duì)程序和注冊(cè)表有一定的了解,這樣可以我使查找工作簡(jiǎn)單一些,不過(guò)即使對(duì)這些懂得不多也可以學(xué)習(xí)著 制作的,我就是從不懂開(kāi)始的,而且沒(méi)有人教我,關(guān)鍵是動(dòng)腦筋,舉一返三。在這里我介紹一下制作迷你軟件的經(jīng)驗(yàn),方法很簡(jiǎn)單,很落后,希望高手們不要笑話(huà)。   一、如何查找軟件所需最少的鍵值。   這里所說(shuō)的查找,是指著那些大型的軟件,有些軟件如:A

27、cdsee2.4 和超級(jí)兔子 2002,這類(lèi)軟件只需要只需要一兩個(gè)注冊(cè)信息的鍵就可啟動(dòng),在正 常安裝時(shí),在輸入完注冊(cè)碼以后把注冊(cè)碼記下來(lái),然后打開(kāi)注冊(cè)表,在里面搜索一下,一般會(huì)找到剛才輸入的注冊(cè)碼,然后把找到的鍵保存出來(lái)就行。下次換系統(tǒng)的 時(shí)候無(wú)需安裝,直接把注冊(cè)信息導(dǎo)入新系統(tǒng)就行。   一般軟件的注冊(cè)信息都保存在[HKEY_LOCAL_MACHINE\SOFTWARE\]這個(gè)鍵下,在這個(gè)鍵中會(huì)有和程序名相同的子鍵,注冊(cè)信息就保存在其中。至于什么軟件是這種只需要一個(gè)注冊(cè)信息的軟件在制作之前很難看出來(lái)。只能猜測(cè)。   我制作的第一個(gè)迷你軟件是 Word97,是 office97 辦公軟件中的

28、一個(gè)。這個(gè)程序不需要注冊(cè)表的鍵也可以正常運(yùn)行,但是每次啟動(dòng)的時(shí)候都會(huì)出現(xiàn) 錯(cuò)誤報(bào)告,正常安裝時(shí)則沒(méi)有這個(gè)錯(cuò)誤報(bào)告。我就把正常安裝后的系統(tǒng)的注冊(cè)表全部導(dǎo)出來(lái),再把這些信息導(dǎo)放到一個(gè)新系統(tǒng)中,這時(shí)軟件啟動(dòng)的時(shí)候就沒(méi)有錯(cuò)誤報(bào) 告了。這樣一來(lái)我就知道了,這個(gè)軟件只需要注冊(cè)表中的鍵值就不會(huì)出現(xiàn)錯(cuò)誤提示。但是到底需要哪個(gè)鍵值還不知道。所以我又返回正常安裝的系統(tǒng),把注冊(cè)表的六 個(gè)根鍵分別導(dǎo)出來(lái)。這樣就可當(dāng)于把整個(gè)注冊(cè)表信息分成六份。   然后我又找上一個(gè)新系統(tǒng),再把六個(gè)根鍵的信息分別導(dǎo)入新系統(tǒng),當(dāng)我把第一個(gè)根鍵的信息導(dǎo)入新系 統(tǒng)以后,軟件啟動(dòng)時(shí)就不再報(bào)錯(cuò),這說(shuō)明軟件所需要的鍵就在第一根鍵中。   面對(duì)一

29、個(gè)陌生的軟件,不知道它究竟需要哪個(gè)鍵,就用這種方法去猜測(cè),上面的例子只用了一次就查出來(lái),所需要的鍵值在第一根鍵中。這樣雖然不知道具體是哪個(gè)鍵,但是它縮小了尋找的范圍。接下來(lái)在這個(gè)根鍵中尋找。這種方法雖然笨了點(diǎn),但它還是很有用的。   第一根鍵中有成千上萬(wàn)個(gè)子鍵,直接找實(shí)在是找不過(guò)來(lái)。當(dāng)時(shí)我的知識(shí)少,看到這么多的鍵,當(dāng)時(shí)就放棄了,以為自己沒(méi)有能力找出來(lái),一直到一年多以后才又開(kāi)始查找它。   我用的方法是很簡(jiǎn)單的,我不知道它需要什么鍵,也不知道所要的鍵在哪里,但是我知道它就在第一根鍵中,所以,我把第一根鍵手工分成三份,然后把中間的 一份導(dǎo)入一個(gè)新系統(tǒng),啟動(dòng)軟件的時(shí)候還報(bào)錯(cuò),再把第三份導(dǎo)入系統(tǒng),

30、這回軟件就可以正常啟動(dòng),這說(shuō)明軟件所需要的鍵有可能在第三份中,也有可能在第二和第三 份中,所以我又找一個(gè)新系統(tǒng),把第三份導(dǎo)入到系統(tǒng)中,軟件啟動(dòng)時(shí)還報(bào)錯(cuò),我再把第二份導(dǎo)放系統(tǒng)中,軟件就可以正常啟動(dòng),這說(shuō)明軟件需要的鍵在第二份和第三 份中,第一份是沒(méi)有用的,就把第一份扔掉。   通過(guò)上面的這一步,我還是不知道軟件所需的鍵在哪里,但是我知道它在第一根鍵的中間和結(jié)尾部分,通過(guò)上面一步,我把查找范圍縮小了三分之一,然后再用 同樣的方法,把這兩份各自分成三份,共六份注冊(cè)表鍵值。然后再換上一套新系統(tǒng),再分別把它們導(dǎo)入。如果導(dǎo)入四個(gè)“部分”后可以正常啟動(dòng) word,就說(shuō)明所 需鍵值在這四份中,另兩份是沒(méi)有用

31、的,這樣又把查找的范圍縮小了,然后再分,再導(dǎo)……通過(guò)這種方法,一點(diǎn)一點(diǎn)的縮小范圍,剩下的我雖然不知道它在哪里,但 是一定在其中,為了查找軟件所需要的鍵值,我換了近二十多個(gè)系統(tǒng),重啟了幾十次電腦,最后在幾千幾萬(wàn)個(gè)鍵值中找到軟件所需要的最少的鍵值。   上面的過(guò)程不知道您看懂沒(méi)有,沒(méi)有技巧,全是猜的,一點(diǎn)一點(diǎn)的縮小范圍。我就是用這種:“排除法”來(lái)查找鍵值的,每次查找一個(gè)軟件都要換掉好幾個(gè)系 統(tǒng)。我也知道這種方法麻煩,寫(xiě)出這些的時(shí)候我也臉紅過(guò),但是我沒(méi)有更多的方法,也不會(huì)運(yùn)用軟件,那時(shí)我只是個(gè)初學(xué)者,這種方法不需要對(duì)注冊(cè)表了解太多,只 要有些基本常識(shí)就夠了。我就是用這種最笨的方法制作了 word2

32、000 迷你版和 FrontPageXP 迷你版,制作 word97 時(shí)用“排除法”來(lái)查找鍵值,主要是想告訴初學(xué)者:即使對(duì)電腦和注冊(cè)表了解不多,也照樣可以自己制作迷你軟件。不過(guò)這種方法用起來(lái)實(shí)在是麻 煩,如果現(xiàn)在再來(lái)查找 Word97 的鍵,會(huì)有更好的方法。不過(guò),“排除法”用起來(lái)雖然麻煩,但是它還是相當(dāng)有用的。比如說(shuō)拿到一個(gè)軟件時(shí),不知道它是否可 以制作出迷你版,那就先用“排除法”判斷一下。先導(dǎo)出安裝后的注冊(cè)表信息,把注冊(cè)表的所有鍵值全導(dǎo)入新系統(tǒng),如果軟件能啟動(dòng)就說(shuō)明這個(gè)軟件可以制作出迷你 版。   在后再分別把六個(gè)根鍵的信息導(dǎo)入注冊(cè)表,這樣可以判斷出軟件需要哪個(gè)鍵,可以進(jìn)一步縮小查找的范圍

33、。   在進(jìn)一步查找的過(guò)程中,如果不想再用這種“排除法”,那就要多掌握一些關(guān)于注冊(cè)表方面的知識(shí),和軟件在注冊(cè)表中的規(guī)律。這里再介紹一種“猜測(cè)法”   一般的軟件都會(huì)在[HKEY_LOCAL_MACHINE\Software]下面建立一個(gè)和自己公司名相同的子鍵,需要的注冊(cè)信息保存在這里,大多 數(shù)軟件只需要這個(gè)鍵下的注冊(cè)信息就可以啟動(dòng),(汗一下,我一共才做過(guò)幾個(gè)迷你軟件,居然敢說(shuō)“大多數(shù)軟件”,汗,不過(guò)在這方面的確是要根據(jù)簡(jiǎn)單的幾個(gè)去判 斷大多數(shù)的規(guī)律的,),但是有些軟件雖然可以*這幾個(gè)鍵值啟動(dòng),但是功能卻不完整。這是因?yàn)樵赱HKEY_LOCAL_MACHINE\Software \CLASS

34、ES]缺少相關(guān)的鍵值。   如 Acdsee5.0 缺少下面的這三個(gè)鍵,在啟動(dòng)的時(shí)候就會(huì)報(bào)告無(wú)法找到數(shù)據(jù)庫(kù):   [HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{1BF48485-D8A7-4B74-98B6-251E885C701A}   \InprocServer32]   @="C:\\Program Files\\ACD Systems\\5.0\\IDBSvrps.dll""ThreadingModel"="Both"[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{E87A29B4-7738-46

35、42-BACC-C85C1D9E7042}   \LocalServer32]   @="C:\\Program Files\\ACD Systems\\5.0\\IDBSVR.EXE"[HKEY_LOCAL_MACHINE\Software\CLASSES\Interface\{1BF48485-D8A7-4B74-98B6-251E885C701A}\ProxyStubClsid32]   @="{1BF48485-D8A7-4B74-98B6-251E885C701A}"雖然功能正常,但是這個(gè)錯(cuò)誤報(bào)告很煩人,而且心理上不習(xí)慣,只要補(bǔ)上這三個(gè)鍵,acdsee5.0 的功能就會(huì)正常。那

36、么,從上面這一段中就可以得出兩個(gè)查找鍵值的規(guī)律。   軟件必須依*[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID]下面的鍵指定軟件的安裝路徑,那么反過(guò)來(lái)我們 可以通過(guò)軟件的安裝路徑來(lái)查找軟件所需要的鍵值。例如上例中Acdsee5.0 安裝在 C:\Program Files\ACD Systems\5.0 目錄中,在地址欄中記下路徑信息,然后打開(kāi)注冊(cè)表找到[HKEY_LOCAL_MACHINE\Software\CLASSES \CLSID]這個(gè)鍵,用查找功能查找Acdsee 的安裝路徑,當(dāng)然,找到的鍵值會(huì)有很多個(gè),這些并不全是軟件所需要的,所以還要用“

37、猜測(cè)法”去掉多余的 鍵。把找到的鍵先導(dǎo)出保存為注冊(cè)表文件,然后再刪掉這個(gè)鍵,然后啟動(dòng)一下程序,如果程序可以啟動(dòng),那就說(shuō)明這個(gè)鍵是不需要的,再去搜索,如果刪掉這個(gè)鍵, 程序啟卻不了,或者啟動(dòng)時(shí)報(bào)錯(cuò),那就說(shuō)明這個(gè)鍵是必須要有的,就把剛才保存的注冊(cè)表文件再導(dǎo)入注冊(cè)表中,再搜索其它的鍵,直到找完 clsid 中所有的鍵, 再把找到的鍵值合到一起。   單是 clsid 還不夠,軟件還需要其它的信息,仔細(xì)注意一下上面的三個(gè)鍵,在 clsid 中的鍵的主鍵名都是帶有一串字符的串,這些定符串是什么意思我 也不懂,但是根據(jù)上面的三個(gè)鍵來(lái)看,除了 clsid 下的鍵以外,還需要在 classes 鍵下的其它鍵

38、值,而且這個(gè)鍵的主鍵名和 clsid 鍵下的鍵名相同, 所以,第一步是根據(jù)路徑查找 clsid 下的鍵,接下來(lái)在找到的 clsid鍵中再按主鍵名在 classes 鍵下尋找其它的鍵。找到以后再用“猜測(cè)法”猜測(cè)。 就是先保存此鍵,再刪掉它,再啟動(dòng)程序,看看程序是否可以正常運(yùn)行,最后把找到的所有鍵合到一起,再換上個(gè)新系統(tǒng)測(cè)試。這種方法比“排除法”簡(jiǎn)單一些,也 是我常用的方法之一。   軟件所需要的鍵值多數(shù)分布在在 calsses 中的[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID]   [HKEY_LOCAL_MACHINE\Software\CLASSE

39、S\Typelib]   [HKEY_LOCAL_MACHINE\Software\CLASSES\Interface]   這三個(gè)鍵下,具體什么用的我也不懂,只知道在這里有重要的東西。軟件的復(fù)雜性不同,在 classes 鍵中的數(shù)量也不同,但和軟件的大小無(wú)關(guān)。比如說(shuō) Acdsee5.0 只需要 calsses 下的三個(gè)鍵,但是 Acdsee5.0 自帶的 FotoCanvas2。0 卻需要上百個(gè)鍵。這就需要一定的耐性來(lái)查找 了。   大多數(shù)軟件都可以用上面的規(guī)律查找出所需鍵值,但是 Office 卻不行,因?yàn)樗俏④涀约撼龅霓k公軟件,對(duì)系統(tǒng)修改得太多,所以需要的鍵值也多,查找 起來(lái)相當(dāng)

40、費(fèi)工夫。開(kāi)始不了解它的時(shí)候我用排除法查找了 Word2000 和 FrontPageXP 兩個(gè)軟件的迷你版,通過(guò)查找這兩個(gè)軟件,我對(duì) Office 的大概規(guī)律了解一些,所以后來(lái)的 AccessXP 迷你版中就用了“猜測(cè)法”。在查找軟件的鍵值過(guò)程中可以把兩種方法結(jié)合起來(lái),如果對(duì)注冊(cè)表了解的多,可以 用“猜測(cè)法”,如果對(duì)軟件不太了解可以用“排除法”來(lái)查找。    三、綠軟的綠化方法 下面講一下綠色軟件的制作,簡(jiǎn)稱(chēng)軟件的"綠化",綠色軟件的制作實(shí)際上就是我們自己完成安裝程序的工作。沒(méi)有什么固定的方法,基本上是猜測(cè)加上試驗(yàn),不同類(lèi)別的綠色軟件分別有不同的制作策略。 拿到一個(gè)新的軟件,想要制成綠色

41、軟件的話(huà),我一般遵循如下步驟:   一、 判斷。就是指猜測(cè)這個(gè)軟件能不能制成綠色軟件,從功能,從你對(duì)它的了解,如果你覺(jué)得這個(gè)軟件和系統(tǒng)的關(guān)系非常緊密,就不要繼續(xù)下去了,還是用原始的安裝程 序最保險(xiǎn)最方便,這樣的例子有 directx9 ,IE6,Norton 的反病毒軟件等等。這樣的判斷可以節(jié)省你的時(shí)間,當(dāng)然你可以忽略這一步,嘗試制作綠色軟件,那么就轉(zhuǎn)到第 2 步。   二、"綠化"。對(duì)于不同的軟件有不同的方法,沒(méi)有一定的規(guī)則,但是總的來(lái)說(shuō),就是理解軟件的安裝過(guò)程,轉(zhuǎn)換為綠色安裝,在這個(gè)過(guò)程中,可能需要嘗試多個(gè)方法,也可能最后由于軟件的復(fù)雜性或者某些特性,導(dǎo)致無(wú)法綠化。要有失敗的思想準(zhǔn)備,

42、具體的綠化方法隨后講述。   三、測(cè)試。"綠化"后的測(cè)試最好到你個(gè)全新安裝的操作系統(tǒng)中測(cè)試,而且如果你要在多個(gè)操作系統(tǒng)中使用這個(gè)軟件的話(huà),還要在其他的操作系統(tǒng)中測(cè)試,有的 軟件的文件隨著操作系統(tǒng)的不同而不同,這個(gè)時(shí)候你需要在不同的操作系統(tǒng)中進(jìn)行"綠化"過(guò)程,最后綜合為一個(gè)完整的適應(yīng)多個(gè)操作平臺(tái)的綠色軟件。 "綠化"方法,需要根據(jù)經(jīng)驗(yàn)選擇不同的"綠化"方法,也可能需要不斷嘗試不同的方法,直到成功為止。按照先易后難的次序,具體的方法包括:   1 解壓縮。這是最簡(jiǎn)單的一種方法,就是指嘗試能不能直接解開(kāi)軟件的壓縮包。用 Winzip和 Winrar 試一試,看看能不能直接打開(kāi)壓縮的安裝文件,如果

43、不 能打開(kāi),那么就換別的方法。如果可以,那么恭喜,這個(gè)軟件多半是屬于綠色安裝的軟件(有個(gè)別例外,如 EmEditor),把壓縮包中的文件直接解壓到目標(biāo) 路徑,然后測(cè)試軟件的功能是否正常,如果功能正常,那么"綠化"就成功了,如果使用不正常,那么就換別的方法。這一類(lèi)軟件的特點(diǎn)是安裝程序的工作完全可以 由軟件自身來(lái)完成。   2 安裝然后卸載。也是比較容易的方法,完全是體力勞動(dòng),就是指直接安裝這個(gè)軟件,然后把程序復(fù)制出來(lái),最后卸載安裝程序。如果這個(gè)軟件的安裝程序的作 用僅僅是復(fù)制文件和生成快捷鍵等工作,那么就屬于綠色安裝,可以使用這個(gè)方法。最后測(cè)試軟件的功能是否正常,如果功能正常,那么"綠化"就成

44、功了,如果使 用不正常,那么就換別的方法。   3 反編譯安裝程序。這個(gè)方法需要?jiǎng)幽X筋,就是根據(jù)安裝程序所用的制作工具,選擇相應(yīng)的反編譯程序,然后閱讀反編譯出的安裝腳本,制作綠色軟件。目前的軟件大 多使用專(zhuān)門(mén)的安裝工具制作,如 InstallShield,Wise,Inno Setup,Windows Installer,NSIS(Nullsoft),InstallerVISE,其中 Windows Installer 格式的安裝文件(就是 MSI,MST 為后綴的文件),可以通過(guò)微軟的免費(fèi)工具 Orca 打開(kāi)查看,InstallShield 格式的安裝 文件也有很多免費(fèi)的工具可以解壓縮和查

45、看腳本。當(dāng)然專(zhuān)門(mén)的安裝工具很多,有許多安裝程序沒(méi)有相應(yīng)的反編譯程序,這種時(shí)候,就無(wú)法使用這個(gè)方法了。   4 觀(guān)察反安裝程序和 log 文件?,F(xiàn)在的軟件安裝完成后絕大多數(shù)都帶有卸載方法。卸載是安裝的逆過(guò)程,如果知道怎么卸載,那么也可以推測(cè)出如何安裝。由專(zhuān)門(mén)的 安裝工具制作的反安裝程序,一般都是根據(jù)某一個(gè)文件中的信息來(lái)卸載的,可以用一個(gè)純文本的編輯器打開(kāi)這個(gè)文件。個(gè)別情況下這個(gè)文件完全不包含可讀信息,就 只好換用其他方法了。具體過(guò)程就是先采用方法 2,然后理解反安裝過(guò)程,最后根據(jù)反安裝的信息制作綠色軟件。   5 比較系統(tǒng)快照。當(dāng)前面的方法都失敗的時(shí)候,可以試一試這個(gè)方法。具體思路就是首先在

46、安裝軟件之前,把系統(tǒng)的狀態(tài)記錄下來(lái),主要包括注冊(cè)表和系統(tǒng)目錄的所有 的文件狀態(tài)。然后就是安裝軟件。安裝完成后,再一次記錄系統(tǒng)狀態(tài)。最后就是比較前后兩個(gè)系統(tǒng)狀態(tài)的不同,而得知安裝程序所做的工作。這個(gè)工作一般由專(zhuān)門(mén)的 軟件完成,如免費(fèi)工具Regshot,免費(fèi)工具 inctrl5( 微軟公司的 sysdiff 工具(可以從 Windows2000 的資源工具箱中得到),或者 WinInstall LE(在 Windows2000 Sever 光盤(pán)的目錄 VALUEADD\3RDPARTY\MGMT\WINSTLE\中)。在多數(shù)時(shí)候,僅僅需要對(duì)比安裝前后注冊(cè)表的不同,這時(shí)候還有大量的注冊(cè) 表工具可以選

47、用。在得出系統(tǒng)差異后,把差異分解為兩個(gè)部分:文件部分和注冊(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è)表操作,拋棄其他程序(如資源管理器 Explorer)的操作。根據(jù)所有這些,寫(xiě)一個(gè)拷貝文件,注冊(cè) COM 組件和導(dǎo)入注冊(cè)表的批處理文件,就可以完成綠色軟件的制作了。當(dāng)注冊(cè)表文 件中含有路徑信息

48、的時(shí)候,可以手工修改注冊(cè)表文件或者把注冊(cè)表文件轉(zhuǎn)化為 INF 文件從而實(shí)現(xiàn)全自動(dòng)的路徑處理。   6 直接導(dǎo)出注冊(cè)表,尋找自注冊(cè)的 COM 組件。這個(gè)方法是上面的方法 5 的簡(jiǎn)化版,現(xiàn)在軟件的配置大多寫(xiě)在注冊(cè)表中 的"HKEY_LOCLAL_MACHINE\SOFTWARE\軟件公司名字"和"HKEY_CURRENT_USER\SOFTWARE\軟件公司名 字"這 2 個(gè)鍵下面,直接對(duì)把這 2 個(gè)注冊(cè)表鍵導(dǎo)出到 REG 文件中。自注冊(cè)的 COM 組件都需要導(dǎo)出如下 4 個(gè)函 數(shù):DllCanUnloadNow,DllGetClassObject,DllRegisterServer, DllU

49、nregisterServer,可以用 vc 自帶的 depend.exe 找出哪一個(gè)動(dòng)態(tài)鏈接庫(kù)是自注冊(cè)的 COM 組件。最后寫(xiě)一個(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 組件,安裝服務(wù)驅(qū)動(dòng)等操作步驟,但是把這些明顯分割出來(lái)有助于制作綠色安裝的軟件。對(duì)于需要更復(fù)雜的步驟來(lái)安裝的軟件,還是使用原來(lái)的安裝程序比較保險(xiǎn)。   具體事例 :   winrar3.30 和 Winzip9.0

50、,采用方法 1,解壓縮。這個(gè)方法非常簡(jiǎn)單,從天空軟件站下載Winzip90.exe 和 winrar330sc.exe,在一個(gè)安裝 了 Winrar 的系統(tǒng)上,用鼠標(biāo)右鍵選擇下載的文件,運(yùn)行右鍵菜單中的用 Winrar 打開(kāi)的命令,然后把文件解壓到我們的目標(biāo)路徑,如 E:   \tools 目 錄,就可以了。然后分別對(duì) Winzip9 和 Winrar 進(jìn)行設(shè)置就可以了。運(yùn)行 winzip9 目錄中的 Winzip32.exe,進(jìn)行 winzip 的設(shè) 置。Winrar 也是一樣,運(yùn)行 Winrar.exe,打開(kāi)菜單選項(xiàng)-〉設(shè)置,彈出一個(gè)對(duì)話(huà)框,選擇標(biāo)簽--集成,逐項(xiàng)對(duì) Winrar 設(shè)置。

51、當(dāng)拷貝到 U 盤(pán) 而到新的機(jī)器上運(yùn)行時(shí),需要重復(fù)這些設(shè)置過(guò)程。 這一類(lèi)軟件的特點(diǎn)是安裝程序的工作完全可以由軟件自身來(lái)完成,從而完全拋開(kāi)安裝程序,或者說(shuō)安裝程序的工作也就是解壓縮。類(lèi)似的軟件還有一些,最簡(jiǎn)單的測(cè) 試辦法就是看看 Winrar 能否直接打開(kāi)壓縮的安裝程序。也可以采用方法 2,過(guò)程基本上和方法 1 一樣。 方法 2 就不具體說(shuō)明了,僅僅指出有許多程序?qū)儆谶@個(gè)類(lèi)別,如 Myie2,GreenBrowser,qq,BPFTP Server,IDA_Pro_Standard_4.5.1.770,F(xiàn)inalData,EASYRECOVERY 6.03,騰遜公司的 TM 等。   flash

52、get 是大家用得比較多的一個(gè)軟件,可以多線(xiàn)程下載并且下載管理的功能也很方便,從天空軟件站 下載 flashget1.60a 國(guó)際版,運(yùn)行一下,然后取消安裝。從上可以看出flashget1.60a 國(guó)際版是使用 Wise 制作的安裝程序,從網(wǎng)上下載 wungui 程序,非常容易的把安裝程序解壓縮到一個(gè)目錄中,觀(guān)察 Maindir 目錄,其中有兩個(gè) DLL 文件 Jccatch.dll 和fgiebar.dll,進(jìn)一步察看這兩個(gè)動(dòng)態(tài)庫(kù)文件的導(dǎo)出函數(shù),可以知道這兩個(gè) DLL 文件都是自注冊(cè)的 COM 組件,寫(xiě)一個(gè)批處理文件 install.bat 來(lái)注冊(cè)這兩個(gè) DLL: REGSVR32 JCC

53、ATCH.DLL /sREGSVR32 fgiebar.dll /s 經(jīng)過(guò)測(cè)試,功能正常,并且可以從瀏覽器 IE 中用鼠標(biāo)的右鍵菜單激活 flashget,功能完全,下面考慮卸載過(guò)程。   運(yùn)行Regedit.exe,發(fā)現(xiàn)flashget在注冊(cè)表中的路徑是[HKEY_CURRENT_USER\\Software\\JetCar\\JetCar],寫(xiě)一個(gè)注冊(cè)表文件 unflashget.reg 刪除這個(gè)路徑,如下:   REGEDIT4 ; flashget [-HKEY_CURRENT_USER\\Software\\JetCar\\JetCar] 同時(shí)寫(xiě)一個(gè)批處理文件 uninstall

54、.bat 來(lái)卸載這兩個(gè) DLL 文件并導(dǎo)入 unflashget.reg: Regedit unflashget.reg /sREGSVR32 JCCATCH.DLL /s /U REGSVR32 fgiebar.dll /s /U 隨后就是刪除一些我們用不到的文件,比如 language 目錄的絕大多數(shù)歐洲的語(yǔ)言文件,這時(shí)候這個(gè)綠色版本就做好了。把制作好的綠色的 flashget 拷貝到 U 盤(pán)上,需要用的時(shí)候,直接執(zhí)行里面的 install.bat 文件就可以了(注意,要在 flashget 的目錄運(yùn)行批處理文件),不需要任何文件拷 貝。 我看到有人提到用優(yōu)化大師提取 falshget 的

55、注冊(cè)表,然后直接導(dǎo)入注冊(cè)表來(lái)制作綠色的 flashget,這樣做是不行的,從我前面的步驟來(lái)看,注冊(cè) 2 個(gè) DLL 文件必然在注冊(cè)表中引入了絕對(duì)路徑,那么如果直接提取注冊(cè)表的話(huà),就必須根據(jù)當(dāng)前的路徑來(lái)修改注冊(cè)表中的路徑,否則的話(huà)制作的綠色版的 flashget 只能在固定的目錄運(yùn)行。在制作 flashget 綠色版的時(shí)候,我同時(shí)使用了方法 3 和方法 6,使用方法 3 的目的就是避免安裝程序?qū)ο到y(tǒng)作的 修改,這樣可以直接在當(dāng)前系統(tǒng)進(jìn)行測(cè)試,而不需要到另外一個(gè)沒(méi)有安裝過(guò) flashget 的系統(tǒng)測(cè)試。 Emeditor 是方法 1的一個(gè)反例。Emeditor 可以從開(kāi)發(fā)商主頁(yè) 載,是一個(gè)簡(jiǎn)單好

56、用的文本編輯器,支持多種配置,自定義顏色、字體、工具欄、快捷鍵設(shè)置,可以調(diào)整行距,避免中文排列過(guò)于緊密,具有選擇文本列塊的功能 (按 ALT 鍵拖動(dòng)鼠標(biāo)),并允許無(wú)限撤消、重做,總之功能多多,使用方便,是替代記事本的最佳編輯器。 下載 emed404epx.exe 后,發(fā)現(xiàn)用 Winrar 可以打開(kāi),解壓后,運(yùn)行 Emeditor,發(fā)現(xiàn)丟失了預(yù)定義的多種文本格式的語(yǔ)法配置,看來(lái)這樣 做不行,只好采用方法 5 了。請(qǐng)隨我一步步進(jìn)行,步驟如下:   1 掃描系統(tǒng),制訂系統(tǒng)快照。這里我僅僅記錄當(dāng)前系統(tǒng)的注冊(cè)表(因?yàn)槲艺J(rèn)為 Emeditor不會(huì)向系統(tǒng)目錄拷貝文件,如果判斷錯(cuò)誤,就會(huì)導(dǎo)致"綠化"失?。?/p>

57、,運(yùn)行 ART(AdvancedRegistery Tracer),掃描一遍注冊(cè)表。不要關(guān)閉 ART。   2 安裝 Emeditor。隨便安裝到哪里,反正一會(huì)就卸載。安裝好后,如果需要的話(huà),更改配置,或者配置新的文件類(lèi)型,例如我就增加了 NFO 文件類(lèi)型,設(shè)定和 NFO 文件相關(guān)聯(lián)的字符集,這樣可以用 Emeditor 直接察看 NFO 文件,不需要專(zhuān)門(mén)的察看工具了。   3 記錄系統(tǒng)變化。再一次掃描系統(tǒng),給系統(tǒng)作快照,從 ART 里面再一次掃描注冊(cè)表,然后選擇菜單命令 Registry-〉compare here 或者直接用鍵盤(pán) F10,點(diǎn)擊那個(gè) save to redo file 的

58、按鈕,存儲(chǔ)為 Emeditor.reg 文件,關(guān)閉 ART。   4 復(fù)制并卸載。復(fù)制安裝好的 Emeditor 目錄到其他路徑,然后卸載 Emeditor 程序。   5 分析。打開(kāi)剛剛導(dǎo)出的 Emeditor.reg 文件,這是一個(gè)巨大的 reg 文件,單單是 REG 文件就有 1 兆多,不過(guò)不用擔(dān)心。閱讀注冊(cè)表后,刪除和 emeditor 無(wú)關(guān)的注冊(cè)表項(xiàng)后,如僅僅和資源管理器相關(guān)的注冊(cè)表部分,發(fā)現(xiàn)剩下的注冊(cè)表文件可以分成 3 個(gè)部分。一部分在位于注冊(cè)表的這個(gè)路徑 [HKEY_LOCAL_MACHINE\\SOFTWARE\\EmSoft],里面大部分不涉及路徑,只有一項(xiàng)記錄了 Eme

59、ditor 的路徑,就是 \"ModulePath\"=\"h:\\\\EmEditor4\\\\\";還有一大部分在注冊(cè)表的這個(gè)路徑下面 [HKEY_CURRENT_USER\\Software\\EmSoft\\EmEditor v3],里面有很多項(xiàng)都涉及了 Emeditor 的路徑,如\"Tmpl\"=\"h:\\\\EmEditor4\\\\template.xml\"; 還有就是和 Emeditor 和 txt 文件后綴向關(guān)聯(lián)的注冊(cè)表設(shè)置,把 Emeditor 設(shè)置為 IE 中缺省的源代碼察看工具的注冊(cè)表設(shè)置以及注冊(cè)COM組件 EMEDSHL.DLL的注冊(cè)表部分(和InProcSer

60、ver32相關(guān)的就是)。   6 "綠化"。   1) 把位于注冊(cè)表路徑路徑[HKEY_LOCAL_MACHINE\\SOFTWARE\\EmSoft]的內(nèi)容存儲(chǔ)到emeditor_HKLM.reg文件中,把位于注冊(cè)表路徑[HKEY_CURRENT_USER\\Software\\EmSoft\\EmEditor v3]的內(nèi)容存儲(chǔ)到 emeditor_HKCU.reg 文件中,把剩下的內(nèi)容首先除掉 COM 組件 EMEDSHL.DLL 的相關(guān)部分,然后存儲(chǔ)到emeditor_assoc.reg 文件中。   2) 把 emeditor_HKLM.reg 文件和 emeditor_HKCU

61、.reg 文件中涉及到路徑的注冊(cè)表內(nèi)容抽取出來(lái),存儲(chǔ)到 emeditorConf.reg 文件。   3) 把 emeditor_assoc.reg 文件和 emeditorConf.reg 文件用 INF 的語(yǔ)法轉(zhuǎn)換為 INF 文件,或者用一個(gè)免費(fèi)小工具 reg2inf.exe 自動(dòng)轉(zhuǎn)換,然后把轉(zhuǎn)換得到的 emeditor_assoc.inf 文件和emeditorConf.inf 文件中的路徑 h:\\EmEditor4 全部用%01%代替。下面是 emeditorConf.inf 文件的內(nèi)容:   [Version] Signature=\"CHICAGO\"[DefaultInst

62、all] AddReg=EmeditorConf_AddReghklm,\"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\\EmE

63、ditor 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

64、%\\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\\EmEd

65、itor 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\\EmEditorv3\\Config\\VBScriptforEmEditor\",\"Tmp

66、l\",,\"%01%\\template.vbee\"hkcu,\"Software\\EmSoft\\EmEditorv3\\Config\\WindowsScript\",\"Tmpl\",,\"%01%\\template.   wsf\"hkcu,\"Software\\EmSoft\\EmEditor v3\\Config\\XML\",\"Tmpl\",,\"%01%\\template.xml\"** 寫(xiě)一個(gè)批處理文件 install.bat,內(nèi)容如下:   regedit emeditor_HKLM.regregedit emeditor_HKCU.regRUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 128 .\\emeditorConf.infregsvr32 EMEDSHL.DLLRUNDLL32.EXE SETUPAPI.

展開(kāi)閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話(huà):18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲