Commit f7aa88fe authored by Hans Leidekker's avatar Hans Leidekker Committed by Alexandre Julliard

msi: Store the patch state in the registry.

parent 03cddf9d
...@@ -567,6 +567,7 @@ UINT msi_apply_patch_db( MSIPACKAGE *package, MSIDATABASE *patch_db, MSIPATCHINF ...@@ -567,6 +567,7 @@ UINT msi_apply_patch_db( MSIPACKAGE *package, MSIDATABASE *patch_db, MSIPATCHINF
*/ */
append_storage_to_db( package->db, patch_db->storage ); append_storage_to_db( package->db, patch_db->storage );
patch->state = MSIPATCHSTATE_APPLIED;
list_add_tail( &package->patches, &patch->entry ); list_add_tail( &package->patches, &patch->entry );
return ERROR_SUCCESS; return ERROR_SUCCESS;
} }
...@@ -3879,6 +3880,10 @@ static UINT msi_publish_patches( MSIPACKAGE *package, HKEY prodkey ) ...@@ -3879,6 +3880,10 @@ static UINT msi_publish_patches( MSIPACKAGE *package, HKEY prodkey )
goto done; goto done;
res = RegCreateKeyExW( product_patches_key, patch_squashed, 0, NULL, 0, KEY_ALL_ACCESS, NULL, &patch_key, NULL ); 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 ); RegCloseKey( patch_key );
if (res != ERROR_SUCCESS) if (res != ERROR_SUCCESS)
goto done; goto done;
......
...@@ -153,6 +153,7 @@ typedef struct tagMSIPATCHINFO ...@@ -153,6 +153,7 @@ typedef struct tagMSIPATCHINFO
LPWSTR patchcode; LPWSTR patchcode;
LPWSTR transforms; LPWSTR transforms;
LPWSTR localfile; LPWSTR localfile;
MSIPATCHSTATE state;
} MSIPATCHINFO; } MSIPATCHINFO;
typedef struct _column_info typedef struct _column_info
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment