HelloWorld 善戰(zhàn)者,求之于勢(shì),不責(zé)于人;故能擇人而任勢(shì)。

          知止而后有定,定而后能靜,靜而后能安,安而后能慮,慮而后能得。物有本末,事有終始。知所先后,則近道矣。

            BlogJava :: 首頁(yè) ::  :: 聯(lián)系 ::  :: 管理 ::
            167 隨筆 :: 1 文章 :: 40 評(píng)論 :: 0 Trackbacks

          NSIS安裝制作基礎(chǔ)教程

          關(guān)鍵詞NSIS                                          

          NSIS簡(jiǎn)介:
            NSIS 是“Nullsoft 腳本安裝系統(tǒng)”(Nullsoft Scriptable Installation System)的縮寫(xiě),它是一個(gè)免費(fèi)的 Win32 安裝、卸載系統(tǒng)。它的特點(diǎn):腳本簡(jiǎn)潔高效;系統(tǒng)開(kāi)銷小;當(dāng)然進(jìn)行安裝、卸載、設(shè)置系統(tǒng)設(shè)置、解壓文件等等更不在話下,幾乎可以做所有的事情。更多的功能請(qǐng)閱讀藍(lán)色網(wǎng)際的《NSIS幫助文檔》。
            對(duì)于制作NSIS的使用教程,藍(lán)色網(wǎng)際是NSIS方面的專家,她的《NSIS幫助文檔》就是一本NSIS的圣經(jīng),而對(duì)初學(xué)者來(lái)說(shuō),最頭疼的莫過(guò)于一大堆看不懂的代碼,對(duì)他們來(lái)說(shuō)無(wú)異于一本天書(shū)。緣于此,特草此基礎(chǔ)教程,希望NSIS專家們勿見(jiàn)笑,不當(dāng)之處歡迎批評(píng)指正以期完善,也希望給初學(xué)者作個(gè)鋪墊。

          工具:NIS Edit+Nullsoft Installation System(NSIS)

          思路:腳本向?qū)В薷拇a=個(gè)性化安裝包

          步驟:

            一、利用向?qū)е谱靼惭b包

            01、安裝上述兩款,啟動(dòng)NIS Edit,在“文件”菜單中“新建腳本:向?qū)?#8221;→下一步”,如圖1。

            02、設(shè)置應(yīng)用程序信息,如軟件名稱、版本、出版人等,如圖2。當(dāng)然最一個(gè)網(wǎng)站可以留空,如果設(shè)置了,則安裝包會(huì)生成一個(gè)對(duì)應(yīng)網(wǎng)址的“Internet 快捷方式”。


            03、設(shè)置程序選項(xiàng),如安裝包圖標(biāo)、安裝程序文件、安裝包語(yǔ)言[這里選“SimChinese”]、用戶圖形界面及壓縮方式等,我們可以選用默認(rèn)值,也可以點(diǎn)擊對(duì)應(yīng)項(xiàng)目的按鈕或下拉菜單更改設(shè)置,如圖3。

            04、設(shè)置安裝目錄及授權(quán)信息,如圖4后“下一步”。

            05、選定程序文件,即我們要打包的文件,可以使用默認(rèn)的“Mainsection”,也可以根據(jù)需要進(jìn)行更改或新建組別,如果組比較多時(shí),你也可以設(shè)置是否“允許用戶選擇要安裝的組件”,如圖5。

            完畢后進(jìn)行“添加文件”操作,選定我們要打包的文件,如圖6,完成自動(dòng)后返回的圖5的界面,執(zhí)行下一步操作。

            06、設(shè)置開(kāi)始菜單中文件夾名稱及快捷方式,這里我們使用默認(rèn)值,如圖7,按“下一步”。


            07、指定安裝后要運(yùn)行的程序,同上用默認(rèn)值并設(shè)置相關(guān)運(yùn)行參數(shù)及描述,如果你和我一樣懶的話,或不想在安裝運(yùn)行任何程序,則留空即可,如圖8。


            08、這步是有關(guān)卸載程序的相關(guān)信息,如卸載時(shí)的提示、卸載的圖標(biāo)等,如圖9。


            09、至此完成向?qū)В鐖D10,鉤選“保存腳本”、“轉(zhuǎn)換文件路徑到相關(guān)路徑”及“編譯腳本”。


            提示保存腳本路徑并自動(dòng)編譯腳本,我們可以按或F9運(yùn)行安裝程序進(jìn)行預(yù)覽,向?qū)Мa(chǎn)生的安裝包效果圖如圖11所示。



            二、修改代碼以個(gè)性化安裝包

            10、選擇可修改之處。軟件LOGO[如圖11A]、安裝包標(biāo)題[圖11B]、圖11C、圖12、圖13。

            圖11見(jiàn)上樓 圖12如下


            圖13如下


            11、修改代碼

            ①、修改軟件LOGO:在源代碼“ MUI Settings”后面添加下列代碼:
            程序代碼
          !define MUI_WELCOMEFINISHPAGE_BITMAP "G:\temp\ pwr.bmp"


            注釋:引號(hào)內(nèi)為位圖的路徑,位圖大小大約為165*298

            效果圖如圖14所示


            ②、修改安裝包標(biāo)題,在同上位置添加下列代碼:
            程序代碼
          !define MUI_WELCOMEPAGE_TITLE "\r\n PDF2all 5.35d 漢化版"


            注釋:\r\n為換行標(biāo)志

            效果圖上樓如圖14所示。

            ③、修改圖11C中的說(shuō)明,同上位置添加下列代碼:
            程序代碼
          !define MUI_WELCOMEPAGE_TEXT "  pdf2all是一個(gè)轉(zhuǎn)換器的集合,它能轉(zhuǎn)換包括doc2pdf (Word to PDF),xls2pdf (Excel Sheet到PDF),ppt2pdf(PowerPoint到PDF),mdb2pdf (Access到PDF),ps2pdf(PostScript到PDF),pdf2jpg(PDF到JPEG),pdf2bmp(PDF到BMP),pdf2tiff(PDF到TIFF),pdf2eps(PDF到EPS),pdfMerge(合并PDF文件),pdf2ppt(PDF到PowerPoint)。\r\n\r\n  軟件漢化:高芳鑾 (Raindy)\r\n\r\n  $_CLICK"


            效果圖如圖14所示。

            ④、對(duì)圖12中的修改,在源代碼:
            程序代碼
          ShowInstDetails show
          ShowUnInstDetails show


            后添加:
            程序代碼
          BrandingText " 軟件漢化:高芳鑾 (Raindy)"


            效果圖如圖15所示。


            ⑤、在完成添加“漢化說(shuō)明”,只要在源代碼:
            程序代碼
          ; Finish page


            后添加:
            程序代碼
          !define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\漢化說(shuō)明.txt"
          !define MUI_FINISHPAGE_SHOWREADME_TEXT "漢化說(shuō)明"


            效果所示


            ⑥、閃屏界面,可以在源代碼中加入下列代碼即可:

            A、普通效果
            程序代碼
          Function .onInit
          SetOutPath $TEMP
          File /oname=spltmp.bmp "G:\Temp\Nsisres\splash.bmp"

          splash::show 2300 $TEMP\spltmp

          Pop $0

          FunctionEnd


            B、漸隱閃屏
            程序代碼
          Function .OnInit
          InitPluginsDir
          File /oname=$PLUGINSDIR\splash.bmp "G:\Temp\Nsisres\splash.bmp"
          advsplash::show 1500 800 600 -1 $PLUGINSDIR\splash
          Functionend


            ⑦、背景音樂(lè)[貫穿安裝過(guò)程]
            程序代碼
          Var hmci
          Function .OnInit
          InitPluginsDir
          SetOutPath $PLUGINSDIR
          File "G:\Temp\Nsisres\music.mp3"  [說(shuō)明:源MP3的存放路徑]
          System::Call msvfw32.dll::MCIWndCreate(i 0, i 0,i 0x0070, t "$PLUGINSDIR\music.mp3") i .r0
          SendMessage $0 0x0465 0 "STR:play repeat"
          System::Call user32.dll::ShowWindow(i r0, i 0)
          StrCpy $hmci $0
          Functionend

          Section
          ;add your codes
          SendMessage $hmci 0x0010 0 0
          Sectionend



            后語(yǔ):

            以上僅是NSIS制作安裝包最基本的操作,供初學(xué)者入門之用,故云“初級(jí)篇”。希望不會(huì)怡笑大方,更希望藍(lán)MM、陳敏毅老大等NSIS高手的中高級(jí)教程。




            精品代碼 (^-^)

            1、閃屏效果(漸現(xiàn)漸隱)
            程序代碼
          Function .OnInit
          InitPluginsDir
          File /oname=$PLUGINSDIR\splash.bmp c:\test.bmp
          advsplash::show 1500 800 600 -1 $PLUGINSDIR\splash
          Functionend



            2、背景音樂(lè)1(貫穿安裝全過(guò)程)
            程序代碼
          Function .OnInit
          InitPluginsDir
          SetOutPath $PLUGINSDIR
          File "c:\a.mp3"
          System::Call msvfw32.dll::MCIWndCreate(i 0, i 0,i 0x0070, t "$PLUGINSDIR\a.mp3") i .r0
          SendMessage $0 0x0465 0 "STR:play repeat"
          System::Call user32.dll::ShowWindow(i r0, i 0)
          StrCpy $hmci $0
          Functionend

          Section
          ;add your codes
          SendMessage $hmci 0x0010 0 0
          Sectionend



            3、背景音樂(lè)2
            程序代碼
          Section/Function
          SetOutPath $PLUGINSDIR
          File $WINDIR\MEDIA\chimes.wav
          BgImage::Sound /NOUNLOAD /WAIT "$PLUGINSDIR\chimes.wav"
          BgImage::Clear /NOUNLOAD
          Sectionend/Functionend



            4、閃屏效果[漸隱]+背景音樂(lè)[全程]
            程序代碼
          outfile test.exe
          Var hmci

          Function .OnInit
          InitPluginsDir
          SetOutPath $PLUGINSDIR
          File "c:\a.mp3"
          System::Call msvfw32.dll::MCIWndCreate(i 0, i 0,i 0x0070, t "$PLUGINSDIR\a.mp3") i .r0
          SendMessage $0 0x0465 0 "STR:play repeat"
          System::Call user32.dll::ShowWindow(i r0, i 0)
          StrCpy $hmci $0

          File /oname=$PLUGINSDIR\splash.bmp c:\test.bmp
          advsplash::show 1500 800 600 -1 $PLUGINSDIR\splash

          Functionend

          Section
          ;add your codes
          sleep 5000
          SendMessage $hmci 0x0010 0 0
          Sectionend



            5、如何把安裝頁(yè)面中的“Setup將安裝……”中的Setup改成別的字

            只需在
            程序代碼
          !insertmacro MUI_PAGE_DIRECTORY


            前面添加一行
            程序代碼
          !define MUI_DIRECTORYPAGE_TEXT_TOP "你需要的文字"



            6、設(shè)置了自定義安裝、卸載圖標(biāo)
            程序代碼
          !define MUI_ICON "G:\Temp\Nsisres\Win 安裝.ico"
          !define MUI_UNICON "G:\Temp\Nsisres\Win 卸載.ico"


          </script>

          posted on 2008-03-04 13:59 helloworld2008 閱讀(1187) 評(píng)論(0)  編輯  收藏 所屬分類: 其他
          主站蜘蛛池模板: 含山县| 格尔木市| 布尔津县| 工布江达县| 黎城县| 沁源县| 明光市| 茂名市| 抚宁县| 富民县| 高密市| 上饶县| 武义县| 张掖市| 临夏县| 高安市| 吉安县| 锦州市| 泸定县| 紫阳县| 资溪县| 香格里拉县| 灵山县| 大兴区| 胶州市| 从江县| 福海县| 闸北区| 广丰县| 五指山市| 胶州市| 射洪县| 金沙县| 囊谦县| 边坝县| 合作市| 淳化县| 峨眉山市| 丹巴县| 十堰市| 揭西县|