Board index » delphi » Help w/ the BDE Merge Module

Help w/ the BDE Merge Module

I found a couple more issues with the BDE 5.2 Enterprise MM.  Is there someone that knows about the Merge Module?

Here are the bugs I've found:

1)  BDESetSQLLinks calls the ResolveSource Windows Installer custom action during an uninstall (which it should not do).  This only
happens on Win95/98 because BDESetSQLLinks occurs during the InstallUI Sequence, and the InstallUI Sequence only fires during
uninstall on Win95/98 machines (and probably Me).  I've tried a condition of REMOVE<>"ALL", however this may not be fool proof since
REMOVE is not garaunteed to be set until after InstallValidate occurs, and ths occurs after BDESetSQLLinks is firing.  (But so far
it seems to solve the problem for me).
2)  BDESetSQLLinks calls the ResolveSource Windows Installer custom action when the install is started in Maintenance mode.  I'm not
sure if BDESetSQLLinks should be called here.  It should not be called in cases where the user is going to end up removing the
software.  I don't know if BDESetSQLLinks should be called when an install needs to Modify/Repair an install.  I'd like to know if I
can safely change the condition on BDESetSQLLinks to "Not Installed".  That way ResolveSource will only be called when the user is
garuanteed to have the source available, thus avoiding the error.  But, does the install need to call BDESetSQLLinks for a repair or
modify of the install (assming a modify does not change anything BDE-related)?
3)  There is a problem in the Language field of the File table.  Several BDE files have a language of 0.  But there's a problem
(according to MS) in the way that the language is actually specified in the .dlls.  As a result, Windows Installer reads the
langauge of the files as being NULL (Langauge irrelavent), as opposed to 0 (all langauges supported) as specified in the File table.
This means that if someone already has the BDE installed, all of their BDE files are replaced since the install thinks the ones in
the install have better langauge support even if the versions are the same.  This means people installing from the web have to
re-download all the BDE files each time they run an install.  The solution is to clear the 0 values from Language field in the File
table.

I can fix the 3rd problem safely, but the first two issues are related to SQL Links.  Even though I have D5 enterprise, my current
app only uses Paradox tables.  Is there any way I can get the D5 Pro Merge Module so I can avoid this whole SQL Links problem?
Failing that, is there anyone that can fill me in if it's safe to only run the BDESetSQLLinks custom action during the inital
install?

Thanks,
Chris Pettingill

 

Re:Help w/ the BDE Merge Module


Quote
Chris Pettingill wrote:
> I found a couple more issues with the BDE 5.2 Enterprise MM.  Is there someone that knows about the Merge Module?

> Here are the bugs I've found:

4)
Not that this is helpful, but I just thought I'd mention a 4th problem.
  It appears that the BDESetSQLLinks action doesn't happen at all if you
do a silent install (because it is in the InstallUI sequence and not the
InstallExecute sequence.

Other Threads