1
0
mirror of https://github.com/keeweb/keeweb.git synced 2024-06-28 07:50:55 +02:00
keeweb/package/nsis/check-running.nsh

32 lines
1.0 KiB
Plaintext
Raw Normal View History

2021-01-09 17:14:56 +01:00
!macro EnsureAppIsNotRunning
${For} $retryNumEnsureAppIsNotRunning 0 1000
DetailPrint "Checking if ${PRODUCT_EXE} is running..."
nsExec::ExecToStack /OEM 'tasklist /NH /FI "IMAGENAME eq ${PRODUCT_EXE}"'
Pop $0
${If} $0 != 0
DetailPrint "Error checking ${PRODUCT_EXE}: $0"
2016-07-22 21:13:39 +02:00
MessageBox MB_ICONSTOP|MB_OK "Failed to check whether process is running" /SD IDOK
2021-01-09 17:14:56 +01:00
Quit
${EndIf}
Pop $1
2016-07-22 21:13:39 +02:00
${StrStr} $0 $1 "${PRODUCT_EXE}"
2021-01-09 17:14:56 +01:00
${If} $0 == ""
DetailPrint "${PRODUCT_EXE} is not running"
${If} $isUpdaterMode == 1
Sleep 2000
${EndIf}
2021-01-09 17:14:56 +01:00
${ExitFor}
${Else}
${If} $isUpdaterMode == 1
${AndIf} $retryNumEnsureAppIsNotRunning < 5
2021-01-10 09:36:34 +01:00
DetailPrint "${PRODUCT_EXE} is running, waiting... next check in 2s"
Sleep 2000
2021-01-09 17:14:56 +01:00
${Else}
MessageBox MB_ICONQUESTION|MB_OKCANCEL|MB_DEFBUTTON1 "To proceed, please close ${PRODUCT_NAME} and click OK" /SD IDCANCEL IDOK ok
Quit
ok:
${EndIf}
${EndIf}
${Next}
!macroend