我时用nsis打包的,卸载时检测软件进程是否存在,是需要修改nsis脚本的,只要在脚本中加入如下两个函数。在编译脚本前需要下载3个插件,3个插件都放在nsis的plugin目录就可以。
Function un.onInit MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "您确实要完全移除 $(^Name) ,及其所有的组件?" IDYES +2 Abort ;检测程序是否运行 FindProcDLL::FindProc "faceR.exe" Pop $R0 IntCmp $R0 1 0 no_run MessageBox MB_ICONSTOP "卸载程序检测到 人脸识别认证 正在运行,请关闭之后再卸载!" Quit no_run: FunctionEnd Function .onInit ;关闭进程 Push $R0 CheckProc: Push "faceR.exe" Processes::FindProcess "faceR.exe" Pop $R0 IntCmp $R0 0 Done MessageBox MB_OKCANCEL|MB_ICONSTOP "安装程序检测到 人脸识别认证 正在运行。$\r$\n$\r$\n点击 “确定” 强制关闭人脸识别认证,继续安装。$\r$\n点击 “取消” 退出安装程序。" IDCANCEL Exit Push "flighty.exe" Processes::KillProcess Sleep 1000 Goto CheckProc Exit: Abort Done: Pop $R0 FunctionEnd