You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure Pipeline Windows环境中安装.msi格式程序(以CppCheck为例)

适配Windows镜像的Azure Pipelines CppCheck安装方案

核心实现可直接使用Windows系统自带的PowerShell命令完成msi安装包的下载与静默安装,无需预装额外工具,具体配置如下:

完整流水线配置

trigger:
- master

pool:
  vmImage: 'windows-2019'

jobs:
- job: MisraCheck
  displayName: Check for Misra Compliance

  steps:

  - powershell: |
      # 替换为你获取到的对应版本CppCheck的官方msi下载地址
      $cppcheckUrl = "<替换为你的CppCheck msi安装包下载链接>"
      $installerPath = "$env:TEMP\cppcheck-installer.msi"
      # 下载安装包到临时目录
      Invoke-WebRequest -Uri $cppcheckUrl -OutFile $installerPath
      # 执行静默安装,无弹窗无交互
      Start-Process msiexec.exe -ArgumentList "/i $installerPath /qn /norestart" -Wait
      # 将CppCheck默认安装路径添加到流水线环境变量,后续步骤可直接调用cppcheck命令
      echo "##vso[task.prependpath]C:\Program Files\Cppcheck"
    displayName: 'Install CppCheck'

  - script: |
      cppcheck --error-exitcode=1 --addon=misra.json .
    displayName: 'Run cppcheck'

关键逻辑说明

  • Invoke-WebRequest 是PowerShell自带的文件下载工具,可替代Linux下的wget/curl功能,直接拉取远程安装包
  • msiexec 是Windows自带的MSI安装包管理工具,参数说明:
    • /i 指定需要安装的msi包路径
    • /qn 配置为完全静默安装模式,无任何界面弹窗,适配流水线非交互运行场景
    • /norestart 配置安装完成后不触发系统重启
  • echo "##vso[task.prependpath]路径" 是Azure Pipelines专用的环境变量注入命令,将CppCheck安装路径添加到任务全局PATH中,后续步骤无需写全路径即可直接调用cppcheck命令

如果你需要安装指定版本的CppCheck,仅需替换配置中的msi下载链接即可,其余逻辑无需调整。

内容的提问来源于stack exchange,提问作者Rafael Nicolay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 14:36:06