nsis 學習筆記
vnisedit 編譯環境中編輯指令碼**
工具右邊的nsis(n),選中後有編輯指令碼,編輯後即可生成setup安裝包
編譯工具上的title欄有幫助,選中幫助開啟可看到語法結構說明書
!define mui_icon 「c:\users\jhfg\desktop\dm.ico」
安裝時圖示展示,setup圖示
setoutpath 「$instdir\res」
建立res目錄 , $instdir指選中的安裝目錄路徑
setoutpath 「c:\酒安」
可直接建立固定路徑資料夾
setoutpath 「katex parse error: expected 'eof', got '\release' at position 56: …d: 專案路徑........\̲r̲e̲l̲e̲a̲s̲e̲\*.*" 主程式選中到d…instdir\uninst.exe」
刪除安裝目錄下的uninist檔案
rmdir 「$instdir\res」
刪除安裝目錄下的res資料夾
關於重複安裝問題,直接貼上如下**,可以體醒二次安裝是否解除安裝上次安裝記錄。
var uninstall_prog
var old_ver
var old_path
function .oninit
clearerrors
readregstr $uninstall_prog $ $ "uninstallstring"
iferrors done
readregstr $old_ver $ $ "displayversion"
messagebox mb_yesnocancel|mb_iconquestion \
"檢測到本機已經安裝了 $ $old_ver。\
$\n$\n是否先解除安裝已安裝的版本?" \
/sd idyes \
idyes uninstall \
idno done
abort
uninstall:
strcpy $old_path $uninstall_prog -10
execwait '"$uninstall_prog" /s _?=$old_path' $0
detailprint "uninst.exe returned $0"
delete "$uninstall_prog"
rmdir $old_path
done:
functionend
注:寫入登錄檔中是執行程式的名字,如果名字帶空格,則打包指令碼會報錯 NSIS學習 標記
什麼是標記 標記使用範圍 標記的宣告 標記是 goto 指令的目標,或各種分支指令 例如 iferrors,messagebox,iffileexists,strcmp 的目標。標記必須存在於乙個區段或函式裡。標記是侷限於該範圍裡的,這意味著這些指令只能訪問和它們同處於乙個區段或函式的標記。要宣告乙...
NSIS官方外掛程式
安裝包中需要判斷某個程序是否開啟,於是網上搜了個外掛程式 nsiskillprocess 鏈結位址為http www.esanu.name programs nsiskillprocess.html 可以使用,沒有問題,但卻發現製作的安裝大小變大了很多 我們的程式對大小有一定的要求 一看proces...
NSIS 使用技巧
1.在安裝過程中顯示detailprint除錯資訊 detailprint預設是不顯示的,如果要讓其print的資訊顯示,需在nsis的指令碼起始處新增 showinstdetails show name n ec test outfile n ec test.exe showinstdetails...