【问题标题】:How to set installation status for wix msi to command prompt如何将 wix msi 的安装状态设置为命令提示符
【发布时间】:2020-07-30 11:44:35
【问题描述】:

我正在使用 wix 安装程序 .msi。 当我使用命令 "msiexec.exe /i Installer.msi /QN /LV "msilog.log"*" 运行它时,它会安装并创建一个日志文件。

CMD 不等待安装完成或不显示安装状态。

我的问题是 安装过程中如何握住 CMD? 如何向 CMD 显示 wix 安装程序的安装状态?

编辑:我试过 start /wait msiexec.exe /i installer.msi PASSWORD="pass" /QN /L*V "msilog.log" 。它保持 cmd 屏幕,直到安装过程完成。现在好了。

第二个问题,我尝试在上述命令之后获取安装状态。 “NET HELPMSG %errorLevel%”。如果作为单独的命令执行,它会给出正确的状态。

当像 start /wait msiexec.exe /i installer.msi PASSWORD="pass" /QN /LV "msilog.log" & NET HELPMSG %errorLevel% 这样组合执行时* ,即使出现错误,它也总是返回 0-安装成功。

请推荐?

【问题讨论】:

    标签: c# installation cmd wix windows-installer


    【解决方案1】:

    正如微软(高级工程师)的Heath Stewart 在这里解释的那样:Waiting for msiexec.exe to Finish - 您可以尝试启动等待构造,示例如下:

    start /wait msiexec.exe /i Installer.msi /QN /LV "msilog.log"
    

    请访问以上链接了解技术详情。本质上,Widows 安装程序总是立即返回到控制台,除非您使用上述构造指定它等待。


    链接:

    【讨论】:

    • 添加这个 /wait ,保存 cmd。任何关于显示安装失败或通过 wix 安装程序的状态的想法?
    • 稍后会回来查看,您有 echo %errorlevel%,您可以在运行命令后尝试,但我阅读了 Raymond Chen 的博客 - 这有一个问题 - ss64.com/nt/errorlevel.html -另外:您是在批处理文件中还是只是在推送命令行? Chen 的一篇博客(我现在没有时间重读:devblogs.microsoft.com/oldnewthing/?p=20743)。
    • 我使用 wix 包,它结合了 2 个 msi。它安装2个服务。我使用的命令为“start /wait Installer.Package -q PASSWORD="pass"
    • 你在刻录包中吗??
    • 是的。使用带有 2 msi 的 wix 引导程序包。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-15
    • 1970-01-01
    • 2013-12-17
    • 1970-01-01
    • 2019-05-28
    相关资源
    最近更新 更多