|
From: Mark O'D. <mar...@lu...> - 2001-09-25 00:32:27
|
David R. Robinson wrote: >>David, is there anything other version checking other than dll >> >versions > >>that are specifically used in the install? >> > >The core philosophy in installation scripts is that you never replease >an existing file with a file that is older than the one that already >exists on the system. Just about all scripts are built with this >assumption. This is typically done by using the version resource >information in the executable or DLL file. Sometimes it is done using >the date/time, but that method is very unreliable because people (like >the InterBase install script creators at Borland did with msvcrt.dll) >end up setting the date/time stamp of all files, including ones that >they did not create, to the current date. > >Existing InterBase installations have a version of 6.x or 5.x or even >4.x, Firebird using the exact same files, but will be version 1.x. Even >if you uninstall 6.x prior installing Firebird, there may be residual >files left behind because of the ShareDLLs registry settings for the >UseCount (i.e. uninstallers won't delete shared files unless >UseCount=1). This means that the only way to force a Firebird 1.0 >installation to work properly is to set all of the files to always >overwrite the existing file. This means that each and every file that >is referenced in the script will need to have the file option set to >always replace the existing file. This means that if there is a >Firebird 1.1 update, the 1.0 script will always overwrite the 1.1 >patched files with 1.0. > I agree with what you say, and from the above it is just the version of the dll that is a problem, there is no other version dependancies. So if the dll have a version of 6.2, which is what Im expecting it to have, then we should fit in fine although when Borland release 6.5 or later then the 'correct' installation process is to uninstall the current version before installing a new verison - which should be what we recommend anyway. As you say when we change dll names in fb2 (or 1.5 code) it wont be a problem, I also want to do something about that dreadful dependance on interbase.msg, like put the version string in the interbase.msg file name or something. Mainly we want little impact and correct operation for the user, but the 6.2 would seem to work roughly as expected, and not mean any change to install script for now. But really an uninstall/reinstall should be the recommended way to do it. Cheers Mark -- Your database needs YOU! http://www.firebirdSQL.org |