【NSIS使用經驗】禁止多個安裝程序實例或禁止重複安裝

;在安裝程序運行前的回調函數前實現
Function .onInit
;禁止多個安裝程序實例
System::Call 'kernel32::CreateMutexA(i 0, i 0, t "JWBClient") i .r1 ?e'
Pop $R0
StrCmp $R0 0 +3
MessageBox MB_OK|MB_ICONEXCLAMATION "安裝程序已經在運行。"
Abort


;禁止重複安裝程序
ReadRegStr $0 HKLM '${PRODUCT_DIR_REGKEY}' ""
StrLen $1 $0
IntCmp $1 0 +3 +1 +1
MessageBox MB_OK|MB_USERICON '$(^Name) 已安裝在計算機中。如需從新安裝,請卸載已有的安裝'
Quit
FunctionEnd
相關文章
相關標籤/搜索