UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
WindowsRedistributableValidation.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
9{
10 constexpr VersionInfo() = default;
11
12 constexpr VersionInfo(unsigned long InMajor, unsigned long InMinor, unsigned long InBld, unsigned long InRbld)
13 : Major(InMajor)
14 , Minor(InMinor)
15 , Bld(InBld)
16 , Rbld(InRbld)
17 {}
18
19 constexpr VersionInfo(unsigned long long InVersion)
20 : Major((InVersion >> 48) & 0xffff)
21 , Minor((InVersion >> 32) & 0xffff)
22 , Bld((InVersion >> 16) & 0xffff)
23 , Rbld((InVersion >> 0) & 0xffff)
24 { }
25
26 unsigned long Major = 0;
27 unsigned long Minor = 0;
28 unsigned long Bld = 0;
29 unsigned long Rbld = 0;
30};
31
32// This minimum should match the version installed by
33// Engine/Extras/Redist/en-us/vc_redist.x64.exe
34inline constexpr VersionInfo MinRedistVersion = { 14, 44, 35211, 0 };
35
37inline bool IsVersionValid(const VersionInfo& Version, const VersionInfo& MinVersion)
38{
39 if (Version.Major > MinVersion.Major) return true;
40 if (Version.Major == MinVersion.Major && Version.Minor > MinVersion.Minor) return true;
41 if (Version.Major == MinVersion.Major && Version.Minor == MinVersion.Minor && Version.Bld > MinVersion.Bld) return true;
42 if (Version.Major == MinVersion.Major && Version.Minor == MinVersion.Minor && Version.Bld == MinVersion.Bld && Version.Rbld >= MinVersion.Rbld) return true;
43 return false;
44}
45
46
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
constexpr VersionInfo MinRedistVersion
Definition WindowsRedistributableValidation.h:34
bool IsVersionValid(const VersionInfo &Version, const VersionInfo &MinVersion)
Definition WindowsRedistributableValidation.h:37
Definition WindowsRedistributableValidation.h:9
constexpr VersionInfo(unsigned long long InVersion)
Definition WindowsRedistributableValidation.h:19
unsigned long Minor
Definition WindowsRedistributableValidation.h:27
unsigned long Major
Definition WindowsRedistributableValidation.h:26
unsigned long Rbld
Definition WindowsRedistributableValidation.h:29
constexpr VersionInfo(unsigned long InMajor, unsigned long InMinor, unsigned long InBld, unsigned long InRbld)
Definition WindowsRedistributableValidation.h:12
constexpr VersionInfo()=default
unsigned long Bld
Definition WindowsRedistributableValidation.h:28