Hans Leidekker : msi: Store the patch state in the registry.
Alexandre Julliard
julliard at winehq.org
Tue Jul 20 11:20:35 CDT 2010
Module: wine
Branch: master
Commit: f7aa88fe7d2d217bd4e1c230eb0a75b5d746997c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f7aa88fe7d2d217bd4e1c230eb0a75b5d746997c
Author: Hans Leidekker <hans at codeweavers.com>
Date: Tue Jul 20 14:54:34 2010 +0200
msi: Store the patch state in the registry.
---
dlls/msi/action.c | 5 +++++
dlls/msi/msipriv.h | 1 +
2 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index 7ae8286..1300c65 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 d1e8113..8e978cc 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
More information about the wine-cvs
mailing list