[WiX-users] Struggling with a bootstrapper application for .NET prerequisites installation
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
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
[WiX-users] Adding VSC++ 2008 Runtime to WIX projects causes permanent rebuild
Hi, I've created a WIX project in my solution that works as expected, especially it rebuilds only if one of the projects it depends on changes. Now I've added the C++ runtime as a merge module, and now the WIX project is rebuilt every time I build the solution. Here's what I added to my wxs: DirectoryRef Id=TARGETDIR Merge Id=VCRedist SourceFile=$(env.CommonProgramFiles)\Merge Modules\Microsoft_VC90_CRT_x86.msm DiskId=1 Language=0/ /DirectoryRef Feature Id=VCRedist Title=Visual C++ 8.0 Runtime AllowAdvertise=no Display=hidden Level=1 MergeRef Id=VCRedist/ /Feature This is exactly as described in the WIX help. The rest of my wxs is rather straightforward, a number of components that all go into a folder created inside the program files folder. I can't spot the problem. Does anyone else have an idea? I tried to find something in the diagnostic build log in Visual Studio, but I didn't see anything obvious. Just in case it helps, I have attached my wxs files (one is generated from heat, the other one is hand-written). 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
Re: [WiX-users] Struggling with a bootstrapper application for .NET prerequisites installation
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
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