aboutsummaryrefslogtreecommitdiff
path: root/src/burn/engine/variable.cpp
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2022-03-04 17:55:17 -0600
committerSean Hall <r.sean.hall@gmail.com>2022-03-05 16:22:04 -0600
commite027c6c571a4bc8c818244e2b0c5015eb4ef3110 (patch)
tree8149aa491766bfe8a883f921831a52133abceea5 /src/burn/engine/variable.cpp
parentbaf09c19c5a0f0d3f9533f9084f094066c1be7d9 (diff)
downloadwix-e027c6c571a4bc8c818244e2b0c5015eb4ef3110.tar.gz
wix-e027c6c571a4bc8c818244e2b0c5015eb4ef3110.tar.bz2
wix-e027c6c571a4bc8c818244e2b0c5015eb4ef3110.zip
Change ARP property Installed to 0 when registrationType is InProgress.
Being registered in ARP and "installed" were always separate concepts, and some things like fEligibleForCleanup were looking at the wrong thing. This also allows the BA to tell the difference.
Diffstat (limited to 'src/burn/engine/variable.cpp')
-rw-r--r--src/burn/engine/variable.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/burn/engine/variable.cpp b/src/burn/engine/variable.cpp
index b3dcdb7d..5d92590c 100644
--- a/src/burn/engine/variable.cpp
+++ b/src/burn/engine/variable.cpp
@@ -248,6 +248,7 @@ extern "C" HRESULT VariableInitialize(
248#endif 248#endif
249 {L"ProgramFiles6432Folder", InitializeVariable6432Folder, CSIDL_PROGRAM_FILES}, 249 {L"ProgramFiles6432Folder", InitializeVariable6432Folder, CSIDL_PROGRAM_FILES},
250 {L"ProgramMenuFolder", InitializeVariableCsidlFolder, CSIDL_PROGRAMS}, 250 {L"ProgramMenuFolder", InitializeVariableCsidlFolder, CSIDL_PROGRAMS},
251 {L"RebootPending", InitializeVariableNumeric, 0},
251 {L"SendToFolder", InitializeVariableCsidlFolder, CSIDL_SENDTO}, 252 {L"SendToFolder", InitializeVariableCsidlFolder, CSIDL_SENDTO},
252 {L"ServicePackLevel", InitializeVariableVersionNT, OS_INFO_VARIABLE_ServicePackLevel}, 253 {L"ServicePackLevel", InitializeVariableVersionNT, OS_INFO_VARIABLE_ServicePackLevel},
253 {L"StartMenuFolder", InitializeVariableCsidlFolder, CSIDL_STARTMENU}, 254 {L"StartMenuFolder", InitializeVariableCsidlFolder, CSIDL_STARTMENU},
@@ -1571,6 +1572,9 @@ static HRESULT SetVariableValue(
1571 // Insert element if not found. 1572 // Insert element if not found.
1572 if (S_FALSE == hr) 1573 if (S_FALSE == hr)
1573 { 1574 {
1575 // Not possible from external callers so just assert.
1576 AssertSz(SET_VARIABLE_OVERRIDE_BUILTIN != setBuiltin, "Intent to set missing built-in variable.");
1577
1574 hr = InsertVariable(pVariables, wzVariable, iVariable); 1578 hr = InsertVariable(pVariables, wzVariable, iVariable);
1575 ExitOnFailure(hr, "Failed to insert variable '%ls'.", wzVariable); 1579 ExitOnFailure(hr, "Failed to insert variable '%ls'.", wzVariable);
1576 } 1580 }