NSIS安裝包製做軟體的常用小技巧

2021-09-28 12:51:29 字數 2612 閱讀 4530

用nsis軟體製作安裝包時總會用到那麼幾個常用的**,正因為常用到,自己腦袋又不好記不住,所以就一一記錄下來,時間一長自然也就成好多條了,貼出來與大家分享一下吧。

1.如何執行乙個批處理檔案 .bat

注:xiaojian.bat為你的檔名

execwait "xiaojian.bat"

不顯示黑框框

n***ec::exec "xiaojian.bat"

2.如何執行乙個vbs檔案 .vbs

注:xiaojian.vbs為你的檔名

execwait '"$sysdir\cscript.exe" "xiaojian.vbs"'

不顯示黑框框

n***ec::exec '"$sysdir\cscript.exe" "xiaojian.vbs"'

3.如何執行乙個登錄檔檔案 .reg

注:xiaojian.reg為你的檔名

execwait "regedit.exe /s xiaojian.reg"

另外直接寫入登錄檔

writeregstr

writeregexpandstr

writeregdword

writeregbin

比如:writeregdword hkcu "software\es-computing\xiaojian\install" "eula" '0x00000001"

請看nsis詳細說明

4.如何執行乙個安裝檔案 .inf

注:xiaojian.inf 為你的檔名

execwait "rundll32 advpack.dll,launchinfsection xiaojian.inf,defaultinstall"

5.如何執行乙個安裝檔案 .msi

注:xiaojian.msi為你的檔名

execwait `msiexec /qn /i "xiaojian.msi"`

6.關聯檔案圖示後,圖示沒變化。

重新整理圖示

'system::call shell32.dll::shchangenotify(l, l, i, i) v (0x08000000, 0, 0, 0)'

7.安裝窗體變窄了。

setfont /lang=2052 "tahoma" 8

xp特殊資料夾的位置:

hkcu "software\microsoft\windows\currentversion\explorer\user shell folders"

安裝硬碟上的字型(**插入function,section內):

strcpy $0 "d:\fonts\chs\經典空趣體繁.ttf"

writeregstr hklm "software\microsoft\windows nt\currentversion\fonts" "經典空趣體繁(truetype)" "$0"

system::call "gdi32::addfontresource(t) i ('$0') .s"

在經典模式下使用中文介面(**插入檔案頭):

loadlanguagefile "$\contrib\language files\simpchinese.nlf"

langstring name 2052 "simplified chinese"

#-- 根據 nsis 指令碼編輯規則,所有 function 區段必須放置在 section 區段之後編寫,以避免安裝程式出現未可預知的問題。--#

;解除安裝程式之前

function un.oninit

messagebox mb_iconquestion|mb_yesno|mb_defbutton2 "你確實要完全移除 $(^name) ,及其所有的元件?" idyes +2

abort

;執行批處理檔案

execshell open "$instdir\rege\unreguac.bat" "" sw_hide

;execshell open "sdbinst /u *.sdb" "" sw_hide

functionend

function un.onuninstsuccess

hidewindow

messagebox mb_iconinformation|mb_ok "$(^name) 已成功地從你的計算機移除。"

functionend

;安裝結束後,執行批處理檔案

function .oninstsuccess

;execshell open "$instdir\rege\reguac.bat" "" sw_hide

;execshell open "sdbinst /q *.sdb" "" sw_hide

;execwait "sdbinst /q *.sdb"

;execshell open 'cmd' '/c "sdbinst /q *.sdb"' sw_hide

execshell open 'cmd' '/k "sdbinst /q *.sdb"' sw_shownormal

functionend

NSIS安裝包製作流程

參考 開始建立安裝模板 輸入相關係資訊 設定安裝程式的圖示等資訊 設定使用者安裝目錄,此處的授權檔案要改,否則找不到檔案報錯。新增檔案 新建組之類的,主要是為了使用者選擇安裝元件的過程可選,這裡要注意一下,當檔案數過多的時候,還是用組的形式好一些,要不然軟體一直卡死。著重注意一下,目的目錄一定一定要...

NSIS程式安裝包製作

啟動nsis程式主介面,選擇 視覺化指令碼編輯器 vnisedit 選單,開始製作自己的安裝包 選擇 使用指令碼嚮導建立新的指令碼檔案 確定 進步指令碼嚮導,下一步 第一步,這裡填寫應用程式的一些基本資訊,下一步 第二步,這裡是選擇安裝包的圖示,生成的檔名,程式語言等,使用預設的就可以,不需要修改 ...

使用NSIS製作安裝包 2

乙個完整的安裝應用程式的指令碼。include mui.nsh define mui abortwarning define mui icon contrib graphics icons orange install nsis.ico define mui unicon contrib graph...