[WiX-users] Struggling with a bootstrapper application for .NET prerequisites installation

2011-11-07 Thread Mathias Bauer
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
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Struggling with a bootstrapper application for .NET prerequisites installation

2011-11-07 Thread Mathias Bauer
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


Re: [WiX-users] Struggling with a bootstrapper application for .NET prerequisites installation

2011-11-07 Thread Mathias Bauer
On 03.11.2011 02:18, Bob Arnson wrote:
 On 02-Nov-11 07:55, Mathias Bauer wrote:

 [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.

 Try putting a v in front of the version number; Burn then treats it
 explicitly as a version.

Is it only me or who can't find it, or is there no description of the 
syntax that can be used in conditions?


 (2) Uninstalling always tries to remove .NET
 Add @Permanent=yes to the ExePackage.

Thanks a lot!
I overlooked that in the help file.

Regards,
Mathias


--
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


[WiX-users] Struggling with a bootstrapper application for .NET prerequisites installation

2011-11-02 Thread Mathias Bauer
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#174; Conference 2012
Save $700 by Nov 18
Register now#33;
http://p.sf.net/sfu/rsa-sfdev2dev1
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Struggling with a bootstrapper application for .NET prerequisites installation

2011-11-02 Thread Bob Arnson
On 02-Nov-11 07:55, Mathias Bauer wrote:

 [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.

Try putting a v in front of the version number; Burn then treats it 
explicitly as a version.

 (2) Uninstalling always tries to remove .NET
Add @Permanent=yes to the ExePackage.

-- 
sig://boB
http://joyofsetup.com/


--
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