locked
MSVCRT x64 12.0.30501 removes MSVCRT x86 12.0.21005 RRS feed

  • Question

  • Hi everyone,

    we have just found interesting upgrade behavior.

    Our application requires MSVCRT 12 x86 and deploys 12.0.21005.

    If user installs newer MSVCRT x64 (12.0.30501) later on, it removes existing x86 and installs only x64bit version.

    This is breaking our application linking.

    Interestingly, if user installs instead newer MSVCRT x86, it just upgrades correctly 21005 to 30501.

    Is this intentional, or what we can do better ?

    Thanks
    Martin

    Wednesday, January 13, 2016 8:39 PM

Answers

  • Thanks Pavel, it ready does, yes.

    It seems only workaround is to deploy x86 30501, in that case its not being removed either by x64 installation.

    Martin

    Wednesday, January 13, 2016 9:32 PM

All replies

  • This resembles another issue, here.

    Wednesday, January 13, 2016 8:53 PM
  • Thanks Pavel, it ready does, yes.

    It seems only workaround is to deploy x86 30501, in that case its not being removed either by x64 installation.

    Martin

    Wednesday, January 13, 2016 9:32 PM
  • Hi Martin,

    Just as what I have ever tested, the higher version will make the old version removed. If your application needs, you need to deploy the X86 higher version.

    May


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    Thursday, January 14, 2016 7:17 AM
  • Hi May,

    Is this how all vcredist installers - 32 and 64 bit - behave? Any of them uninstalls all older versions?

    So for example if I install a 32-bit vcredist for my 32-bit app, on a 64-bit target I must also supply and install same version of 64-bit vcredist?

    -- pa

    Thursday, January 14, 2016 10:42 AM
  • Hi Pavel A,

    I am sorry that so late to reply.

    >Is this how all vcredist installers - 32 and 64 bit - behave? Any of them uninstalls all older versions?

    My testing scenario is firstly install  vcredist x86 and x64 version 12.0.21005, then I install vcredist x86 version 12.0.30501 which is a higer version than 12.0.21005, the result is both the x86 and x64 old version 12.0.21005 will be removed. The other older versions in picture below are still there.

    >So for example if I install a 32-bit vcredist for my 32-bit app, on a 64-bit target I must also supply and install same version of 64-bit vcredist?

    I think yes.

    May


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    Thursday, January 21, 2016 8:58 AM
  • Thank you May for the research.

    If so, what is the 'official' guidance - always distribute both 32 and 64 bit versions?

    1. Perhaps, can VC++ team provide a single universal vcredist installer that will automatically do the right thing - install 64 and 32 bit version on a x64 target, and 32 bit only on a 32-bit target?

    2. How this could handle cases when current vcredist libs are in use by other apps or services?

    -- pa

    Thursday, January 21, 2016 10:55 AM