aboutsummaryrefslogtreecommitdiff
path: root/src/burn/engine/package.cpp
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2022-08-01 17:07:25 -0500
committerSean Hall <r.sean.hall@gmail.com>2022-08-02 09:15:14 -0500
commitaacd6b677332f2e262d0df67603c246cd65d833e (patch)
tree05d4e5a127fc2b5feec6f74144bd195f337a8281 /src/burn/engine/package.cpp
parent457ef57f96c1706a63e8f848be3e07a58e7de6a3 (diff)
downloadwix-aacd6b677332f2e262d0df67603c246cd65d833e.tar.gz
wix-aacd6b677332f2e262d0df67603c246cd65d833e.tar.bz2
wix-aacd6b677332f2e262d0df67603c246cd65d833e.zip
Store list of persisted well-known variables in Burn.
This allows it to reject Variables declared in the manifest that start with the reserved prefix 'Wix'.
Diffstat (limited to 'src/burn/engine/package.cpp')
-rw-r--r--src/burn/engine/package.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/burn/engine/package.cpp b/src/burn/engine/package.cpp
index c56f74c8..fe8af497 100644
--- a/src/burn/engine/package.cpp
+++ b/src/burn/engine/package.cpp
@@ -174,6 +174,13 @@ extern "C" HRESULT PackagesParseFromXml(
174 hr = XmlGetAttributeEx(pixnNode, L"RollbackLogPathVariable", &pPackage->sczRollbackLogPathVariable); 174 hr = XmlGetAttributeEx(pixnNode, L"RollbackLogPathVariable", &pPackage->sczRollbackLogPathVariable);
175 ExitOnOptionalXmlQueryFailure(hr, fFoundXml, "Failed to get @RollbackLogPathVariable."); 175 ExitOnOptionalXmlQueryFailure(hr, fFoundXml, "Failed to get @RollbackLogPathVariable.");
176 176
177 if (pPackage->sczLogPathVariable && *pPackage->sczLogPathVariable)
178 {
179 // Format a suitable log path variable from the original package.
180 hr = StrAllocFormatted(&pPackage->sczCompatibleLogPathVariable, L"%ls_Compatible", pPackage->sczLogPathVariable);
181 ExitOnFailure(hr, "Failed to format log path variable for compatible package.");
182 }
183
177 // @InstallCondition 184 // @InstallCondition
178 hr = XmlGetAttributeEx(pixnNode, L"InstallCondition", &pPackage->sczInstallCondition); 185 hr = XmlGetAttributeEx(pixnNode, L"InstallCondition", &pPackage->sczInstallCondition);
179 ExitOnOptionalXmlQueryFailure(hr, fFoundXml, "Failed to get @InstallCondition."); 186 ExitOnOptionalXmlQueryFailure(hr, fFoundXml, "Failed to get @InstallCondition.");
@@ -365,6 +372,7 @@ extern "C" void PackageUninitialize(
365 ReleaseStr(pPackage->sczId); 372 ReleaseStr(pPackage->sczId);
366 ReleaseStr(pPackage->sczLogPathVariable); 373 ReleaseStr(pPackage->sczLogPathVariable);
367 ReleaseStr(pPackage->sczRollbackLogPathVariable); 374 ReleaseStr(pPackage->sczRollbackLogPathVariable);
375 ReleaseStr(pPackage->sczCompatibleLogPathVariable);
368 ReleaseStr(pPackage->sczInstallCondition); 376 ReleaseStr(pPackage->sczInstallCondition);
369 ReleaseStr(pPackage->sczRepairCondition); 377 ReleaseStr(pPackage->sczRepairCondition);
370 ReleaseStr(pPackage->sczCacheId); 378 ReleaseStr(pPackage->sczCacheId);