[wix-users] Sanity Check: Bundling Visual C++ 2019 Redistributables

Bob Arnson bob at firegiant.com
Thu May 7 11:59:00 PDT 2020


Yes, avoid the merge modules. That how-to is way dated and should be removed: https://github.com/wixtoolset/issues/issues/6171

Consider bundling the vcredist .exe, static linking, app-local deployment.

-----Original Message-----
From: wix-users <wix-users-bounces at lists.wixtoolset.org> On Behalf Of Bryan Dam via wix-users
Sent: Thursday, 7 May, 2020 14:43
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Cc: Bryan Dam <bryand at recastsoftware.com>
Subject: [wix-users] Sanity Check: Bundling Visual C++ 2019 Redistributables

There's a lot of information out there on this and it would appears that some of it is dated so I would appreciate a quick sanity check that I'm understanding the current situation correctly.

Our goal: The latest release of our agent software is adding a small component written in C++ and thus depends on the Visual C++ 2019 x64 Redistributable.  We expect our agent to be installed on older Windows OS's including both workstation and server.  It will be widely distributed within organizations so we want this bundled with the installer and not downloaded.

The WiX solution outlined in the docs (here<https://wixtoolset.org/documentation/manual/v3/howtos/redistributables_and_install_checks/install_vcredist.html>) is to use the Visual Studio merge modules.
Microsoft recommends not using them (with certain exceptions): "We recommend that you not use merge modules" (here<https://docs.microsoft.com/en-us/cpp/windows/redistributing-components-by-using-merge-modules?view=vs-2019>)
In Visual Studio 2015 they introduced Universal CRT which is built into Win 10+ but not included in any merge modules (here<https://devblogs.microsoft.com/cppblog/introducing-the-universal-crt/>).
WiX doesn't have something similar to WixNetfxExtension for C++ redistributables.

What I think that all means is that we need to move the current MSI installer to a bundle to run Microsoft's VC++ 2019 x64 installer.

One alternative I saw mentioned was to include all the Universal CRT dll with our application so we can stil rely on the merge modules.  That seems less than ideal to me; I'd prefer not to be responsible for maintaining/updating those.

In any case, does that all sound correct or did I miss something along the line?

       Thanks all,
             Bryan



____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/



More information about the wix-users mailing list