NSIS 學習筆記

2021-08-30 15:20:30 字數 1317 閱讀 7331

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...