Correct query quoting based on Mike's patch.

Also more error messages about return codes from custom actions and
ignore an error that we should be ignoring.
This commit is contained in:
Aric Stewart 2005-05-20 09:40:02 +00:00 committed by Alexandre Julliard
parent a46003c436
commit 721c11a52a
1 changed files with 14 additions and 10 deletions

View File

@ -80,9 +80,10 @@ UINT ACTION_CustomAction(MSIPACKAGE *package,LPCWSTR action, BOOL execute)
MSIQUERY * view;
MSIRECORD * row = 0;
static const WCHAR ExecSeqQuery[] =
{'s','e','l','e','c','t',' ','*',' ','f','r','o','m',' ','C','u','s','t','o'
,'m','A','c','t','i','o','n',' ','w','h','e','r','e',' ','`','A','c','t','i'
,'o','n','`',' ','=',' ','`','%','s','`',0};
{'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ',
'`','C','u','s','t','o' ,'m','A','c','t','i','o','n','`',
' ','W','H','E','R','E',' ','`','A','c','t','i' ,'o','n','`',' ',
'=',' ','\'','%','s','\'',0};
UINT type;
LPWSTR source;
LPWSTR target;
@ -251,8 +252,9 @@ static UINT store_binary_to_temp(MSIPACKAGE *package, LPCWSTR source,
MSIQUERY * view;
MSIRECORD * row = 0;
static const WCHAR fmt[] =
{'s','e','l','e','c','t',' ','*',' ','f','r','o','m',' ','B','i'
,'n','a','r','y',' ','w','h','e','r','e',' ','N','a','m','e','=','`','%','s','`',0};
{'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ',
'`','B','i' ,'n','a','r','y','`',' ','W','H','E','R','E',
' ','`','N','a','m','e','`',' ','=',' ','\'','%','s','\'',0};
HANDLE the_file;
CHAR buffer[1024];
@ -333,7 +335,7 @@ static void file_running_action(MSIPACKAGE* package, HANDLE Handle,
static UINT process_action_return_value(UINT type, HANDLE ThreadHandle)
{
DWORD rc;
DWORD rc=0;
if (type == 2)
{
@ -357,7 +359,8 @@ static UINT process_action_return_value(UINT type, HANDLE ThreadHandle)
case ERROR_NO_MORE_ITEMS:
return ERROR_SUCCESS;
default:
return ERROR_FUNCTION_FAILED;
ERR("Invalid Return Code %lx\n",rc);
return ERROR_INSTALL_FAILURE;
}
}
@ -479,7 +482,7 @@ static DWORD WINAPI DllThread(LPVOID info)
stuff = (thread_struct*)info;
rc = ACTION_CallDllFunction(stuff);
TRACE("MSI Thread (0x%lx) finished\n",GetCurrentThreadId());
TRACE("MSI Thread (0x%lx) finished (rc %li)\n",GetCurrentThreadId(), rc);
/* clse all handles for this thread */
MsiCloseAllHandles();
return rc;
@ -630,7 +633,8 @@ static UINT HANDLE_CustomType19(MSIPACKAGE *package, LPCWSTR source,
static const WCHAR query[] = {
'S','E','L','E','C','T',' ','`','M','e','s','s','a','g','e','`',' ',
'F','R','O','M',' ','`','E','r','r','o','r','`',' ',
'W','H','E','R','E',' ','`','E','r','r','o','r','`',' ','=',' ','%','s',0
'W','H','E','R','E',' ','`','E','r','r','o','r','`',' ','=',' ',
'\'','%','s','\'',0
};
MSIQUERY *view = NULL;
MSIRECORD *row = 0;
@ -685,7 +689,7 @@ static UINT HANDLE_CustomType50(MSIPACKAGE *package, LPCWSTR source,
prop = load_dynamic_property(package,source,&prc);
if (!prop)
return prc;
return ERROR_SUCCESS;
deformat_string(package,target,&deformated);
len = strlenW(prop) + 2;