diff options
Diffstat (limited to 'src/burn/engine/bundlepackageengine.cpp')
-rw-r--r-- | src/burn/engine/bundlepackageengine.cpp | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/src/burn/engine/bundlepackageengine.cpp b/src/burn/engine/bundlepackageengine.cpp index 90262638..612da389 100644 --- a/src/burn/engine/bundlepackageengine.cpp +++ b/src/burn/engine/bundlepackageengine.cpp | |||
@@ -52,8 +52,8 @@ extern "C" HRESULT BundlePackageEngineParsePackageFromXml( | |||
52 | LPWSTR scz = NULL; | 52 | LPWSTR scz = NULL; |
53 | 53 | ||
54 | // @DetectCondition | 54 | // @DetectCondition |
55 | hr = XmlGetAttributeEx(pixnBundlePackage, L"BundleId", &pPackage->Bundle.sczBundleId); | 55 | hr = XmlGetAttributeEx(pixnBundlePackage, L"BundleCode", &pPackage->Bundle.sczBundleCode); |
56 | ExitOnRequiredXmlQueryFailure(hr, "Failed to get @BundleId."); | 56 | ExitOnRequiredXmlQueryFailure(hr, "Failed to get @BundleCode."); |
57 | 57 | ||
58 | // @Version | 58 | // @Version |
59 | hr = XmlGetAttributeEx(pixnBundlePackage, L"Version", &scz); | 59 | hr = XmlGetAttributeEx(pixnBundlePackage, L"Version", &scz); |
@@ -100,7 +100,7 @@ extern "C" HRESULT BundlePackageEngineParsePackageFromXml( | |||
100 | hr = ExeEngineParseCommandLineArgumentsFromXml(pixnBundlePackage, &pPackage->Bundle.rgCommandLineArguments, &pPackage->Bundle.cCommandLineArguments); | 100 | hr = ExeEngineParseCommandLineArgumentsFromXml(pixnBundlePackage, &pPackage->Bundle.rgCommandLineArguments, &pPackage->Bundle.cCommandLineArguments); |
101 | ExitOnFailure(hr, "Failed to parse command lines."); | 101 | ExitOnFailure(hr, "Failed to parse command lines."); |
102 | 102 | ||
103 | hr = StrAllocFormatted(&pPackage->Bundle.sczRegistrationKey, L"%ls\\%ls", BURN_REGISTRATION_REGISTRY_UNINSTALL_KEY, pPackage->Bundle.sczBundleId); | 103 | hr = StrAllocFormatted(&pPackage->Bundle.sczRegistrationKey, L"%ls\\%ls", BURN_REGISTRATION_REGISTRY_UNINSTALL_KEY, pPackage->Bundle.sczBundleCode); |
104 | ExitOnFailure(hr, "Failed to build uninstall registry key path."); | 104 | ExitOnFailure(hr, "Failed to build uninstall registry key path."); |
105 | 105 | ||
106 | LExit: | 106 | LExit: |
@@ -126,7 +126,7 @@ extern "C" HRESULT BundlePackageEngineParseRelatedCodes( | |||
126 | IXMLDOMNodeList* pixnNodes = NULL; | 126 | IXMLDOMNodeList* pixnNodes = NULL; |
127 | IXMLDOMNode* pixnElement = NULL; | 127 | IXMLDOMNode* pixnElement = NULL; |
128 | LPWSTR sczAction = NULL; | 128 | LPWSTR sczAction = NULL; |
129 | LPWSTR sczId = NULL; | 129 | LPWSTR sczCode = NULL; |
130 | DWORD cElements = 0; | 130 | DWORD cElements = 0; |
131 | 131 | ||
132 | hr = XmlSelectNodes(pixnBundle, L"RelatedBundle", &pixnNodes); | 132 | hr = XmlSelectNodes(pixnBundle, L"RelatedBundle", &pixnNodes); |
@@ -143,16 +143,16 @@ extern "C" HRESULT BundlePackageEngineParseRelatedCodes( | |||
143 | hr = XmlGetAttributeEx(pixnElement, L"Action", &sczAction); | 143 | hr = XmlGetAttributeEx(pixnElement, L"Action", &sczAction); |
144 | ExitOnFailure(hr, "Failed to get @Action."); | 144 | ExitOnFailure(hr, "Failed to get @Action."); |
145 | 145 | ||
146 | hr = XmlGetAttributeEx(pixnElement, L"Id", &sczId); | 146 | hr = XmlGetAttributeEx(pixnElement, L"Code", &sczCode); |
147 | ExitOnFailure(hr, "Failed to get @Id."); | 147 | ExitOnFailure(hr, "Failed to get @Code."); |
148 | 148 | ||
149 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, sczAction, -1, L"Detect", -1)) | 149 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, sczAction, -1, L"Detect", -1)) |
150 | { | 150 | { |
151 | hr = MemEnsureArraySizeForNewItems(reinterpret_cast<LPVOID*>(prgsczDetectCodes), *pcDetectCodes, 1, sizeof(LPWSTR), 5); | 151 | hr = MemEnsureArraySizeForNewItems(reinterpret_cast<LPVOID*>(prgsczDetectCodes), *pcDetectCodes, 1, sizeof(LPWSTR), 5); |
152 | ExitOnFailure(hr, "Failed to resize Detect code array"); | 152 | ExitOnFailure(hr, "Failed to resize Detect code array"); |
153 | 153 | ||
154 | (*prgsczDetectCodes)[*pcDetectCodes] = sczId; | 154 | (*prgsczDetectCodes)[*pcDetectCodes] = sczCode; |
155 | sczId = NULL; | 155 | sczCode = NULL; |
156 | *pcDetectCodes += 1; | 156 | *pcDetectCodes += 1; |
157 | } | 157 | } |
158 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, sczAction, -1, L"Upgrade", -1)) | 158 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, sczAction, -1, L"Upgrade", -1)) |
@@ -160,8 +160,8 @@ extern "C" HRESULT BundlePackageEngineParseRelatedCodes( | |||
160 | hr = MemEnsureArraySizeForNewItems(reinterpret_cast<LPVOID*>(prgsczUpgradeCodes), *pcUpgradeCodes, 1, sizeof(LPWSTR), 5); | 160 | hr = MemEnsureArraySizeForNewItems(reinterpret_cast<LPVOID*>(prgsczUpgradeCodes), *pcUpgradeCodes, 1, sizeof(LPWSTR), 5); |
161 | ExitOnFailure(hr, "Failed to resize Upgrade code array"); | 161 | ExitOnFailure(hr, "Failed to resize Upgrade code array"); |
162 | 162 | ||
163 | (*prgsczUpgradeCodes)[*pcUpgradeCodes] = sczId; | 163 | (*prgsczUpgradeCodes)[*pcUpgradeCodes] = sczCode; |
164 | sczId = NULL; | 164 | sczCode = NULL; |
165 | *pcUpgradeCodes += 1; | 165 | *pcUpgradeCodes += 1; |
166 | } | 166 | } |
167 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, sczAction, -1, L"Addon", -1)) | 167 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, sczAction, -1, L"Addon", -1)) |
@@ -169,8 +169,8 @@ extern "C" HRESULT BundlePackageEngineParseRelatedCodes( | |||
169 | hr = MemEnsureArraySizeForNewItems(reinterpret_cast<LPVOID*>(prgsczAddonCodes), *pcAddonCodes, 1, sizeof(LPWSTR), 5); | 169 | hr = MemEnsureArraySizeForNewItems(reinterpret_cast<LPVOID*>(prgsczAddonCodes), *pcAddonCodes, 1, sizeof(LPWSTR), 5); |
170 | ExitOnFailure(hr, "Failed to resize Addon code array"); | 170 | ExitOnFailure(hr, "Failed to resize Addon code array"); |
171 | 171 | ||
172 | (*prgsczAddonCodes)[*pcAddonCodes] = sczId; | 172 | (*prgsczAddonCodes)[*pcAddonCodes] = sczCode; |
173 | sczId = NULL; | 173 | sczCode = NULL; |
174 | *pcAddonCodes += 1; | 174 | *pcAddonCodes += 1; |
175 | } | 175 | } |
176 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, sczAction, -1, L"Patch", -1)) | 176 | else if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, sczAction, -1, L"Patch", -1)) |
@@ -178,8 +178,8 @@ extern "C" HRESULT BundlePackageEngineParseRelatedCodes( | |||
178 | hr = MemEnsureArraySizeForNewItems(reinterpret_cast<LPVOID*>(prgsczPatchCodes), *pcPatchCodes, 1, sizeof(LPWSTR), 5); | 178 | hr = MemEnsureArraySizeForNewItems(reinterpret_cast<LPVOID*>(prgsczPatchCodes), *pcPatchCodes, 1, sizeof(LPWSTR), 5); |
179 | ExitOnFailure(hr, "Failed to resize Patch code array"); | 179 | ExitOnFailure(hr, "Failed to resize Patch code array"); |
180 | 180 | ||
181 | (*prgsczPatchCodes)[*pcPatchCodes] = sczId; | 181 | (*prgsczPatchCodes)[*pcPatchCodes] = sczCode; |
182 | sczId = NULL; | 182 | sczCode = NULL; |
183 | *pcPatchCodes += 1; | 183 | *pcPatchCodes += 1; |
184 | } | 184 | } |
185 | else | 185 | else |
@@ -193,7 +193,7 @@ LExit: | |||
193 | ReleaseObject(pixnNodes); | 193 | ReleaseObject(pixnNodes); |
194 | ReleaseObject(pixnElement); | 194 | ReleaseObject(pixnElement); |
195 | ReleaseStr(sczAction); | 195 | ReleaseStr(sczAction); |
196 | ReleaseStr(sczId); | 196 | ReleaseStr(sczCode); |
197 | 197 | ||
198 | return hr; | 198 | return hr; |
199 | } | 199 | } |
@@ -202,7 +202,7 @@ extern "C" void BundlePackageEnginePackageUninitialize( | |||
202 | __in BURN_PACKAGE* pPackage | 202 | __in BURN_PACKAGE* pPackage |
203 | ) | 203 | ) |
204 | { | 204 | { |
205 | ReleaseStr(pPackage->Bundle.sczBundleId); | 205 | ReleaseStr(pPackage->Bundle.sczBundleCode); |
206 | ReleaseStr(pPackage->Bundle.sczArpKeyPath); | 206 | ReleaseStr(pPackage->Bundle.sczArpKeyPath); |
207 | ReleaseVerutilVersion(pPackage->Bundle.pVersion); | 207 | ReleaseVerutilVersion(pPackage->Bundle.pVersion); |
208 | ReleaseStr(pPackage->Bundle.sczRegistrationKey); | 208 | ReleaseStr(pPackage->Bundle.sczRegistrationKey); |
@@ -457,7 +457,7 @@ extern "C" HRESULT BundlePackageEnginePlanAddPackage( | |||
457 | pAction->bundlePackage.pPackage = pPackage; | 457 | pAction->bundlePackage.pPackage = pPackage; |
458 | pAction->bundlePackage.action = pPackage->rollback; | 458 | pAction->bundlePackage.action = pPackage->rollback; |
459 | 459 | ||
460 | hr = StrAllocString(&pAction->bundlePackage.sczParent, pPlan->wzBundleId, 0); | 460 | hr = StrAllocString(&pAction->bundlePackage.sczParent, pPlan->wzBundleCode, 0); |
461 | ExitOnFailure(hr, "Failed to allocate the parent."); | 461 | ExitOnFailure(hr, "Failed to allocate the parent."); |
462 | 462 | ||
463 | if (pPackage->Bundle.wzAncestors) | 463 | if (pPackage->Bundle.wzAncestors) |
@@ -488,7 +488,7 @@ extern "C" HRESULT BundlePackageEnginePlanAddPackage( | |||
488 | pAction->bundlePackage.pPackage = pPackage; | 488 | pAction->bundlePackage.pPackage = pPackage; |
489 | pAction->bundlePackage.action = pPackage->execute; | 489 | pAction->bundlePackage.action = pPackage->execute; |
490 | 490 | ||
491 | hr = StrAllocString(&pAction->bundlePackage.sczParent, pPlan->wzBundleId, 0); | 491 | hr = StrAllocString(&pAction->bundlePackage.sczParent, pPlan->wzBundleCode, 0); |
492 | ExitOnFailure(hr, "Failed to allocate the parent."); | 492 | ExitOnFailure(hr, "Failed to allocate the parent."); |
493 | 493 | ||
494 | if (pPackage->Bundle.wzAncestors) | 494 | if (pPackage->Bundle.wzAncestors) |
@@ -686,7 +686,7 @@ static BUNDLE_QUERY_CALLBACK_RESULT CALLBACK QueryRelatedBundlesCallback( | |||
686 | BOOTSTRAPPER_RELATION_TYPE relationType = RelatedBundleConvertRelationType(pBundle->relationType); | 686 | BOOTSTRAPPER_RELATION_TYPE relationType = RelatedBundleConvertRelationType(pBundle->relationType); |
687 | BOOL fPerMachine = BUNDLE_INSTALL_CONTEXT_MACHINE == pBundle->installContext; | 687 | BOOL fPerMachine = BUNDLE_INSTALL_CONTEXT_MACHINE == pBundle->installContext; |
688 | 688 | ||
689 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pBundle->wzBundleId, -1, pPackage->Bundle.sczBundleId, -1) && | 689 | if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, NORM_IGNORECASE, pBundle->wzBundleCode, -1, pPackage->Bundle.sczBundleCode, -1) && |
690 | pPackage->Bundle.fWin64 == (REG_KEY_64BIT == pBundle->regBitness)) | 690 | pPackage->Bundle.fWin64 == (REG_KEY_64BIT == pBundle->regBitness)) |
691 | { | 691 | { |
692 | Assert(BOOTSTRAPPER_RELATION_UPGRADE == relationType); | 692 | Assert(BOOTSTRAPPER_RELATION_UPGRADE == relationType); |
@@ -695,14 +695,14 @@ static BUNDLE_QUERY_CALLBACK_RESULT CALLBACK QueryRelatedBundlesCallback( | |||
695 | } | 695 | } |
696 | 696 | ||
697 | hr = RegReadString(pBundle->hkBundle, BURN_REGISTRATION_REGISTRY_BUNDLE_VERSION, &sczBundleVersion); | 697 | hr = RegReadString(pBundle->hkBundle, BURN_REGISTRATION_REGISTRY_BUNDLE_VERSION, &sczBundleVersion); |
698 | ExitOnFailure(hr, "Failed to read version from registry for related bundle package: %ls", pBundle->wzBundleId); | 698 | ExitOnFailure(hr, "Failed to read version from registry for related bundle package: %ls", pBundle->wzBundleCode); |
699 | 699 | ||
700 | hr = VerParseVersion(sczBundleVersion, 0, FALSE, &pVersion); | 700 | hr = VerParseVersion(sczBundleVersion, 0, FALSE, &pVersion); |
701 | ExitOnFailure(hr, "Failed to parse related bundle package version: %ls", sczBundleVersion); | 701 | ExitOnFailure(hr, "Failed to parse related bundle package version: %ls", sczBundleVersion); |
702 | 702 | ||
703 | if (pVersion->fInvalid) | 703 | if (pVersion->fInvalid) |
704 | { | 704 | { |
705 | LogId(REPORT_WARNING, MSG_RELATED_PACKAGE_INVALID_VERSION, pBundle->wzBundleId, sczBundleVersion); | 705 | LogId(REPORT_WARNING, MSG_RELATED_PACKAGE_INVALID_VERSION, pBundle->wzBundleCode, sczBundleVersion); |
706 | } | 706 | } |
707 | 707 | ||
708 | if (BOOTSTRAPPER_RELATION_UPGRADE == relationType) | 708 | if (BOOTSTRAPPER_RELATION_UPGRADE == relationType) |
@@ -719,7 +719,7 @@ static BUNDLE_QUERY_CALLBACK_RESULT CALLBACK QueryRelatedBundlesCallback( | |||
719 | result = BUNDLE_QUERY_CALLBACK_RESULT_CANCEL; | 719 | result = BUNDLE_QUERY_CALLBACK_RESULT_CANCEL; |
720 | 720 | ||
721 | // Pass to BA. | 721 | // Pass to BA. |
722 | hr = BACallbackOnDetectRelatedBundlePackage(pContext->pUserExperience, pPackage->sczId, pBundle->wzBundleId, relationType, fPerMachine, pVersion); | 722 | hr = BACallbackOnDetectRelatedBundlePackage(pContext->pUserExperience, pPackage->sczId, pBundle->wzBundleCode, relationType, fPerMachine, pVersion); |
723 | ExitOnRootFailure(hr, "BA aborted detect related BUNDLE package."); | 723 | ExitOnRootFailure(hr, "BA aborted detect related BUNDLE package."); |
724 | 724 | ||
725 | result = BUNDLE_QUERY_CALLBACK_RESULT_CONTINUE; | 725 | result = BUNDLE_QUERY_CALLBACK_RESULT_CONTINUE; |
@@ -1064,7 +1064,7 @@ static HRESULT DetectArpEntry( | |||
1064 | 1064 | ||
1065 | if (!pPackage->Bundle.sczArpKeyPath) | 1065 | if (!pPackage->Bundle.sczArpKeyPath) |
1066 | { | 1066 | { |
1067 | hr = PathConcatRelativeToBase(L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\", pPackage->Bundle.sczBundleId, &pPackage->Bundle.sczArpKeyPath); | 1067 | hr = PathConcatRelativeToBase(L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\", pPackage->Bundle.sczBundleCode, &pPackage->Bundle.sczArpKeyPath); |
1068 | ExitOnFailure(hr, "Failed to build full key path."); | 1068 | ExitOnFailure(hr, "Failed to build full key path."); |
1069 | } | 1069 | } |
1070 | 1070 | ||