(2014/06/12 17:28), Craig Ringer wrote:
> On 06/12/2014 02:02 PM, Inoue, Hiroshi wrote:
>>
>>
>> Because msdtc process seems a 64bit application, 64bit pgxalib.dll
>> should be registered even when 32bit applications use MSDTC support.
>> The current way of registration isn't appropriate and 64bit installer
>> would have to register the entry beforehand.
>
> OK, so if I understand this right, it might be helpful to have
> pgenlist.dll expose a function that's callable with rundll32 to create
> the registry entries. Call it, say, registerxa().
It should be done for pgxalib.dll not pgenlist(a).dll if we do
such kind of registration.
> Then the registry entry creation code currently in
> EnlistInDtc_1pipe(...) could be factored out so it's callable as part of
> EnlistInDtc_1pipe(...) or via the new entry point.
>
> The installer can then invoke
>
> rundll32 pgenlist.dll,registerxa
>
> to create the appropriate entries.
>
> Reasonable?
>
> Or is it better to just create/update the registry entries directly
> using the MSI?
Yes it seems better.
> Looking at the current code, it appears that it tries to overwrite any
> existing value in that subkey if XA enlistment fails. So it should also
> "upgrade" existing entries. Right?
Yes but the implementation of pgxalib.dll has not been changed
for a long time. There's little dependency between pgxalib.dll
and drivers
regards,
Hiroshi INoue