I have a WIX bootstrapper application that installs a Windows Service (MSI) and an EXE. I've been trying to check for the presence of the .NET 4.0 framework as a prerequisite for the windows service installer. I would like to stop the installer if the framework is not present and point them to where they can download it. Currently the service installer ignores the condition and tries to install the service regardless if the framework is present or not.
This snippet is in the windows service installer:
<Product Id="*" Name="TestService" Language="1033" Version="1.0.0.1" Manufacturer="xxxxxx" UpgradeCode="<xxxxxxxx">
<PropertyRef Id="NETFRAMEWORK40FULL" />
<Condition Message="You need to have the .NET 4.0 Framework installed">
<![CDATA[Installed OR NETFRAMEWORK40FULL]]>
</Condition>
</Product>
This snippet is from the Bootstrapper:
<Bundle Name="BundledInstall" Version="1.0.0.0"
UpgradeCode="xxxxxx">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">
<bal:WixStandardBootstrapperApplication
LicenseFile="xxxxxxxx"
LogoFile="xxxxxxxx"
/>
</BootstrapperApplicationRef>
<Chain>
<PackageGroupRef Id="MyPackage" />
<PackageGroupRef Id="ServicePackage" />
</Chain>
</Bundle>
<Fragment>
<PackageGroup Id="ServicePackage">
<MsiPackage
SourceFile="C:\Users\Max\dev\wix\pappBootstrapper\sebService.msi" Cache="no" ForcePerMachine="yes">
</MsiPackage>
</PackageGroup>
</Fragment>
Thanks for the help.