需要使用插件FindProcDLL.dll,下载路径:http://nsis.sourceforge.net/FindProcDLL_plug-in
这个只能检查已经运行的程序,检测不到自身.
Function .onInit (Function un.onInit)
FindProcDLL::FindProc "${PRODUCT_NAME}.exe"
Pop $R0
IntCmp $R0 1 0 no_run
MessageBox MB_ICONSTOP "安装程序检测到 ${PRODUCT_NAME} 正在运行,请退出程序后重试"
Quit
no_run:
FunctionEnd
PS: 安装包的名称和产品的名称不能一样啊! 都是PRODUCT_NAME一样惹的祸!