[Repack] Visual C++ Redistributable Runtimes [2019-07-16]

Discussion in 'Application Software' started by abbodi1406, Mar 9, 2018.

  1. l33tissw00t

    l33tissw00t MDL Addicted

    Dec 6, 2012
    800
    496
    30
  2. mOBSCENE

    mOBSCENE MDL Junior Member

    Feb 9, 2010
    68
    39
    0
    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.
     

    Attached Files:

    • C++.png
      C++.png
      File size:
      51.6 KB
      Views:
      59
  3. mOBSCENE

    mOBSCENE MDL Junior Member

    Feb 9, 2010
    68
    39
    0
    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!
     
  4. KaoDome

    KaoDome MDL Novice

    Jul 31, 2009
    30
    12
    0
    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).
     

    Attached Files:

  5. abbodi1406

    abbodi1406 MDL KB0000001

    Feb 19, 2011
    9,676
    36,454
    300
    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
     
  6. TairikuOkami

    TairikuOkami MDL Addicted

    Mar 15, 2014
    859
    762
    30
    #109 TairikuOkami, Jul 8, 2018
    Last edited: Jul 8, 2018

    Attached Files:

  7. abbodi1406

    abbodi1406 MDL KB0000001

    Feb 19, 2011
    9,676
    36,454
    300
    #110 abbodi1406, Jul 8, 2018
    Last edited: Jul 8, 2018
    (OP)
    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
     
  8. KaoDome

    KaoDome MDL Novice

    Jul 31, 2009
    30
    12
    0
    Sorry for the delay, weekend and all, here you have the debug file ;)
     

    Attached Files:

  9. abbodi1406

    abbodi1406 MDL KB0000001

    Feb 19, 2011
    9,676
    36,454
    300
    No worries

    thanks, it's working :)
     
  10. alanfox2000

    alanfox2000 MDL Member

    Dec 25, 2015
    139
    287
    10
  11. abbodi1406

    abbodi1406 MDL KB0000001

    Feb 19, 2011
    9,676
    36,454
    300
    Early access, not beta

    official links were never a reliable source for latest runtimes
     
  12. GOD666

    GOD666 MDL Expert

    Aug 1, 2015
    1,972
    2,046
    60
    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 :D 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. :D
     
  13. alanfox2000

    alanfox2000 MDL Member

    Dec 25, 2015
    139
    287
    10
  14. BladeGod

    BladeGod MDL Member

    Oct 28, 2016
    127
    57
    10
    Thank you very much @abbodi1406. You are a life saver. :)