通过setup.exe传递msiexec参数生成日志失败,报1629无效命令行求排查
解决setup.exe添加调试日志参数时出现1629错误的问题
你遇到的1629错误本质是命令行参数解析失败,大概率是因为作为MSI引导程序的setup.exe,对/V后面传递给msiexec的参数格式处理出了问题。我给你几个可行的解决办法:
先简化参数格式试试:因为你的日志路径
c:\temp\installlog.txt没有空格,完全可以去掉内部的引号,改成下面的命令,很多时候就能解决解析问题:setup.exe /V/l*vx c:\temp\installlog.txt如果需要保留引号(比如后续路径有空格),试试转义引号,让引导程序正确识别内部参数:
setup.exe /V"/l*vx \"c:\temp\installlog.txt\""最可靠的方法:直接调用底层MSI文件:
很多setup.exe只是MSI的包裹引导程序,运行时会把MSI解压到临时目录。你可以这么做:- 启动setup.exe,但不要点击下一步;
- 打开文件资源管理器,去
C:\Users\<你的用户名>\AppData\Local\Temp或者C:\ProgramData目录下找随机命名的文件夹,里面就能找到解压好的MSI文件; - 关闭正在运行的setup.exe,然后直接用msiexec命令执行这个MSI,这样完全绕开引导程序的参数解析问题:
msiexec /i "找到的MSI文件路径" /l*vx c:\temp\installlog.txt
最后确认下msiexec版本:运行
msiexec /?,窗口顶部会显示版本号,确保是5.0及以上,虽然你说已经装了,但偶尔会有版本识别不准的情况。
内容的提问来源于stack exchange,提问作者Ben_G
相关产品推荐
相关产品推荐

