[wix-devs] v4 - which .NET Framework?

Bob Arnson bob at firegiant.com
Tue Aug 2 09:53:07 PDT 2016


We shouldn't support something we aren't testing, so let's not pretend we support XP. (I doubt the entire toolset works on XP anyway.)

Given that most folks installing WiX have the right framework anyway, I'd rather not spend too much time doing fancy stuff, unless it benefits the engine. I'm fine if we want to handle multiple framework redists as that's one way we can also handle the KB2919355 problem on Windows 8.1 (that blocks 4.6.1 without it). But it sounds like we need a way to ensure we don't install any framework if 4.0+ is installed and the BA can run.

The reason to avoid the Web redist is that it downloads uncompressed payloads and while it avoids downloading what it doesn't need (like Burn), any one cab it needs is bigger than the entire redist .exe. 

-----Original Message-----
From: wix-devs [mailto:wix-devs-bounces at lists.wixtoolset.org] On Behalf Of Sean Hall
Sent: Tuesday, 2 August, 2016 11:42
To: WiX Toolset Developer Mailing List <wix-devs at lists.wixtoolset.org>
Subject: Re: [wix-devs] v4 - which .NET Framework?

If we're going to target a lower version of .NET than the one that the bundle includes, then there's no reason for us to pick only one version of .NET for the bundle.  We can set it up such that it installs .NET 4.0 on XP SP3, .NET 4.6 on Vista SP2, and .NET 4.6.1 on Win 7 SP1 and later.

The question then becomes, what happens when there is no 4.x version of .NET installed on the machine and the version of .NET we have in the bundle can't be installed on the current OS.  For instance, 4.6.1 cannot be installed on completely unpatched versions of Windows (I don't remember off the top of my head which ones), it requires one (or more) Windows Updates and/or service packs.  Do we just pop up a message saying that they need to update their OS?  Do we ask them to enable the .NET feature in Windows, or add functionality to burn to do it ourselves?

Also, Phill mentioned switching to a Redist version.  I'm not sure where that came from, or why we would want to do that.  If that's because of layout, then I think there's a feature that could be written for Burn where it can support using a Web version for install and a Redist version for layout.

On Tue, Aug 2, 2016 at 10:21 AM, Rob Mensching <rob at firegiant.com> wrote:

> The primary goal is to avoid upgrading a machine's .NET Framework as 
> much as possible. So, if WiX Toolset can run on vanilla .NET Framework 
> v4.0 or
> v4.5 then we should do that.
>
> Think of the devs still using VS2010.
>
> So the BA should require the highest version of .NET Framework that 
> any of the WiX Toolset functionality require. When its requirements 
> are not met, it will fall back to installing a .NET Framework.
>
> Now. when we must install a .NET Framework, we should install a 
> supported version. We shouldn't put something on the user's machine 
> that is immediately going to need to be upgraded.
>
> In that light, v4.6.1 seemed like the most forward looking version to 
> install. But Phil points out that won't support Vista. So, I think we 
> should support v4.5.2. I don't really want to have people complaining 
> that their "Vista build machines" (as ever unlikely as that is) are 
> now broken because WiX Toolset won't just install. Yes, they could 
> manually go get a lower version of .NET Framework (and chances are 
> they already have one on the machine if it's a build machine) but it's 
> easier if we just pick a supported working version. I could be 
> convinced otherwise though if someone felt strongly about v4.6.1.
>
> -----Original Message-----
> From: wix-devs [mailto:wix-devs-bounces at lists.wixtoolset.org] On 
> Behalf Of Sean Hall
> Sent: Tuesday, August 2, 2016 7:51 AM
> To: WiX Toolset Developer Mailing List <wix-devs at lists.wixtoolset.org>
> Subject: [wix-devs] v4 - which .NET Framework?
>
> This is continuing the discussion started at 
> https://github.com/wixtoolset/wix4/pull/209.
>
> In order to avoid upgrading someone's NETFX just for WiX, we will need 
> to setup an InstallCondition for the .NET package.  This is because 
> those packages have no InstallCondition by default, so even if the BA 
> can run without going through the prereq bundle, the bundle is still 
> going to install the package we include.
>
> Bob said we should avoid installing anything below v4.5.2 because 
> that's the oldest supported version.  If we're caring about what 
> Microsoft supports, then why are we still targeting an unsupported 
> framework?  It seems like we're basically trying to get into the 
> position where our bundle never installs NETFX.  I think if we keep 
> targeting .NET 4 and only include .NET 4 in our bundle, we would almost never install NETFX anyway.
> ____________________________________________________________________
> WiX Toolset Developer Mailing List provided by FireGiant 
> http://www.firegiant.com/
>
____________________________________________________________________
WiX Toolset Developer Mailing List provided by FireGiant http://www.firegiant.com/


More information about the wix-devs mailing list