PowerShell修改EXE安装目录:静默安装指定路径失败求助
解决非MSI格式EXE静默安装到指定目录的问题
你之前的命令失败是因为误用了MSI安装包的参数(/v/qn是针对包裹MSI的EXE的参数),纯非MSI的EXE安装包有自己独立的参数规范,不同厂商的参数差异很大,以下是解决步骤:
1. 先获取安装包的可用参数
运行以下命令查看该setup.exe的帮助信息,这是最可靠的方式:
& "C:\setup.exe" /?
也可以尝试这些常见的帮助参数:/help、-help、--help,不同安装包可能支持不同写法。
2. 常见非MSI安装包的参数示例
根据不同的安装包类型,常见的静默+指定目录命令如下:
Inno Setup类型安装包(这类包较为常见):
Start-Process -FilePath "C:\setup.exe" -ArgumentList '/VERYSILENT /DIR="C:\MyTestDirectory"' -Wait注:
/SILENT会显示进度条,/VERYSILENT完全无界面;/DIR用于指定安装目录。NSIS类型安装包:
Start-Process -FilePath "C:\setup.exe" -ArgumentList '/S /D=C:\MyTestDirectory' -Wait注:
/S是静默安装参数;/D后直接跟安装路径,路径含空格时需加引号。其他自定义参数的安装包:
部分厂商会用INSTALLDIR、TARGETDIR等参数指定路径,比如:Start-Process -FilePath "C:\setup.exe" -ArgumentList '/silent INSTALLDIR="C:\MyTestDirectory"' -Wait
3. 注意事项
- 加上
-Wait参数可让PowerShell等待安装完成,避免后续脚本提前执行。 - 若安装路径包含空格,必须用双引号包裹路径。
内容的提问来源于stack exchange,提问作者the1fan
相关产品推荐
相关产品推荐

