@joebigelow / wix / commits / 259c6b74

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;