Sorry, I accidently sent this mail a second time. :-( Just ignore it.
Regards, Mathias On 07.11.2011 09:57, Mathias Bauer wrote: > Hi, > > I have some problems with using the new "burn" feature. I want to create > a bootstrapper that checks for a particular .NET version and then > eventually installs the missing prerequisite before it installs my own > application. > > If have two problems: > > (1) The "DetectCondition" for my .NET Webinstaller ExePackage doesn't > work as I want it to work > > I try to check the exact complete version number of the installed .NET > package. As I'm targetting .NET 3.0, I want to check if the installed > version is "3.0.30729.5420". Maybe my attempt is a little bit naive, but > from reading the documentation I couldn't find why this shouldn't work: > >> <?xml version="1.0" encoding="UTF-8"?> >> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" >> xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"> >> <Bundle Name="FoobarBootstrapper" Version="1.0.0.0" >> Manufacturer="FooBar" UpgradeCode="B8B07D94-4E16-4942-8EE1-3342C5CC22CD"> >> <BootstrapperApplicationRef >> Id="WixStandardBootstrapperApplication.RtfLicense" /> >> >> <util:RegistrySearch Id="FindDotNet30InstallRegValue" Root="HKLM" >> Key="SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup" >> Value="InstallSuccess" Variable="DotNet30InstallRegValue" /> >> <util:RegistrySearch Id="FindDotNet30Version" Root="HKLM" >> Key="SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup" Value="Version" >> Variable="DotNet30Version" /> >> >> <Chain> >> >> <ExePackage Id="DotNet3.0" Cache="no" Compressed="no" Vital="yes" >> PerMachine="yes" Name="DotNet3.0" SourceFile="DotNetFx3Setup.exe" >> DetectCondition="DotNet30InstallRegValue=1 AND >> DotNet30Version=3.0.30729.5420"/> >> <MsiPackage Id="ClientInstall" Cache="no" Compressed="no" >> Name="FoobarInstall" SourceFile="foobar.msi" Vital="yes" /> >> >> </Chain> >> >> </Bundle> >> </Wix> > > This is the result I get in the log file on a system that has the > desired version installed: > >> [0BBC:11CC][2011-11-02T12:47:18]: Setting string variable >> 'DotNet30InstallRegValue' to value '1' >> [0BBC:11CC][2011-11-02T12:47:18]: Setting string variable 'DotNet30Version' >> to value '3.0.30729.5420' >> [0BBC:11CC][2011-11-02T12:47:18]: Detected related bundle: >> {732f16dc-46cd-4f24-8b55-a5c4f0e9b03e}, scope: PerMachine, version: 1.0.0.0, >> operation: None >> [0BBC:11CC][2011-11-02T12:47:18]: Error 0x8007000d: Failed to parse >> condition "DotNet30InstallRegValue=1 AND DotNet30Version=3.0.30729.5420". >> Unexpected character at position 47. > > I also tried without the "AND" condition, just with the second half of > my condition, but the result is the same. > > Does anybody have an idea what might be wrong here? > > (2) Uninstalling always tries to remove .NET > > If I just check for the presence of .NET 3.0 without checking the exact > version, I can successfully install my application on a computer where > .NET 3.0 is already installed. But when I try to uninstall the > bootstrapper, it always tries to uninstall .NET 3.0 also. As this is not > possible on Windows 7 (at least not that way), the whole uninstall > process fails and I can't uninstall my application. > > Can someone explain me what I'm doing wrong here? > > TIA, > Mathias > > > ------------------------------------------------------------------------------ > RSA(R) Conference 2012 > Save $700 by Nov 18 > Register now > http://p.sf.net/sfu/rsa-sfdev2dev1 ------------------------------------------------------------------------------ RSA(R) Conference 2012 Save $700 by Nov 18 Register now http://p.sf.net/sfu/rsa-sfdev2dev1 _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users