diff options
Diffstat (limited to 'src/burn/engine/package.cpp')
-rw-r--r-- | src/burn/engine/package.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/burn/engine/package.cpp b/src/burn/engine/package.cpp index 72da817f..8a80194e 100644 --- a/src/burn/engine/package.cpp +++ b/src/burn/engine/package.cpp | |||
@@ -161,7 +161,6 @@ extern "C" HRESULT PackagesParseFromXml( | |||
161 | // @Permanent | 161 | // @Permanent |
162 | hr = XmlGetYesNoAttribute(pixnNode, L"Permanent", &pPackage->fPermanent); | 162 | hr = XmlGetYesNoAttribute(pixnNode, L"Permanent", &pPackage->fPermanent); |
163 | ExitOnRequiredXmlQueryFailure(hr, "Failed to get @Permanent."); | 163 | ExitOnRequiredXmlQueryFailure(hr, "Failed to get @Permanent."); |
164 | pPackage->fCanAffectRegistration = !pPackage->fPermanent; | ||
165 | 164 | ||
166 | // @Vital | 165 | // @Vital |
167 | hr = XmlGetYesNoAttribute(pixnNode, L"Vital", &pPackage->fVital); | 166 | hr = XmlGetYesNoAttribute(pixnNode, L"Vital", &pPackage->fVital); |
@@ -244,6 +243,9 @@ extern "C" HRESULT PackagesParseFromXml( | |||
244 | case BURN_PACKAGE_TYPE_EXE: | 243 | case BURN_PACKAGE_TYPE_EXE: |
245 | fUninstallable = pPackage->Exe.fUninstallable; | 244 | fUninstallable = pPackage->Exe.fUninstallable; |
246 | break; | 245 | break; |
246 | case BURN_PACKAGE_TYPE_MSU: | ||
247 | fUninstallable = pPackage->Msu.fUninstallable; | ||
248 | break; | ||
247 | } | 249 | } |
248 | 250 | ||
249 | if (!fUninstallable) | 251 | if (!fUninstallable) |
@@ -252,6 +254,8 @@ extern "C" HRESULT PackagesParseFromXml( | |||
252 | } | 254 | } |
253 | } | 255 | } |
254 | 256 | ||
257 | pPackage->fCanAffectRegistration = !pPackage->fPermanent; | ||
258 | |||
255 | // parse payload references | 259 | // parse payload references |
256 | hr = ParsePayloadRefsFromXml(pPackage, pPayloads, pixnNode); | 260 | hr = ParsePayloadRefsFromXml(pPackage, pPayloads, pixnNode); |
257 | ExitOnFailure(hr, "Failed to parse payload references."); | 261 | ExitOnFailure(hr, "Failed to parse payload references."); |