Thanks for this! I'm getting mixed results though with C++ 2012, 2013 and 2015: - for version 2012 the currently installed version is not upgraded - for version 2013 the currently installed version is not removed - for version 2015 the currently installed version is not upgraded See attachment. I just ran the installer without any switches. Am I missing something? I've already tried rebooting and running the installer again. This is on Windows 10 1803.
Ah, crap... I always delete the contents of folder "Package Cache" on reboot. Fixed manually now by reinstalling/repairing currently installed versions and updating them using your script afterwards. Thanks for the swift reply!
Question, does it always remove old versions of the different redistributables or only when the last version is not installed? Here are some more details, I have a machine in which every program were using either the redist came with in their own folder or the latest version installed by this pack. However I had to install OmniPage and came bundled with a couple of installers of older versions that didn't really care if a newer one was already installed, they installed themselves as well. So I thought I'd be easier to run the setup for the pack again to get rid of them but I got just a message saying that all installed versions were compliant. Could it be OmniPage's fault using some custom installer for the redists? Although they seemed to be the regular ones ran unattended. I'm uploading a screenshot of what's installed right now, which may make it clearer to understand (and if you need me to check something you just need to tell).
Well, the original exe installers for 2012/2013/2015/2017 will be always checked and removed however, for msi installers, it depend on the detected product code and the files version for 2010/2012/2013/2015/2017 the latest version should takes presedence normally what makes it harder for 2005/2008 is that they are side-by-side packages (i.e. installed to WinSxS) so multiple versions can be installed/coexist together the script only check if the included version is installed, and move on but i will try to find a way to check and uninstall old 2005/2008 versions, even if latest is installed thanks for reporting
As shown in the list, since VC++ 2012 the redist is splitted into two runtime packages, Minimum and Additional they are the real MSI installers that deploy the runtime files the original exe installer is just a WiX wrapper/handler that will have the main entry in "Add Remove Program" list it bundles the two MSI packages, which also have ARP entry, but it's hidden when you install original setup with lower runtime version (as in your situation), only the wix wrapper will be cached and registered, no MSI packages will be installed (because it detect higher version package exist) the runtime files (e.g. C:\Windows\System32\mfcm140.dll) will still be the same higher version from the repack only 2005/2008 are side-by-side packages and allow multiple versions all other redists only allow one version files so removing these old versions does not actually affect the real runtime files those programs (like Logit) should rely on the runtime files version for detection, not the original setup registration unfortunately, removing the cached setup installers will also remove the registry entries for all related MSI packages (but not the runtime files themselves) that's why the repack reinstall the latest Minimum/Additional runtime packages with current date i hope this explanation in not too confusing the point of the Repack is to get rid of the original setup payload and only install the latest real runtime packages if that sound too messy or not good enough, i think there are some AIO repacks that install the original redist setups as-is like the one from BALTAGY
The honest truth is I no longer depend on Microsoft to supply updates for C++, rather I come here to see if you've updated your development @abbodi1406 Thank you for making my life and the life of so many here on MDL, that much easier. It really was always appreciated and your hard work and effort never went unnoticed.