2012-12-05 77 views
4

我有一個Wix安裝程序和引導程序應用程序來安裝我的應用程序和服務。作爲先決條件,我需要安裝.NET 2.0 SP2框架,並試圖檢測使用以下codesnippet:Wix引導程序不會檢測已安裝的.NET框架

<Chain> 
     <PackageGroupRef Id='Netfx2Package' /> 
     <MsiPackage SourceFile="..\Wix.CHL7.Dispatcher.Service.AZHF\bin\Debug\Wix.CHL7.Dispatcher.Service.AZHF.msi" Id="Wix.CHL7.Dispatcher.Service.AZHF_PackageId" Cache="yes" Visible="no"> 
     <MsiProperty Name="INSTALLDIR" Value="[INSTALLPATH]" /> 
     <MsiProperty Name="WixAppFolder" Value="[INSTALLSCOPE]"/> 

     </MsiPackage> 
    </Chain> 
    </Bundle> 

    <Fragment> 
    <WixVariable Id="WixMbaPrereqPackageId" Value="Netfx2Package" /> 
    <WixVariable Id="WixMbaPrereqLicenseUrl" Value="NetfxLicense.rtf" />  

    <PackageGroup Id="Netfx2Package"> 
     <ExePackage Id="Netfx2Exe" 
        Cache="no" 
        Compressed="no" 
        PerMachine="yes" 
        Permanent="yes" 
        Vital="yes" 
        SourceFile="C:\Installation\Wix.CHL7.Dispatcher.Service.Bootstrapper\lib\NetFx20SP2_x86.exe" 
        DownloadUrl="http://download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x86.exe" 
        DetectCondition="NETFRAMEWORK20" 
        InstallCondition="FALSE"/> 
    </PackageGroup> 
    </Fragment> 

當我運行的已安裝.NET 2.0 SP2的計算機上安裝程序(檢查在註冊表中)我的安裝程序想要下載和安裝框架。

我認爲我的DetectCondition不正確,但似乎找不到解決我的問題的正確方法。 那麼如何檢測.NET 2.0 SP2是否安裝在我的引導程序中?

在此先感謝!

W

回答

5

確保您正確引用NetFxExtension。

來源:WixNetfxExtension

使用WixNetfxExtension屬性要在MSI使用WixNetfxExtension 性質,使用以下步驟:

添加PropertyRef元素上面要在使用 所列項目的MSI。在調用light.exe時添加-ext命令行參數 ,以將MSI鏈接過程中的WixNetfxExtension包含在 中。

例如:

<PropertyRef Id="NETFRAMEWORK20" /> 

此外,你可能想使用該屬性NETFRAMEWORK20_SP_LEVEL如果需要SP2才能獲得相應的服務包級別。在排除故障時,我還會檢查安裝日誌,看它是否指示屬性值設置爲。

相關問題