NSIS 靜默安裝 以及 在安裝軟體時檢測軟體是否啟動
阿新 • • 發佈:2019-01-03
NSIS 靜默安裝vc++2013
Section vc
SetOutPath "$INSTDIR"
SetOverwrite on
ExecWait '$INSTDIR\vc2013_x86.exe /q /norestart /ChainingPackage FullX64Bootstrapper' $R1
Delete "$INSTDIR\vc2013_x86.exe"
SectionEnd
注意我的nsi檔案與vc2013_x86.exe都放在Debug目錄下
- NSIS 在軟體安裝時檢測軟體是否啟動
Function .onInit
;關閉程序
Push $R0
CheckProc:
Push "xxx.exe"
ProcessWork::existsprocess
Pop $R0
IntCmp $R0 0 Done
MessageBox MB_OKCANCEL|MB_ICONSTOP "安裝程式檢測到 ${PRODUCT_NAME} 正在執行。$\r$\n$\r$\n點選 “確定” 強制關閉${PRODUCT_NAME},繼續安裝。$\r$\n點選 “取消” 退出安裝程式。" IDCANCEL Exit
Push "xxx.exe"
Processwork::KillProcess
Sleep 1000
Goto CheckProc
Exit:
Abort
Done:
Pop $R0
FunctionEnd
注意:根據 NSIS 指令碼編輯規則,所有 Function 區段必須放置在 Section 區段之後編寫,以避免安裝程式出現未可預知的問題。