NSIS 安裝包確保只能有一個安裝例項執行
阿新 • • 發佈:2019-01-02
1、安裝程式只允許有一個執行
Function .onInit InitPluginsDir call hasinited ;建立互斥防止重複執行 System::Call 'kernel32::CreateMutexA(i 0, i 0, t"Winsnap_installer") i .r1 ?e' Pop $R0 StrCmp $R0 0 +3 MessageBox MB_OK|MB_ICONEXCLAMATION "有一個安裝嚮導已經執行!" Abort FunctionEnd
2、解除安裝程式時檢測程式是否正在執行
Function un.onInit MessageBox MB_ICONQUESTION|MB_YESH0|MB_DEFBUTTON2"您確定要完全刪除$(^Name),及其所有的元件?"IDVES +2 Abort FindProcDLL::FindProc "21ATCloud.exe" Pop $R0 IntCmp $R0 1 0 no_run MessageBox MB_ICONSTOP"解除安裝程式檢測到${PRODUCT_NAME}正在執行,請關閉之後再解除安裝!"; Quit no_run; FunctionEnd