NSIS 静默安装 以及 在安装软件时检测软件是否启动

NSIS 静默安装vc++2013

Section vc
SetOutPath "$INSTDIR"
 SetOverwrite on
  ExecWait '$INSTDIR\vc2013_x86.exe /q /norestart /ChainingPackage FullX64Bootstrapper' $R1
  Delete "$INSTDIR\vc2013_x86.exe"
SectionEnd

注意我的nsi文件与vc2013_x86.exe都放在Debug目录下

  • NSIS 在软件安装时检测软件是否启动
Function .onInit
  ;关闭进程
  Push $R0
  CheckProc:
    Push "xxx.exe"
    ProcessWork::existsprocess
    Pop $R0
    IntCmp $R0 0 Done
    MessageBox MB_OKCANCEL|MB_ICONSTOP "安装程序检测到 ${PRODUCT_NAME} 正在运行。$\r$\n$\r$\n点击 “确定” 强制关闭${PRODUCT_NAME},继续安装。$\r$\n点击 “取消” 退出安装程序。" IDCANCEL Exit
    Push "xxx.exe"
    Processwork::KillProcess
    Sleep 1000
    Goto CheckProc
    Exit:
    Abort
    Done:
    Pop $R0
FunctionEnd

注意:根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。

你可能感兴趣的:(Wpf)