2
我想要一個引導程序安裝.NET 4.5(如果不可用),然後再安裝我的setup.msi。如果機器有.NET 4.5,那麼我只想安裝產品setup.msi。WiX引導程序應用程序
以下是我的代碼:
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Bundle Name="AAA" Version="1.0.0.0" UpgradeCode="8DA460D6-B4CB-4ED0-A1FE-44F269070647">
<BootstrapperApplicationRef Id="ManagedBootstrapperApplicationHost">
</BootstrapperApplicationRef>
<Chain>
<PackageGroupRef Id="Netfx45FullP"/>
<MsiPackage Compressed="yes" Vital="yes" Id="PMService" Cache="yes" Visible="no"
SourceFile="C:\Users\abc.msi">
</MsiPackage>
</Chain>
</Bundle>
<Fragment>
<WixVariable Id="WixMbaPrereqPackageId" Value="Netfx45Full" />
<WixVariable Id="WixMbaPrereqLicenseUrl" Value="NetfxLicense.rtf" />
<util:RegistrySearch Root="HKLM" Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full" Value="Version" Variable="Netfx4FullVersion" />
<util:RegistrySearch Root="HKLM" Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full" Value="Version" Variable="Netfx4x64FullVersion" Win64="yes" />
<PackageGroup Id="Netfx45FullP">
<ExePackage Id="Netfx45" Cache="no" Compressed="yes" PerMachine="yes" Permanent="yes" Vital="yes"
InstallCommand="/q"
SourceFile="dotNetFx45_Full_x86_x64.exe"
DetectCondition="(Netfx4FullVersion="4.5.50709") AND (NOT VersionNT64 OR (Netfx4x64FullVersion="4.5.50709"))"
InstallCondition="(VersionNT >= v6.0 OR VersionNT64 >= v6.0) AND (NOT (Netfx4FullVersion="4.5.50709" OR Netfx4x64FullVersion="4.5.50709"))"/>
</PackageGroup>
</Fragment>
</Wix>
感謝您的回覆Rob Mensching我想檢測條件,因爲我的要求是...如果.net框架沒有安裝在機器中,我的引導程序想安裝.net frmaework,然後安裝產品。如果機器已經有.net框架,那麼......它只是想安裝產品安裝程序..我有點糊塗......你能清楚這一點嗎?而且它仍然無法正常工作 – Programmer 2013-03-19 04:02:05