diff options
| author | Sean Hall <r.sean.hall@gmail.com> | 2022-01-14 21:37:24 -0600 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2022-01-16 10:30:28 -0600 |
| commit | da1d1376953ef1c9afb32d5eee02b785e52e372e (patch) | |
| tree | 0df8550960259d7b13f5cd90f04d21b5576f16b7 /src/burn/engine/package.cpp | |
| parent | abe316b80fae80eba54b0b79e76b6362105fa098 (diff) | |
| download | wix-da1d1376953ef1c9afb32d5eee02b785e52e372e.tar.gz wix-da1d1376953ef1c9afb32d5eee02b785e52e372e.tar.bz2 wix-da1d1376953ef1c9afb32d5eee02b785e52e372e.zip | |
Remove orphan compatible MSI packages.
Reimplements #3190
Diffstat (limited to 'src/burn/engine/package.cpp')
| -rw-r--r-- | src/burn/engine/package.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/burn/engine/package.cpp b/src/burn/engine/package.cpp index d9087f79..d9f92d3d 100644 --- a/src/burn/engine/package.cpp +++ b/src/burn/engine/package.cpp | |||
| @@ -366,6 +366,31 @@ extern "C" void PackageUninitialize( | |||
| 366 | MsuEnginePackageUninitialize(pPackage); // TODO: Modularization | 366 | MsuEnginePackageUninitialize(pPackage); // TODO: Modularization |
| 367 | break; | 367 | break; |
| 368 | } | 368 | } |
| 369 | |||
| 370 | PackageUninitializeCompatible(&pPackage->compatiblePackage); | ||
| 371 | } | ||
| 372 | |||
| 373 | extern "C" void PackageUninitializeCompatible( | ||
| 374 | __in BURN_COMPATIBLE_PACKAGE* pCompatiblePackage | ||
| 375 | ) | ||
| 376 | { | ||
| 377 | ReleaseStr(pCompatiblePackage->compatibleEntry.sczId); | ||
| 378 | ReleaseStr(pCompatiblePackage->compatibleEntry.sczName); | ||
| 379 | ReleaseStr(pCompatiblePackage->compatibleEntry.sczProviderKey); | ||
| 380 | ReleaseStr(pCompatiblePackage->compatibleEntry.sczVersion); | ||
| 381 | |||
| 382 | ReleaseStr(pCompatiblePackage->sczCacheId); | ||
| 383 | |||
| 384 | switch (pCompatiblePackage->type) | ||
| 385 | { | ||
| 386 | case BURN_PACKAGE_TYPE_MSI: | ||
| 387 | ReleaseStr(pCompatiblePackage->Msi.sczVersion); | ||
| 388 | ReleaseVerutilVersion(pCompatiblePackage->Msi.pVersion); | ||
| 389 | break; | ||
| 390 | } | ||
| 391 | |||
| 392 | // clear struct | ||
| 393 | memset(pCompatiblePackage, 0, sizeof(BURN_COMPATIBLE_PACKAGE)); | ||
| 369 | } | 394 | } |
| 370 | 395 | ||
| 371 | extern "C" void PackagesUninitialize( | 396 | extern "C" void PackagesUninitialize( |
