Add WindowsBuildNumber variable which is set to dwBuildNumber from RtlGetVersion()
Sean Hall committed
May 23, 2020 at 16:22 UTC
259c6b7420c5e95258f563eca14859a182ffe76a
1 file changed
+5
src/engine/variable.cpp
+5
@@ -36,6 +36,7 @@ enum OS_INFO_VARIABLE
36
OS_INFO_VARIABLE_CompatibilityMode,
37
OS_INFO_VARIABLE_TerminalServer,
38
OS_INFO_VARIABLE_ProcessorArchitecture,
39
+ OS_INFO_VARIABLE_WindowsBuildNumber,
40
};
41
42
enum SET_VARIABLE
@@ -253,6 +254,7 @@ extern "C" HRESULT VariableInitialize(
254
{L"VersionMsi", InitializeVariableVersionMsi, 0},
255
{L"VersionNT", InitializeVariableVersionNT, OS_INFO_VARIABLE_VersionNT},
256
{L"VersionNT64", InitializeVariableVersionNT, OS_INFO_VARIABLE_VersionNT64},
257
+ {L"WindowsBuildNumber", InitializeVariableVersionNT, OS_INFO_VARIABLE_WindowsBuildNumber},
258
{L"WindowsFolder", InitializeVariableCsidlFolder, CSIDL_WINDOWS},
259
{L"WindowsVolume", InitializeVariableWindowsVolumeFolder, 0},
260
{BURN_BUNDLE_ACTION, InitializeVariableNumeric, 0, FALSE, TRUE},
@@ -1680,6 +1682,9 @@ static HRESULT InitializeVariableVersionNT(
1682
}
1683
}
1684
break;
1685
+ case OS_INFO_VARIABLE_WindowsBuildNumber:
1686
+ value.qwValue = static_cast<DWORD64>(ovix.dwBuildNumber);
1687
+ value.Type = BURN_VARIANT_TYPE_NUMERIC;
1688
default:
1689
AssertSz(FALSE, "Unknown OS info type.");
1690
break;