如何將一款軟體做成綠色免安裝版

2021-12-27 01:37:36 字數 5302 閱讀 5772

1樓:棺俅殖汛兩

綠色軟體的優點,就是對作業系統無汙染(恐怕這也是綠色這個名字的由來),不需要安裝,方便解除安裝,便於攜帶,可以拷貝到便攜的u盤上到處執行。

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

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

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

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

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

又比如大多數防毒軟體,如果 必須實時監控系統的底層運作,對系統的修改比較大,就不適合做成綠色軟體。還有微軟公司的office系列軟體,和系統整合的也比較緊密。但是廣義的這個標準比較靈活,如果有人搞清楚了office系列軟體的安裝製作過程,也有可能製作出廣義的綠色的of fice系列。

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

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

bat檔案就可以了。隨著windows的發展,應用軟體也越來越大,也越來越複雜,從而有公司專門從事安裝程式的製作,如installshield就是一款比較有名和應用比較廣泛的安裝軟體,現在windwos也有了專門的安裝程 序,就是microsoft installer。安裝程式的作用是什麼呢?

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

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

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

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

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

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

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

1 狹義的綠色執行指的是軟體執行時完全不改變作業系統的檔案和配置--很多小程式屬於這個類別,或者執行結束後把撤銷對系統的改變,比如執行的時候載入一個驅動程式,退出時解除安裝該驅動程式,所操作的ini檔案在自己的程式目錄中。

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

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

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

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

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

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

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

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

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

1 判斷。就是指猜測這個軟體能不能製成綠色軟體,從功能,從你對它的瞭解,如果你覺得這個軟體和系統的關係非常緊密,就不要繼續下去了,還是用原始的安裝程式最保險最方便,這樣的例子有directx9 ,ie6,norton的反病毒軟體等等。這樣的判斷可以節省你的時間,當然你可以忽略這一步,嘗試製作綠色軟體,那麼就轉到第2步。

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

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

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

1 解壓縮。這是最簡單的一種方法,就是指嘗試能不能直接解開軟體的壓縮包。用winzip和winrar試一試,看看能不能直接開啟壓縮的安裝檔案,如果不能開啟,那麼就換別的方法。

如果可以,那麼恭喜,這個軟體多半是屬於綠色安裝的軟體(有個別例外,如e meditor),把壓縮包中的檔案直接解壓到目標路徑,然後測試軟體的功能是否正常,如果功能正常,那麼「綠化」就成功了,如果使用不正常,那麼就換別的方法。這一類軟體的特點是安裝程式的工作完全可以由軟體自身來完成。

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,414...??者wininstall le(在windows 2000 sever 光碟的目錄valueadd\3rdparty\mgmt\winstle\中)。在多數時候,僅僅需要對比安裝前後登錄檔的不同,這時候還有大量的登錄檔工具可以選用。

在得出系統差異後,把差異分解為兩個部分:檔案部分和登錄檔部分。檔案部分指的是向系 統目錄拷貝的檔案,以及作為com元件註冊的檔案,還有與這些檔案相關的登錄檔部分。

登錄檔部分單單指其餘的登錄檔的變化。對於檔案部分,可以進一步區分出必須要往系統目錄拷貝的檔案(這種情況是少數)和可以放在軟體的安裝目錄的檔案。對於登錄檔部分,區 分出由這個軟體的安裝程式本身所作出的登錄檔操作和註冊com元件時候的登錄檔操作,拋棄其他程式(如資源管理器explorer)的操作。

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

6 直接匯出登錄檔,尋找自注冊的com元件。這個方法是上面的方法5的簡化版,現在軟體的配置大多寫在登錄檔中的「hkey_loclal_machine\software\軟體公司名字」和「hkey_currenthttp://www.

yingtaow.com/?user\software\軟體 公司名字」這2個鍵下面,直接對把這2個登錄檔鍵匯出到reg檔案中。

自注冊的com元件都需要匯出如下4個函式:dllcanunloadnow,dllgetclassobject,dllregisterserver, dllunregisterserver,可以用vc自帶的depend.exe找出哪一個動態連結庫是自注冊的com元件。

最後寫一個批處理檔案用regsvr32.exe註冊com元件和用regedit.exe匯入登錄檔。

通過上面分析安裝程式的動作,把安裝程式的工作分解為複製檔案,註冊com元件,安裝服務驅動,登錄檔配置等幾個部分,雖然登錄檔配置可以覆蓋註冊com元件,安裝服務驅動等操作步驟,但是把這些明顯分割出來有助於製作綠色安裝的軟體。對於需要更復雜的步 驟來安裝的軟體,還是使用原來的安裝程式比較保險。

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

如何將男士腰帶與服飾搭配,如何選擇一款合適的男士腰帶?

1 寬鬆的長款不規則t恤 個性十足的黑色細皮帶,可以卸除臃腫感,勾勒迷人腰線。2 連體褲配小皮帶。如果一根細腰帶點綴略顯單調,用多根顏色和質地不同的腰帶混擰搭配在一起。現在連體褲是這一季的大熱之選,垂順的真絲面料很容易暴露身型弱點。既可以緊跟潮流同時又能遮掩贅肉,形成視覺寬度和時尚亮點。3 袖絲質白...

如何將ecel背景設定為護眼綠,如何將word,excel背景設定為護眼綠

如果你要將word和excel的背景設定我後的濾的話你可以直接設定皮 怎樣把excel 背景變成綠色保護眼睛 桌面 右鍵 屬性 外觀 進階 專案選擇 視窗 色彩1 l 選擇 其它 將色調改為 85。濃度 123。亮度 205 新增自定色彩 在自定義顏色選定點確定 確定 1.工具 抄 巨集 vb編輯器...

如何將廢紙做成紙漿普通的紙如何變成紙漿

將廢紙變成紙漿的具體操作步驟如下所示 1 準備材料廢紙植物碎紙機攪拌機濾網托盤海綿棉布將廢紙用碎紙機處理成碎片,沒有碎紙機用剪刀也是可以的,儘量碎一點。2 然後將碎紙片用溫水浸泡碎紙1個小時,水不用太多,方便之後攪碎。3 絞碎了紙片之後再倒入攪拌機,攪碎廢紙,得到紙漿。廢紙 後經過分類揀選,溫水浸漲...