msi: Store the patch state in the registry.
This commit is contained in:
parent
03cddf9d05
commit
f7aa88fe7d
@ -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 )
|
|||||||
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
|
|||||||
LPWSTR patchcode;
|
LPWSTR patchcode;
|
||||||
LPWSTR transforms;
|
LPWSTR transforms;
|
||||||
LPWSTR localfile;
|
LPWSTR localfile;
|
||||||
|
MSIPATCHSTATE state;
|
||||||
} MSIPATCHINFO;
|
} MSIPATCHINFO;
|
||||||
|
|
||||||
typedef struct _column_info
|
typedef struct _column_info
|
||||||
|
Loading…
x
Reference in New Issue
Block a user