Hi, I'm trying to get Burn to install .Net 4.0.3 - if it is not already installed - prior to kicking off my managed bootstrapper, which itself specifically requires 4.0.3 to run properly.
I've included <PackageGroupRef Id="NetFx40Web" /> in my bundle, and that works fine in general and installs 4.0.3; however, the problem occurs when a user already has .Net 4 but *NOT* Platform Update 3. The check in WixNetFxExtension to install .Net Framework rightly evaluates as false because .Net Framework 4 is already installed. In order to work around this for my purposes, I've tried modifying the WixNetFxExtension source to add a check for Platform Update 3, and install it if it isn't present: Snippet from modified NetFx4.wxs: <Fragment> <util:RegistrySearch Id="NETFRAMEWORK40" Variable="NETFRAMEWORK40" Root="HKLM" Key="SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" Value="Install" Result="value" /> * <util:RegistrySearch Id="NETFRAMEWORK40PU3" Variable="NETFRAMEWORK40PU3" Root="HKLM" Key="SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.0.3" Result="exists" /> * </Fragment> <Fragment> <util:RegistrySearchRef Id="NETFRAMEWORK40"/> <util:RegistrySearchRef Id="NETFRAMEWORK40PU3"/> <WixVariable Id="WixMbaPrereqPackageId" Value="NetFx40Web" /> <WixVariable Id="WixMbaPrereqLicenseUrl" Value="$(var.NetFx40EulaLink)" /> <PackageGroup Id="NetFx40Web"> <ExePackage InstallCommand="/q /norestart /ChainingPackage "[WixBundleName]"" RepairCommand="/q /norestart /repair /ChainingPackage "[WixBundleName]"" UninstallCommand="/uninstall /q /norestart /ChainingPackage "[WixBundleName]"" PerMachine="yes" DetectCondition="NETFRAMEWORK40" Id="NetFx40Web" Vital="yes" Permanent="yes" Protocol="netfx4" DownloadUrl="$(var.NetFx40WebLink)" Compressed="no" Name="redist\dotNetFx40_Full_setup.exe"> <RemotePayload Size="889416" Version="4.0.30319.1" ProductName="Microsoft .NET Framework 4" Description="Microsoft .NET Framework 4 Setup" CertificatePublicKey="672605E36DD71EC6B8325B91C5FE6971390CB6B6" CertificateThumbprint="9617094A1CFB59AE7C1F7DFDB6739E4E7C40508F" Hash="06BECADB92A5FCCA2529C0B93687C2A0C6D0D610"/> </ExePackage> * <ExePackage PerMachine="yes" DetectCondition="NETFRAMEWORK40PU3" Id="NetFx403Web" Vital="yes" Permanent="yes" SourceFile="X:\Wix Installer\Merge Modules\NDP40-KB2600211-x86-x64.exe" Compressed="yes" />* </PackageGroup> </Fragment> Regrettably this isn't working - the platform update doesn't get installed at all. Any ideas where I'm going wrong? Is there a simpler way to do this? Any help would be very much appreciated! Cheers, Scottie -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Installing-Net-4-0-3-Prerequisites-required-for-managed-bootstrapper-tp7599019.html Sent from the wix-users mailing list archive at Nabble.com. ------------------------------------------------------------------------------ Dive into the World of Parallel Programming. The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users