2014-10-29 90 views
0

我正在爲仍然支持Windows Server 2003的產品的安裝程序工作,至少稍微長一點。我想確保存在Windows Installer 4.5或更高版本,因爲包含的SQL Server Express安裝程序將會失敗,並顯示較舊版本的Windows Installer。我將下面的Condition加到我的WiX 3.8 Burn Bundle,但它沒有觸發。爲什麼不是WiX Burn評估基於VersionMsi的條件?

<bal:Condition Message="This software requires Windows Installer 4.5."> 
    <![CDATA[VersionMsi >= v4.5]]> 
</bal:Condition> 

我已經在那裏我安裝測試,以驗證Windows安裝程序3.01存在於虛擬機上運行msiexec -?。我確保包含xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"聲明和參考WixBalExtension.dll。我還驗證了以下類似的情況,我允許驗證是否安裝了.NET Framework 4。

<bal:Condition Message="This software requires Microsoft .NET Framework 4.0."> 
    <![CDATA[NETFRAMEWORK40FULL]]> 
</bal:Condition> 

VersionMsiBurn built-in variables之一,所以我不知道爲什麼我的條件不工作。 This exchange似乎表示我在正確的軌道上,但我還沒有到達。任何想法,將不勝感激。

回答

0

如果您因爲1708錯誤而到達此處,那麼您可能需要特定的MSI 4.5更新。

在這些情況下,您需要明確測試msi.dll的版本,而不是VersionMSI變量。

有關每個MSI更新程序包的正確條件,請參閱Windows SDK中Windows Installer 4.5的單擊引導程序包清單。