2013-03-22 60 views
2

我已經使用WiX創建了一個安裝程序,它將使用命令提示符執行。我正在尋找的是一種在不使用事件日誌或安裝程序日誌的情況下檢查使用命令提示符執行時的狀態的方法。如何從命令提示符找到執行的MSI的狀態

找到下面的代碼片段。

<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,即使安裝失敗。有沒有辦法在條件中設置錯誤代碼,或者有任何其他方法來檢查安裝的狀態?

在此先感謝

+1

正如Ciprian所說,您可以使用'msiexec/i「C:\ ... \ setup.msi」/ l * xv log.txt'來啓用日誌記錄。然後使用'net helpmsg 0000'來知道每個錯誤消息的含義。例如1603是安裝過程中的致命錯誤。 – Netfangled 2013-03-25 00:32:47

+0

感謝您的回覆,但我不想使用日誌。我想要的是,在運行msiexec/i msiname.msi後運行msiexec/i msiname.msi – 2013-03-25 05:58:05

回答

1

在的%ERRORLEVEL%設置爲1603創建安裝日誌上真正出問題的細節失敗的啓動條件的情況下。

+0

當我通過命令行msiexec/i msiname.msi運行msi時,它檢查上面代碼中指定的消息「Microsoft SQL Server 2005 must be installed」 。但是,然後我在同一個命令行窗口中運行echo%errorlevel%,它會給出'0',我期待一些錯誤代碼,如1603 – 2013-03-25 08:18:55

+0

創建安裝日誌 – Ciprian 2013-03-25 10:21:42