For the older versions of the Framework I always used the reg detection mechanism which was also the Microsoft recommended way (Sorry don't know the MSDN reference at the moment). InstallShield also uses the reg detection for 4.0 versions: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client Install = 1 for client profile and for full one HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full Install = 1
> My (simple) application should continue to work on future versions of > the .NET Framework and I don't want to require users to install an > ancient version of .NET in 5 years, like some applications that > still insist on having .NET 1.1.4322 installed. Think here the problem is that you don't know what is the policy used by Microsoft for compatibility of the managed components with newer framework versions. So for example 2.0 components may also work with 4.0 Framework (where no 2.0 Framework is present - somehow a bit seldom but possible with XP SP3). So in my oppinion for the 4.0 Framework should detect exactly version 4.0 to ensure compatibility of the application with the framework it was tested with. 2010/9/8 Bruce Cran <br...@cran.org.uk>: > On Wed, 8 Sep 2010 11:17:29 +0100 > "Nick Ball" <nick.b...@grantadesign.com> wrote: > >> The package that comes with Visual Studio (which I assume you are >> currently using) does the same registry check. From the product.xml >> file: >> >> <InstallChecks> >> <RegistryCheck Property="DotNet40Full_TargetVersion" >> Key="HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full" >> Value="Version" /> >> </InstallChecks> > > Actually I'm using dotNetBootstrapper to install the Client > Profile, since I dislike the Visual Studio bootstrapper - both the fact > that it requires multiple files to work, and it needs a copy of Visual > Studio to build it. > >> BTW, take a look in that file, and you'll see how to launch the >> package specifying /q etc: > > Yes, I'm already using "/q /norestart" when bootstrapping .NET and VC++ > 2010 - unfortunately it seems /passive is broken otherwise I'd use that. > > It seems I jumped to the wrong conclusion regarding Burn: it appears > from the code that it just does a LoadLibrary() and that'll be why it's > seeing the old version from system32. > > -- > Bruce Cran > > ------------------------------------------------------------------------------ > This SF.net Dev2Dev email is sponsored by: > > Show off your parallel programming skills. > Enter the Intel(R) Threading Challenge 2010. > http://p.sf.net/sfu/intel-thread-sfd > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > ------------------------------------------------------------------------------ This SF.net Dev2Dev email is sponsored by: Show off your parallel programming skills. Enter the Intel(R) Threading Challenge 2010. http://p.sf.net/sfu/intel-thread-sfd _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users