Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UI: Check VC++ Runtime version on startup #10809

Merged
merged 1 commit into from
Jun 10, 2024

Conversation

derrod
Copy link
Member

@derrod derrod commented Jun 9, 2024

Description

Adds a check on startup that ensures a compatible Visual C++ runtime is being used.

The user is given the option to automatically open our existing VC runtime download page (https://obsproject.com/visual-studio-2019-runtimes),

Motivation and Context

Due to backwards-incompatible changes in MSVC 14.40 OBS crashes on startup for some users that do not have up to date runtimes installed. See #10799.

We should also adjust the updater and installer to check for these older versions, but that will be a larger undertaking and also does not cover the use case of portable ZIPs (unlike this PR).

How Has This Been Tested?

Tested on Windows VM with outdated vc runtime:

warning

Types of changes

  • Tweak (non-breaking change to improve existing functionality)

Checklist:

  • My code has been run through clang-format.
  • I have read the contributing document.
  • My code is not on the master branch.
  • The code has been tested.
  • All commit messages are properly formatted and commits squashed where appropriate.
  • I have included updates to all appropriate documentation.

@derrod derrod requested a review from notr1ch June 9, 2024 01:18
UI/obs-app.cpp Outdated Show resolved Hide resolved
UI/obs-app.cpp Outdated Show resolved Hide resolved
@RytoEX RytoEX added Bug Fix Non-breaking change which fixes an issue Enhancement Improvement to existing functionality Windows Affects Windows labels Jun 9, 2024
@RytoEX RytoEX added this to the OBS Studio 30.2 milestone Jun 9, 2024
@notr1ch
Copy link
Member

notr1ch commented Jun 10, 2024

Perhaps the wording could be changed to "You will now be directed to the download page." with OK / Cancel buttons. Currently it's unclear that pressing "No" will exit OBS.

@derrod
Copy link
Member Author

derrod commented Jun 10, 2024

I updated the wording (not the screenshot though). I also wasn't super happy with it, but I didn't have any better ideas. Perhaps @Warchamp7 has a suggestion as well.

Either way I'd like to have this for beta2 (alongside the updater/installer changes) so we can mitigate the VC runtime mess as much as possible.

Copy link
Member

@RytoEX RytoEX left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe there's a better way to handle this, but if we figure that out, we can make further changes later. Let's mitigate this as much as we can.

@RytoEX RytoEX merged commit 00c6898 into obsproject:master Jun 10, 2024
15 checks passed
@derrod derrod deleted the check-vcrun-version branch June 10, 2024 20:52
@wang-bin
Copy link
Contributor

I my project I find out the std::mutex is incompatible with old msvcp140.dll, I tested with the simplest mutext code. Adding -D_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR can fix the incompatibility

@RytoEX
Copy link
Member

RytoEX commented Jun 13, 2024

I my project I find out the std::mutex is incompatible with old msvcp140.dll, I tested with the simplest mutext code. Adding -D_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR can fix the incompatibility

We considered this and decided against it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Fix Non-breaking change which fixes an issue Enhancement Improvement to existing functionality Windows Affects Windows
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants