NSIS 創(chuàng)建的安裝程序可以進(jìn)行安裝、卸載、設(shè)置系統(tǒng)設(shè)置、解壓文件等等。幾乎可以做所有事情。因?yàn)樗谀_本文件,所以您可以完全控制您的安裝程序的每個(gè)部分。它的腳本語(yǔ)言支持變量、函數(shù)、字串處理,就像是一個(gè)普通的程序語(yǔ)言 - 但其僅設(shè)計(jì)用來(lái)創(chuàng)建安裝程序。
PortableApps Launcher的主要對(duì)象無(wú)非是注冊(cè)表項(xiàng)與文件,而處理這些,正是NSIS的長(zhǎng)項(xiàng)。NSIS語(yǔ)言簡(jiǎn)明易懂,特別擅長(zhǎng)處理windows系統(tǒng)中的進(jìn)程、注冊(cè)表與文件。以下以PotPlayer Portable為例,淺談使用NSIS制作便攜軟件的一般流程。
通過(guò)虛擬機(jī)觀察得知,當(dāng)PotPlayerMini.exe同目錄存在PotPlayerMini.ini時(shí),PotPlayer將配置保存在此ini中,否則,則將配置保存在注冊(cè)表中。
因此,我們可以有兩種選擇:讓PotPlayer保存配置在注冊(cè)表,并在結(jié)束時(shí)導(dǎo)出為reg文件;或者保證其運(yùn)行時(shí)目錄下存在PotPlayerMini.ini,在結(jié)束后將PotPlayerMini.ini移至 Data 目錄(程序與配置分離原則)。后一種選擇的優(yōu)點(diǎn)是,PotPlayer Portable 可以與系統(tǒng)中安裝的PotPlayer 或其它位置的PotPlayer Portable 同時(shí)運(yùn)行,不會(huì)互相干擾。因此我選擇了保存配置進(jìn) ini 的方案。
另外,我希望PotPlayer Portable首次運(yùn)行時(shí)顯示XMP-Gray-Tab 這個(gè)皮膚,而不是默認(rèn)的棒子文皮膚。因此,需要?jiǎng)?chuàng)建一個(gè)DefaultData。
創(chuàng)建 PotPlayerPortable 文件夾,創(chuàng)建 App\AppInfo ,App\DefaultData , App\PotPlayer ,Sources 。如右圖。
將PotPlayer 程序文件放在 App\PotPlayer 目錄中。
在 App\DefaultData 中創(chuàng)建 PotPlayerMini.ini ,寫(xiě)入:
[Settings]
LastSkinName=[smilefly]XMP-Gray-Tab.dsf ;定義默認(rèn)皮膚
提取 PotPlayer 圖標(biāo),保存為:App\AppInfo\appicon.ico 。
在 Source\中創(chuàng)建 PotPlayerPortable.nsi ,開(kāi)始敲代碼吧。以下分為3段講解這個(gè)nsi文件。
將固定的文件、注冊(cè)表項(xiàng)以變量的形式在文件頭部聲明,不但可以少敲些文字,也有利于減少筆誤。
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版