From f7aa88fe7d2d217bd4e1c230eb0a75b5d746997c Mon Sep 17 00:00:00 2001 From: Hans Leidekker Date: Tue, 20 Jul 2010 14:54:34 +0200 Subject: [PATCH] msi: Store the patch state in the registry. --- dlls/msi/action.c | 5 +++++ dlls/msi/msipriv.h | 1 + 2 files changed, 6 insertions(+) diff --git a/dlls/msi/action.c b/dlls/msi/action.c index 7ae8286c978..1300c65ee4d 100644 --- a/dlls/msi/action.c +++ b/dlls/msi/action.c @@ -567,6 +567,7 @@ UINT msi_apply_patch_db( MSIPACKAGE *package, MSIDATABASE *patch_db, MSIPATCHINF */ append_storage_to_db( package->db, patch_db->storage ); + patch->state = MSIPATCHSTATE_APPLIED; list_add_tail( &package->patches, &patch->entry ); return ERROR_SUCCESS; } @@ -3879,6 +3880,10 @@ static UINT msi_publish_patches( MSIPACKAGE *package, HKEY prodkey ) goto done; res = RegCreateKeyExW( product_patches_key, patch_squashed, 0, NULL, 0, KEY_ALL_ACCESS, NULL, &patch_key, NULL ); + if (res != ERROR_SUCCESS) + goto done; + + res = RegSetValueExW( patch_key, szState, 0, REG_DWORD, (const BYTE *)&patch->state, sizeof(patch->state) ); RegCloseKey( patch_key ); if (res != ERROR_SUCCESS) goto done; diff --git a/dlls/msi/msipriv.h b/dlls/msi/msipriv.h index d1e8113423f..8e978cccbba 100644 --- a/dlls/msi/msipriv.h +++ b/dlls/msi/msipriv.h @@ -153,6 +153,7 @@ typedef struct tagMSIPATCHINFO LPWSTR patchcode; LPWSTR transforms; LPWSTR localfile; + MSIPATCHSTATE state; } MSIPATCHINFO; typedef struct _column_info