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

Reply via email to