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); |
