The bootstrapper should run and install the indicated prerequisite packages before launching your MSI. Thus, your original launch condition looks appropriate. However, launching the MSI does not run the bootstrapper, as the MSI can't realistically install prerequisites.
In your testing, are you launching the bootstrapper or the MSI? -----Original Message----- From: Jason Ding [mailto:jas...@geo-slope.com] Sent: Thursday, June 17, 2010 3:46 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Install .Net Framework 4 My launch condition in the .wxs file is: <PropertyRef Id="NETFRAMEWORK40CLIENT"/> <Condition Message="[ProductName] requires Microsoft .NET Framework version 4.0 to run, click the OK button below to install."> <![CDATA[Installed OR NETFRAMEWORK40CLIENT]]> </Condition> And in my wix project file, I ask Bootstrapper to install .NetFramework 4.0 Client, I think that is why the install fails because it checks if ".NetFramework 4.0 Client" exists, and it doesn't on my test machine, so the install fails before going ahead to instead ".NetFramework 4.0 Client". I changed the launch condition to be NETFRAMEWORK20, now I can install successfully, but when I run the problem, it asks to install .NetFramework 4.0. So my questions are: 1. when I ask bootstrapper to install ".NET Framework 4.0 Client", can I use ".NET Framework 4.0 Client" as the launch condition? 2. when I change launch condition to be an early version, like .NetFramewrok 2.0, why the install doesn't install .NetFramwork 4.0 Client, which is what Bootstrapper supposed to do? Below is the my code on Bootstrapper in the wixproj file. Many thanks for any help? <ItemGroup> <BootstrapperPackage Include=".NETFramework,Version=v4.0,Profile=Client"> <Visible>False</Visible> <ProductName>.NET Framework 4.0 Client</ProductName> <Install>True</Install> </BootstrapperPackage> <BootstrapperPackage Include="Microsoft.Windows.Installer.4.5"> <Visible>False</Visible> <ProductName>Windows Installer 4.5</ProductName> <Install>true</Install> </BootstrapperPackage> </ItemGroup> ... <Target Name="AfterBuild"> <GenerateBootstrapper ApplicationFile="$(TargetFileName)" ApplicationName="My Application Name" BootstrapperItems="@(BootstrapperPackage)" ComponentsLocation="Relative" CopyComponents="True" OutputPath="$(OutputPath)" Path="C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\"/> </Target> -----Original Message----- From: Blair [mailto:os...@live.com] Sent: June 17, 2010 4:33 PM To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] Install .Net Framework 4 What specifically is your LaunchCondition associated with that error text? -----Original Message----- From: Jason Ding [mailto:jas...@geo-slope.com] Sent: Thursday, June 17, 2010 2:24 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Install .Net Framework 4 Here is the log by using /L*vx options, i.e., all messages, it does indicate the LaunchConditions fails, but does anyone have a clue why it fails? Thanks. MSI (c) (6C:04) [15:18:29:270]: Doing action: LaunchConditions Action 15:18:29: LaunchConditions. Evaluating launch conditions Action start 15:18:29: LaunchConditions. GeoStudio 2010 requires Microsoft .NET Framework version 4.0 to run, click the OK button below to install. MSI (c) (6C:04) [15:18:30:996]: Product: GeoStudio 2010 -- GeoStudio 2010 requires Microsoft .NET Framework version 4.0 to run, click the OK button below to install. Action ended 15:18:30: LaunchConditions. Return value 3. MSI (c) (6C:04) [15:18:30:996]: Doing action: FatalError -----Original Message----- From: Jason Ding [mailto:jas...@geo-slope.com] Sent: June 17, 2010 3:12 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Install .Net Framework 4 I got a log file by using /Lime log options. Looks like it fails at LaunchConditions, but it doesn't get me error details, does anyone have a clue? Thanks. === Logging started: 17/06/2010 15:06:06 === Action start 15:06:06: INSTALL. Action start 15:06:06: FindRelatedProducts. Action ended 15:06:06: FindRelatedProducts. Return value 1. Action start 15:06:06: PrepareDlg. Info 2898. For WixUI_Font_Normal textstyle, the system created a 'Tahoma' font, in 0 character set, of 13 pixels height. Info 2898. For WixUI_Font_Bigger textstyle, the system created a 'Tahoma' font, in 0 character set, of 19 pixels height. Action ended 15:06:06: PrepareDlg. Return value 1. Action start 15:06:06: AppSearch. Action ended 15:06:06: AppSearch. Return value 1. Action start 15:06:06: LaunchConditions. App requires Microsoft .NET Framework version 4.0 to run, click the OK button below to install. MSI (c) (1C:30) [15:06:08:246]: Product: App -- App requires Microsoft .NET Framework version 4.0 to run, click the OK button below to install. Action ended 15:06:08: LaunchConditions. Return value 3. Action start 15:06:08: FatalError. Action ended 15:06:10: FatalError. Return value 2. Action ended 15:06:10: INSTALL. Return value 3. === Logging stopped: 17/06/2010 15:06:10 === MSI (c) (1C:30) [15:06:10:399]: Product: App -- Installation failed. -----Original Message----- From: Jason Ding [mailto:jas...@geo-slope.com] Sent: June 17, 2010 12:11 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Install .Net Framework 4 Thanks Blair for pointing to the place. When I install on a test machine, I still get the error saying like "setup wizard ended prematurely because of an error. Your system has not been modified. .." Cannot figure out why. Here is my code. Can someone help out if you see somewhere obviously wrong? Thanks. <ItemGroup> <BootstrapperPackage Include=".NETFramework,Version=v4.0,Profile=Client"> <Visible>False</Visible> <ProductName>.NET Framework 4.0 Client</ProductName> <Install>True</Install> </BootstrapperPackage> <BootstrapperPackage Include="Microsoft.Windows.Installer.4.5"> <Visible>False</Visible> <ProductName>Windows Installer 4.5</ProductName> <Install>true</Install> </BootstrapperPackage> </ItemGroup> ... <Target Name="AfterBuild"> <GenerateBootstrapper ApplicationFile="$(TargetFileName)" ApplicationName="My Application Name" BootstrapperItems="@(BootstrapperPackage)" ComponentsLocation="Relative" CopyComponents="True" OutputPath="$(OutputPath)" Path="C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\"/> </Target> -----Original Message----- From: Blair [mailto:os...@live.com] Sent: June 17, 2010 11:55 AM To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] Install .Net Framework 4 Look in the Bootstrapper folder, under the Packages subfolder. Each folder in the Packages folder contains a bootstrapper package. Each package directory contains a Product.xml file. The root node of those files is named Product. It has a ProductCode attribute. The value of that attribute is the value you need in the "Include" attribute of your BootstrapperPackage element in your *proj file. ---------------------------------------------------------------------------- -- ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ Thanks John for reply. 1. I tried John's solution, it builds fine, but when I install it fails "Setup ended prematurely because of an error. Does John or anyone else know why? 2. If I use BootstrapperPackage for 4.0, like this: <BootstrapperPackage Include=".NETFramework,Version=v4.0"> how can I specify 4.0 Client, neither <BootstrapperPackage Include=".NETFramework.Client,Version=v4.0"> nor <BootstrapperPackage Include=".NETFramework,Version=v4.0 Client"> is working. 3. Does anyone know where I can find out the property values for different .NetFramework versions? For example, in <BootstrapperFile Include="Microsoft.Net.Framework.4.0"> We use Microsoft.Net.Framework.4.0 for 4.0 and Microsoft.Net.Client.3.5 for 3.5 Client, when I use Microsoft.Net.Client.4.0, it gives me warning MSB3155: Item 'Microsoft.Net.Client.4.0' could not be located in 'C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\' I wonder there must be a place I can find out the standard value for each version, can someone help? Thanks. -----Original Message----- From: John Vottero [mailto:jvott...@mvpsi.com] Sent: June 16, 2010 5:03 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Install .Net Framework 4 This works for me: <ItemGroup> <BootstrapperPackage Include=".NETFramework,Version=v4.0"> <Visible>True</Visible> <ProductName>.NET Framework 4.0</ProductName> <Install>True</Install> </BootstrapperPackage> </ItemGroup> > -----Original Message----- > From: Jason Ding [mailto:jas...@geo-slope.com] > Sent: Wednesday, June 16, 2010 6:51 PM > To: wix-users@lists.sourceforge.net > Subject: [WiX-users] Install .Net Framework 4 > > I am tring to use Bootstrapper to install .Net Framework 4.0 by using > a sample from this site: > http://wix.sourceforge.net/manual-wix3/install_dotnet.htm > > I got a message like this: > > warning MSB3155: Item 'Microsoft.Net.Framework.4.0' could not be > located in 'C:\Program Files (x86)\Microsoft > SDKs\Windows\v7.0A\Bootstrapper\ > > Under the folder Bootstrapper/Packages, I have DotNetFX40 and > DotNetFX40Client sub-folders. > I am wondering if Microsoft.Net.Framework.4.0 is the correct > BootstrapperFile name to use? Does anyone know where I can find the > name for each .Net Framework Fix, like Microsoft.Net.Framework.3.5 for > .Net Framework 3.5 ? > > Here is the code I am using, looks good to me unless the name in > BootstrapperFile Include is wrong. Thanks for help. > > > <ItemGroup> > <BootstrapperFile Include="Microsoft.Net.Framework.4.0"> > <ProductName>.NET Framework 4</ProductName> > </BootstrapperFile> > <BootstrapperFile Include="Microsoft.Windows.Installer.4.5"> > <ProductName>Windows Installer 4.5</ProductName> > </BootstrapperFile> > </ItemGroup> > ... > ---------------------------------------------------------------------------- -- ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ---------------------------------------------------------------------------- -- ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ---------------------------------------------------------------------------- -- ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ---------------------------------------------------------------------------- -- ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ---------------------------------------------------------------------------- -- ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ---------------------------------------------------------------------------- -- ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ---------------------------------------------------------------------------- -- ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users