Wix 如何从命令提示符中查找已执行MSI的状态

Wix 如何从命令提示符中查找已执行MSI的状态,wix,wix3.6,windows-installer,Wix,Wix3.6,Windows Installer,我已经使用WiX创建了一个安装程序,它将使用命令提示符执行。我要寻找的是一种方法,可以在使用命令提示符执行时检查相同文件的状态,而无需检查事件日志或安装程序日志 找到下面的代码片段 <Property Id="ISSQLSERVERINSTALLED"> <RegistrySearch Id="IsSqlExpressServiceInstalled" Root="HKLM" Key="SOFTWARE\Microsoft\Microso

我已经使用WiX创建了一个安装程序,它将使用命令提示符执行。我要寻找的是一种方法,可以在使用命令提示符执行时检查相同文件的状态,而无需检查事件日志或安装程序日志

找到下面的代码片段

<Property Id="ISSQLSERVERINSTALLED">
  <RegistrySearch Id="IsSqlExpressServiceInstalled" Root="HKLM"
                  Key="SOFTWARE\Microsoft\Microsoft SQL Server\90\Tools\ClientSetup\CurrentVersion"
                  Name="CurrentVersion" Type="raw"/>
</Property>
<Condition Message="Microsoft SQL Server 2005 must be installed">
  <![CDATA[ Installed OR ISSQLSERVERINSTALLED ]]>
</Condition>

我正在使用msiexec/I命令安装软件包,安装后我检查了%errorlevel%变量,但即使安装失败,它也返回0。是否有任何方法可以在条件中设置错误代码,或者有任何其他方法可以检查安装状态


提前感谢

如果启动条件失败,%errorlevel%将设置为1603。创建一个安装日志,了解真正出错的细节。

正如Ciprian所说,您可以使用
msiexec/i“C:\…\setup.msi”/l*xv log.txt
启用日志记录。然后使用
net helpmsg 0000
了解每个错误消息的含义。例如1603是安装过程中的致命错误。谢谢回复,但我不想使用日志。我想要的是,运行msiexec/I msiname.msi后检查errorlevel当我通过命令行msiexec/I msiname.msi运行msi时,它会给出消息“Microsoft SQL Server 2005必须安装”,这是在上述代码中指定的。但是我在同一个命令行窗口中运行echo%errorlevel%,它给出了“0”,我希望出现一些类似1603的错误代码