【问题标题】:Msiexec fails to run (command generated with NANT)Msiexec 无法运行(使用 NANT 生成的命令)
【发布时间】:2010-08-08 08:36:34
【问题描述】:

下面是用nant生成msiexec命令的:

> "<exec program="msiexec"
> timeout="1800000" verbose="true">
>             <arg line="/i &quot;${server.msi}&quot;" />
>             <arg line="TARGETDIR=&quot;${server.target.path}&quot;"
> />
>             <arg line="INSTALLDIR=&quot;${server.target.path}&quot;"
> />
>             <arg line="ALLUSERS=1" />
>             <arg line="/quiet" />
>             <arg line="/log &quot;${path::combine(log.path,
> 'Installation.Server.log')}&quot;" />"

        </exec>

生成的命令是: msiexec ( /i "S:\Work\Sources\Installation\Setup\LastBuild\WiseSetup Server.msi" TARGETDIR="C:\Program Files\MyProgs\Server" INSTALLDIR="C:\Program Files\MyProgs\Server" ALLUSERS =1; /quiet /log "C:\Projects\P3450\Environment\Logs\Installation.Server.log")

当删除 /quiet(或 /qn)时,此命令无法执行,它运行成功。否则它会给出错误: 外部程序失败:msiexec(返回码为 1619)

请注意,“(”和“)”已被删除,并且 /quiet 在那里运行成功!

【问题讨论】:

  • 从 cmd 窗口运行以下命令,查看 errorlevel 是否确实为 0 msiexec /i "S:\Work\Sources\Installation\Setup\LastBuild\WiseSetup Server.msi" TARGETDIR="C:\Program Files\MyProgs\Server" INSTALLDIR="C:\Program Files\MyProgs\Server" ALLUSERS=1 /quiet /log "C:\Projects\P3450\Environment\Logs\Installation.Server.log" echo %errorlevel% if error level 为 0,然后从 nant 使用硬编码参数运行相同的命令,它必须也能正常工作。然后开始用变量替换参数并在每次更改后运行 nant。

标签: xml nant windows-installer


【解决方案1】:

使用 /l*v 命令而不是只使用 /log 启用详细日志记录,打开您的 msi 日志文件(“Installation.Server.log”),然后搜索“return value 3”以直接跳转到安装位置安装程序失败。如果需要,您还可以使用 Windows 安装程序详细设置日志分析器来分析日志文件。

【讨论】:

    【解决方案2】:

    根据documentation,错误代码1619表示无法打开包。

    这通常意味着,在 nant 尝试执行 msiexec 时 文件上有其他东西打开了锁 - 如果其他人将 Windows 资源管理器打开到 S:\Work\Sources\Installation\Setup\LastBuild\WiseSetup Server.msi,这是一个常见问题在您的示例中,它可能只是尝试生成缩略图。

    在执行这个 nant 任务之前坚持一个超时/等待,看看是否有帮助,如果有,那么其他东西会保留你的文件 - 这也可以解释为什么当你手动运行命令时它会成功,锁定已经到那时才发布。

    【讨论】:

      猜你喜欢
      • 2011-12-20
      • 1970-01-01
      • 1970-01-01
      • 2014-04-11
      • 1970-01-01
      • 2021-05-28
      • 1970-01-01
      • 1970-01-01
      • 2013-03-11
      相关资源
      最近更新 更多