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.h | |
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.h')
-rw-r--r-- | src/burn/engine/package.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/burn/engine/package.h b/src/burn/engine/package.h index 10b5f33c..934355e1 100644 --- a/src/burn/engine/package.h +++ b/src/burn/engine/package.h | |||
@@ -147,6 +147,14 @@ typedef struct _BURN_MSIFEATURE | |||
147 | BOOTSTRAPPER_FEATURE_ACTION rollback; // only valid during Plan. | 147 | BOOTSTRAPPER_FEATURE_ACTION rollback; // only valid during Plan. |
148 | } BURN_MSIFEATURE; | 148 | } BURN_MSIFEATURE; |
149 | 149 | ||
150 | typedef struct _BURN_COMPATIBLE_PROVIDER_ENTRY | ||
151 | { | ||
152 | LPWSTR sczProviderKey; | ||
153 | LPWSTR sczId; | ||
154 | LPWSTR sczName; | ||
155 | LPWSTR sczVersion; | ||
156 | } BURN_COMPATIBLE_PROVIDER_ENTRY; | ||
157 | |||
150 | typedef struct _BURN_RELATED_MSI | 158 | typedef struct _BURN_RELATED_MSI |
151 | { | 159 | { |
152 | LPWSTR sczUpgradeCode; | 160 | LPWSTR sczUpgradeCode; |
@@ -206,6 +214,27 @@ typedef struct _BURN_PATCH_TARGETCODE | |||
206 | BURN_PATCH_TARGETCODE_TYPE type; | 214 | BURN_PATCH_TARGETCODE_TYPE type; |
207 | } BURN_PATCH_TARGETCODE; | 215 | } BURN_PATCH_TARGETCODE; |
208 | 216 | ||
217 | typedef struct _BURN_COMPATIBLE_PACKAGE | ||
218 | { | ||
219 | BOOL fDetected; | ||
220 | BOOL fPlannable; | ||
221 | BOOL fDefaultRequested; | ||
222 | BOOL fRequested; | ||
223 | BOOL fRemove; | ||
224 | LPWSTR sczCacheId; | ||
225 | BURN_COMPATIBLE_PROVIDER_ENTRY compatibleEntry; | ||
226 | |||
227 | BURN_PACKAGE_TYPE type; | ||
228 | union | ||
229 | { | ||
230 | struct | ||
231 | { | ||
232 | LPWSTR sczVersion; | ||
233 | VERUTIL_VERSION* pVersion; | ||
234 | } Msi; | ||
235 | }; | ||
236 | } BURN_COMPATIBLE_PACKAGE; | ||
237 | |||
209 | typedef struct _BURN_PACKAGE | 238 | typedef struct _BURN_PACKAGE |
210 | { | 239 | { |
211 | LPWSTR sczId; | 240 | LPWSTR sczId; |
@@ -259,6 +288,8 @@ typedef struct _BURN_PACKAGE | |||
259 | BURN_DEPENDENCY_PROVIDER* rgDependencyProviders; | 288 | BURN_DEPENDENCY_PROVIDER* rgDependencyProviders; |
260 | DWORD cDependencyProviders; | 289 | DWORD cDependencyProviders; |
261 | 290 | ||
291 | BURN_COMPATIBLE_PACKAGE compatiblePackage; | ||
292 | |||
262 | BURN_PACKAGE_TYPE type; | 293 | BURN_PACKAGE_TYPE type; |
263 | union | 294 | union |
264 | { | 295 | { |
@@ -371,6 +402,9 @@ HRESULT PackagesParseFromXml( | |||
371 | void PackageUninitialize( | 402 | void PackageUninitialize( |
372 | __in BURN_PACKAGE* pPackage | 403 | __in BURN_PACKAGE* pPackage |
373 | ); | 404 | ); |
405 | void PackageUninitializeCompatible( | ||
406 | __in BURN_COMPATIBLE_PACKAGE* pCompatiblePackage | ||
407 | ); | ||
374 | void PackagesUninitialize( | 408 | void PackagesUninitialize( |
375 | __in BURN_PACKAGES* pPackages | 409 | __in BURN_PACKAGES* pPackages |
376 | ); | 410 | ); |