msi: The AppSearch and CCPSearch actions must be run only once.
This commit is contained in:
parent
a4be941df9
commit
8722d0c44a
|
@ -96,8 +96,6 @@ static const WCHAR szAllocateRegistrySpace[] =
|
|||
{'A','l','l','o','c','a','t','e','R','e','g','i','s','t','r','y','S','p','a','c','e',0};
|
||||
static const WCHAR szBindImage[] =
|
||||
{'B','i','n','d','I','m','a','g','e',0};
|
||||
static const WCHAR szCCPSearch[] =
|
||||
{'C','C','P','S','e','a','r','c','h',0};
|
||||
static const WCHAR szDeleteServices[] =
|
||||
{'D','e','l','e','t','e','S','e','r','v','i','c','e','s',0};
|
||||
static const WCHAR szDisableRollback[] =
|
||||
|
|
|
@ -1064,6 +1064,14 @@ UINT ACTION_AppSearch(MSIPACKAGE *package)
|
|||
MSIQUERY *view = NULL;
|
||||
UINT r;
|
||||
|
||||
if (check_unique_action(package, szAppSearch))
|
||||
{
|
||||
TRACE("Skipping AppSearch action: already done in UI sequence\n");
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
else
|
||||
register_unique_action(package, szAppSearch);
|
||||
|
||||
r = MSI_OpenQuery( package->db, &view, query );
|
||||
if (r != ERROR_SUCCESS)
|
||||
return ERROR_SUCCESS;
|
||||
|
@ -1111,6 +1119,14 @@ UINT ACTION_CCPSearch(MSIPACKAGE *package)
|
|||
MSIQUERY *view = NULL;
|
||||
UINT r;
|
||||
|
||||
if (check_unique_action(package, szCCPSearch))
|
||||
{
|
||||
TRACE("Skipping AppSearch action: already done in UI sequence\n");
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
else
|
||||
register_unique_action(package, szCCPSearch);
|
||||
|
||||
r = MSI_OpenQuery(package->db, &view, query);
|
||||
if (r != ERROR_SUCCESS)
|
||||
return ERROR_SUCCESS;
|
||||
|
|
|
@ -1084,6 +1084,7 @@ static const WCHAR szHU[] = {'H','K','E','Y','_','U','S','E','R','S','\\',0};
|
|||
static const WCHAR szWindowsFolder[] = {'W','i','n','d','o','w','s','F','o','l','d','e','r',0};
|
||||
static const WCHAR szAppSearch[] = {'A','p','p','S','e','a','r','c','h',0};
|
||||
static const WCHAR szMoveFiles[] = {'M','o','v','e','F','i','l','e','s',0};
|
||||
static const WCHAR szCCPSearch[] = {'C','C','P','S','e','a','r','c','h',0};
|
||||
|
||||
/* memory allocation macro functions */
|
||||
static void *msi_alloc( size_t len ) __WINE_ALLOC_SIZE(1);
|
||||
|
|
|
@ -209,13 +209,13 @@ UINT ACTION_FindRelatedProducts(MSIPACKAGE *package)
|
|||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
if (check_unique_action(package,szFindRelatedProducts))
|
||||
if (check_unique_action(package, szFindRelatedProducts))
|
||||
{
|
||||
TRACE("Skipping FindRelatedProducts action: already done on client side\n");
|
||||
TRACE("Skipping FindRelatedProducts action: already done in UI sequence\n");
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
else
|
||||
register_unique_action(package,szFindRelatedProducts);
|
||||
register_unique_action(package, szFindRelatedProducts);
|
||||
|
||||
rc = MSI_DatabaseOpenViewW(package->db, Query, &view);
|
||||
if (rc != ERROR_SUCCESS)
|
||||
|
|
Loading…
Reference in New Issue