diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2022-08-01 17:07:25 -0500 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2022-08-02 09:15:14 -0500 |
commit | aacd6b677332f2e262d0df67603c246cd65d833e (patch) | |
tree | 05d4e5a127fc2b5feec6f74144bd195f337a8281 /src/burn/engine/package.cpp | |
parent | 457ef57f96c1706a63e8f848be3e07a58e7de6a3 (diff) | |
download | wix-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.cpp | 8 |
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); |