壹、應用軟件
應用軟件是專門為某壹應用目的而編制的軟件,較常見的如:
1、文字處理軟件
用於輸入、存貯、修改、編輯、打印文字材料等,例如WORD、WPS等。
2、信息管理軟件
用於輸入、存貯、修改、檢索各種信息,例如工資管理軟件、人事管理軟件、倉庫管理軟件、計劃管理軟件等。這種軟件發展到壹定水平後,各個單項的軟件相互連系起來,計算機和管理人員組成壹個和諧的整體,各種信息在其中合理地流動,形成壹個完整、高效的管理信息系統,簡稱MIS。
3、輔助設計軟件
用於高效地繪制、修改工程圖紙,進行設計中的常規計算,幫助人尋求好設計方案。
4、實時控制軟件
用於隨時搜集生產裝置、飛行器等的運行狀態信息,以此為依據按預定的方案實施自動或半自動控制,安全、準確地完成任務。
二、系統軟件
各種應用軟件,雖然完成的工作各不相同,但它們都需要壹些***同的基礎操作,例如都要從輸入設備取得數據,向輸出設備送出數據,向外存寫數據,從外存讀數據,對數據的常規管理,等等。這些基礎工作也要由壹系列指令來完成。人們把這些指令集中組織在壹起,形成專門的軟件,用來支持應用軟件的運行,這種軟件稱為系統軟件。
系統軟件在為應用軟件提供上述基本功能的同時,也進行著對硬件的管理,使在壹臺計算機上同時或先後運行的不同應用軟件有條不紊地合用硬件設備。例如,兩個應用軟件都要向硬盤存入和修改數據,如果沒有壹個協調管理機構來為它們劃定區域的話,必然形成互相破壞對方數據的局面。
有代表性的系統軟件有:
1、操作系統
管理計算機的硬件設備,使應用軟件能方便、高效地使用這些設備。在微機上常見的有:DOS、WINDOWS、UNIX、OS/2等
2、數據庫管理系統
有組織地、動態地存貯大量數據,使人們能方便、高效地使用這些數據。現在比較流行的數據庫有FoxPro、DB-2、Access、SQL-server等
3、編譯軟件
CPU執行每壹條指令都只完成壹項十分簡單的操作,壹個系統軟件或應用軟件,要由成千上萬甚至上億條指令組合而成。直接用基本指令來編寫軟件,是壹件極其繁重而艱難的工作。為了提高效率,人們規定壹套新的指令,稱為高級語言,其中每壹條指令完成壹項操作,這種操作相對於軟件總的功能而言是簡單而基本的,而相對於CPU的壹眇操作而言又是復雜的。
用這種高級語言來編寫程序(稱為源程序)就象用預制板代替磚塊來造房子,效率要高得多。但CPU並不能直接執行這些新的指令,需要編寫壹個軟件,專門用來將源程序中的每條指令翻譯成壹系列CPU能接受的基本指令(也稱機器語言)使源程序轉化成能在計算機上運行的程序。完成這種翻譯的軟件稱為高級語言編譯軟件,通常把它們歸入系統軟件。目前常用的高級語言有VB、C++、JAVA等,它們各有特點,分別適用於編寫某壹類型的程序,它們都有各自的編譯軟件。
另外綠色軟件是什麽也介紹給妳
綠色軟件的定義和分類
安裝完操作系統後,我們壹般需要安裝壹些常用的軟件,但是隨著我們常用軟件的增多,這個安裝過程顯得越來越令人厭煩:運行setup,然後是選擇目標路徑,不斷的重復這個過程。後來我見到有人制作所謂的綠色軟件,不需要安裝,感覺很方便。當時很好奇,想知 道怎麽做的,有沒有什麽方便的工具等等,可是在網上沒有找到什麽相關的知識,隨著自己的壹步步摸索,我逐漸積累了壹些經驗和比較有效的方法,在這裏提供給大家。
首先要先弄清楚何謂綠色軟件?其定義是什麽?我收集了壹些網友的討論和想法:
A 說,不需要安裝 同時 不向註冊表寫入任何東西
B 說,應該還包括不向系統文件夾拷貝文件,我的理解就是:安裝這個軟件對現有的操作系統沒有任何改變,改變包括寫註冊表之類的。
C 說,除了妳現在安裝的目錄,應該不往任何地方寫東西(比如log)。
D 說,免安裝,並且 不往程序所在目錄以外的任何地方產生垃圾文件,還有 不寫註冊表
E 說,綜上加壹條,可以放在移動存儲器上在任壹電腦上使用且效果相同。
F 說,好像不寫註冊表,直接copy來就可以用得就算吧。
G 說,重新安裝系統的時候,僅需導入註冊表,不需重新安裝,就可以認為是綠色軟件。
H 說,其實只要不寫註冊表、不往系統文件夾寫文件,哪怕需要.ini文件也在軟件自己的目錄裏就行,那麽就可算作綠色軟件,特征是能夠任意copy到別的文件夾照樣能用或重裝系統後直接能用,沒有其它變化。所以有小部分“安裝”的軟件其實也符合綠色軟件,因 為它 的安裝只是解壓縮建立文件夾而已。
I 說,基本同意,但不寫註冊表的幾乎是不可能,妳只要運行過那個軟件,打開註冊表編輯器HKLM和HKLU下面software看看,幾乎都會留下鍵值,其實這樣也應該叫做綠色的吧。
綜合上面的意見,可以總結出綠色軟件的優點,就是對操作系統無汙染(恐怕這也是綠色這個名字的由來),不需要安裝,方便卸載,便於攜帶,可以拷貝到便攜的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(/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_CURRENT_USER\SOFTWARE\軟件 公司名字”這2個鍵下面,直接對把這2個註冊表鍵導出到REG文件中。自註冊的COM組件都需要導出如下4個函數:DllCanUnloadNow,DllGetClassObject,DllRegisterServer, DllUnregisterServer,可以用vc自帶的depend.exe找出哪壹個動態鏈接庫是自註冊的COM組件。最後寫壹個批處理文件用regsvr32.exe註冊COM組件和用regedit.exe導入註冊表。
通過上面分析安裝程序的動作,把安裝程序的工作分解為復制文件,註冊COM組件,安裝服務驅動,註冊表配置等幾個部分,雖然註冊表配置可以覆蓋註冊COM組件,安裝服務驅動等操作步驟,但是把這些明顯分割出來有助於制作綠色安裝的軟件。對於需要更復雜的步 驟來安裝的軟件,還是使用原來的安裝程序比較保險。
對於每個方法,下面我會給出具體的例子,有些時候,需要幾個方法聯合使用,無論使用什麽方法,都是模擬原來的軟件作者的安裝過程,所以原作者最容易給出該軟件的綠色版本。
flashget_wise.PNG
flashget160a.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設置。當拷貝到U盤而到新的機器上運行時,需要重復這些設置過程。
這壹類軟件的特點是安裝程序的工作完全可以由軟件自身來完成,從而完全拋開安裝程序,或者說安裝程序的工作也就是解壓縮。類似的軟件還有壹些,最簡單的測試辦法就是看看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,然後取消安裝。從圖上可以看出flashg et1.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拷貝到U盤上,需要用的時候,直接執行裏面的install.bat文件就可以了(註意,要在flas hget的目錄運行批處理文件),不需要任何文件拷貝。
我看到有人提到用優化大師提取falshget的註冊表,然後直接導入註冊表來制作綠色的flashget,這樣做是不行的,從我前面的步驟來看,註冊2個DLL文件必然在註冊表中引入了絕對路徑,那麽如果直接提取註冊表的話,就必須根據當前的路徑來修改 註冊表中的路徑,否則的話制作的綠色版的flashget只能在固定的目錄運行。在制作flashget綠色版的時候,我同時使用了方法3和方法6,使用方法3的目的就是避免安裝程序對系統作的修改,這樣可以直接在當前系統進行測試,而不需要到另外壹個沒 有安裝過flashget的系統測試。
從以上的事例中,可以看出,方法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等等。感覺非常方便,尤其是改變盤符的時候,非常簡單,可以做到便攜化。