利用NSIS製作Netbeans、JDK的綠色安裝程序

  最近在外面做培訓時,培訓的教師機和學員機的硬盤都做了保護,很多人在安裝netbeans、jdk後,一旦關機重啓,因爲系統盤已被還原,所以Netbeans中設定的熱鍵、打開的工程、數據庫的設定等設置信息也被還原了。

  默認情況下,Netbeans的配置文件夾存放在登錄用戶的主目錄中,這時需要修改netbeans的安裝目錄中的etc/netbeans.conf文件中netbeans_default_userdir項目,讓它指向一個沒有被系統保護的硬盤分區中的文件夾。由於Netbeans在安裝和運行時都沒有一個直觀的辦法修改netbeans.conf中的這個項目,所以導致了很多麻煩,因爲菜鳥們總對修改文件感到觸頭。

  讓事情簡單化的手段有2個方面:
  1、修改netbeans.conf文件,將其中設定爲絕對路徑的項目改爲相對路徑

  2、做一個安裝文件,讓它安裝後,把Netbeans添加到開始菜單項,再做個Netbeans的桌面快捷方式,同時讓Netbeans和Java源文件相關聯,讓javaw.exe文件和JAR相關聯。最好還能設置一下Java相關的環境變量。這個工作用NSIS來解決。

   首先下載一個zip版的Netbeans,解壓後到某個文件夾後,然後把JDK也拷到這個文件夾。現在我的文件夾結構所下所示:
     解壓目錄(D:\nb6)
         |
         |----netbeans
               |
               |
               |-------bin----netbeans.exe
               |-------etc----netbeans.conf
               |
               |(netbeans的其他目錄)
         
         |--------jdk1.6.0_04

  現在,用記事本打開netbeans.conf文件,修改其中的netbeans_default_userdir和netbeans_jdkhome兩項的值:
[code]
netbeans_default_userdir="../nbsettings/6.0"
netbeans_jdkhome="../jdk1.6.0_04"
[/code]
  這樣之後,只要拷貝nb6這個文件夾,到哪裏Netbeans都會找到同一文件夾下的jdk1.6.0_04,也不會丟失配置信息了。

  現在,準備完成第2步,即把d:\nb6中的jdk和netbeans打包在一起,做成一個安裝文件。NSIS是一個開源、基於腳本的安裝程序生成器。它支持多國語言,Windows上很多知名的軟件的安裝程序都是用它做的,比如電騾、Winamp等等。它用一種特殊的腳本語語言控制安裝的界面和流程,在邏輯控制上很有趣,和彙編語言有那麼一點兒相象,打包之後的文件壓縮率還是很高的。下面開始進行軟件環境的安裝:

  首先,從nsis的官方網站:[url]http://http://nsis.sourceforge.net[/url]下載一個NSIS的安裝文件,然後再在[url]http://hmne.sourceforge.net/[/url]下載一個可編輯、編譯NSIS安裝腳本的編輯器HM NIS Editor,基本的安裝程序就裝好了。

  啓動HM NIS Editor,它的"文件->新建腳本:嚮導"菜單提供了一個很好用的嚮導,可以幫你生成基本的腳本框架代碼,結合NSIS的幫助文件和官方網站的提供的各種樣例,我們可以很快地掌握安裝腳本的編寫。下面是我編寫的打包D:\NB6目錄中的JDK和Netbeans的腳本文件,它生成的安裝文件提供了3種安裝方式:
  (1)完全安裝,包括JDK、Netbeans
  (2)最小安裝,只包括Netbeans
  (3)定製安裝,可以自己選擇安裝項目,但Netbeans還是必選的。

  除去安裝的功能之外,該安裝程序還把.java文件和netbeans關聯;如果用戶安裝時選擇了JDK,則將.jar文件和javaw.exe關聯,同時在系統中加入JAVA_HOME環境變量,並在PATH環境變量中加入JDK中的bin目錄。

  由於文件比較長,這裏就不直接貼出源代碼了,請參看帖子中的附件,該附件解壓後包含三個文件,這裏做一下簡要介紹:
  (1)JDevIns.nsi,這是主安裝腳本,它要包含(2)、(3)兩個腳本,注意,(2)、(3)腳本要拷貝到NSIS安裝目錄中的Include子目錄中,否則JDevIns.nsi將通不過編譯。
  (2)AddPath.nsh,它負責在PATH環境變量中加入需要的路徑,請將其拷貝到NSIS(注意,不是HM NIS Editor)的Include子目錄
  (3)WriteEnvStr.nsh,它負責生成指定名稱的環境變量,同樣,也要把它拷貝到NSIS的Include子目錄中

  在HM NIS Editor中,完成上述設定後,打開JDevINs.nsi,按Ctrl+F9鍵,就可編譯生成安裝文件。

  利用這個安裝程序安裝Netbeans和JDK後,把安裝目錄中的文件拷走到任何計算機中,Netbeans都可以直接運行;但嚴格來講,這個安裝程序還不能說是“綠色”的,因爲它修改了系統的註冊表和環境變量,不過,在卸載的時候,它會把這些修改再改回來的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章