[PATCH 1/1] msi: MsiGetPropertyA return wrong length when called from a custom action.

Dmitry Timoshkov dmitry at codeweavers.com
Thu Jan 11 21:54:14 CST 2007


"Mike McCormack" <mike at codeweavers.com> wrote:

> This is a hack, however the correct way to achieve bug compatiblity is 
> complicated.
> 
> MSI should run custom actions in a separate process and communicate with 
> the main installer process via COM.  This is quite a lot of work which 
> needs to be done anyway, but this patch will make us bug compatible with 
> Microsoft's implementation in the mean time.
> 
> Furthermore, writing a test case for this behavior requires adding a dll 
> contain custom action code to the dlls/msi/tests directory.  I can 
> supply an MSVC project showing the problem.
> 
> See bug 5768 (http://bugs.winehq.org/show_bug.cgi?id=5768) for more details.

Does behaviour of MsiGetPropertyA and MsiGetPropertyW differ in that case?
I'd be interested to have a look at the test case.

> --- a/dlls/msi/custom.c
> +++ b/dlls/msi/custom.c
> @@ -439,6 +439,8 @@ static DWORD WINAPI ACTION_CallDllFunction(thread_struct *stuff)
>     TRACE("calling function (%s, %s)\n", debugstr_w(stuff->source),
>           debugstr_w(stuff->target));
> 
> +    TlsSetValue( tls_slot, (void*) 1 );

Shouldn't this be reset to 0 once a custom action has finished?

-- 
Dmitry.



More information about the wine-devel mailing list