diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2022-03-04 17:55:17 -0600 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2022-03-05 16:22:04 -0600 |
commit | e027c6c571a4bc8c818244e2b0c5015eb4ef3110 (patch) | |
tree | 8149aa491766bfe8a883f921831a52133abceea5 /src/burn/engine/variable.cpp | |
parent | baf09c19c5a0f0d3f9533f9084f094066c1be7d9 (diff) | |
download | wix-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.cpp | 4 |
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 | } |