visual-c++visual-studio-2015vcredist

Will installing VS2015 update 3 VC++ redistributables break other software


As suggested in this post, If I install the VC++ redistributables for VS2015 update 3 am I likely to break other software running on the same PC built with previous updates to VS2015? Similarly, if I stick with update 2 for my release, is this going to get broken at some point in the future when someone installs the redists for update 3?


Solution

  • Based on the bug description as reported at New VC Runtime 14.0.24210.0 breaks MFC app built with VS 2015 Update 2 the U3 redistributables will indeed break MFC apps compiled with U2 or earlier, which:

    From the linked page:

    The problem is caused by the new BOOL member m_bIsDragged in class CMFCToolBarButton.
    So memory layout differs between Update 2 and 3.
    When initializing m_bIsDragged in the constructor, the (stack) memory behind the ToolBarButton is overwritten.

    The problem should arise also on all classes which are derived from CMFCToolBarButton:

    CMFCColorMenuButton
    CMFCCustomizeMenuButton
    CMFCDropDownToolbarButton
    CMFCOutlookBarPaneButton
    CMFCRibbonGalleryMenuButton
    CMFCToolBarComboBoxButton
    CMFCToolBarDateTimeCtrl
    CMFCToolBarEditBoxButton
    CMFCToolBarFontComboBox
    CMFCToolBarFontSizeComboBox
    CMFCToolBarMenuButton
    CMFCToolBarMenuButtonsButton
    CMFCToolBarSpinEditBoxButton
    CMFCToolBarSystemMenuButton


    [ EDIT ] For completeness, it should be pointed out that apps that use AppLocal deployment of the MFC/CRT DLLs are not affected, since they do not use the system-wide installed copies thereof.

    AppLocal deployment is described under bullet #6 "updated September 11 2015" in "Distributing Software that uses the Universal CRT" at Introducing the Universal CRT.