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

PowerShell中msiexec多转换文件执行报错,寻求解决方法

解决MSI多转换文件在PowerShell及SCCM中的部署问题

首先得明确你遇到的错误根源:在PowerShell里,分号;是命令分隔符,你的TRANSFORMS参数里的分号被PowerShell当成了新命令的起始标记,所以系统才会把:CANoeTransform.mst误识别成独立的可执行命令,进而抛出错误。下面是具体的解决步骤和部署注意事项:

第一步:修正PowerShell测试命令

把TRANSFORMS的整个参数值用双引号包裹起来,让PowerShell把它当成一个完整的参数内容,而不会解析分号为命令分隔符。修正后的命令如下:

msiexec /i "./CANoe_CANalyzer64.msi" TRANSFORMS=":InstanceId1.mst;:CANoeTransform.mst" MSINEWINSTANCE=1 VSETUPKEY_CUSTOMER="Company NV" VSETUPKEY_SERIALNUMBER=00000000000 VSETUPKEY_LICENSEKEY=0000-0000-0000-0000-0000-0000-0000-0000 ADDLOCAL=Program,Demos

如果你的.mst文件不在当前工作目录,建议直接使用绝对路径(比如C:\Deploy\InstanceId1.mst),避免路径解析异常。

第二步:SCCM部署的关键配置

在SCCM中部署时,除了命令行的修正,还有几个细节需要注意:

  • 路径处理:SCCM会把安装源文件下载到客户端的缓存目录,不要用相对路径./,可以直接写文件名(只要.msi和.mst都在SCCM应用的内容源里),或者勾选程序属性里的「使用安装文件夹中的命令」,让msiexec自动在缓存目录下查找文件。
  • 静默安装优化:如果需要无交互安装,记得添加/qn参数(完全静默)或/qb参数(基础进度条),示例命令:
msiexec /i "CANoe_CANalyzer64.msi" TRANSFORMS=":InstanceId1.mst;:CANoeTransform.mst" MSINEWINSTANCE=1 VSETUPKEY_CUSTOMER="Company NV" VSETUPKEY_SERIALNUMBER=00000000000 VSETUPKEY_LICENSEKEY=0000-0000-0000-0000-0000-0000-0000-0000 ADDLOCAL=Program,Demos /qn
  • 权限与运行方式:在SCCM程序属性里设置「以管理员身份运行」,确保客户端有足够权限完成安装;如果是部署给用户,还可以根据需求调整运行上下文。
  • 内容源验证:确认所有.msi和.mst文件都已添加到SCCM应用的内容源中,避免客户端缓存时缺失文件。

额外验证建议

在批量部署前,先在单台客户端本地手动运行修正后的命令,确认安装成功后再推送到SCCM集合;也可以用Orca工具打开.msi和.mst文件,检查转换文件的配置是否有效、有没有损坏。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 03:46:06