PDA

View Full Version : Patch workaround - 2 options



AnXdea Software
07-25-2002, 11:07 AM
Ok, we still have problems installing a patch on a machine that has a previous patch installed. So we have a work around - has anyone tried this - if so... any issues/problems

The problem :
) We have a main setup(ver. 3.1) installing a VB Application with ActiveX Components and lots of merge modules.

2) On this setup we have two patches lets say Patch A and Patch B .

3) Patch A is working perfectly on this main setup and upgrades the application to ver. 3.2.

4) Now, when we run Patch B on these machines, the patch runs smoothly, it shows some files also getting copied , the finish dialog comes and the patch ends. But, when we see the directory structure of our application, no file has actually got updated or copied. Even the new files added haven't come.

5) Patch B works well if we runs it directly on the main setup without having Patch A installed. It upgrades all the files and dlls.

6) Our requirement is that we need to have Patch B working while having Patch A installed on the machine.

Work Around to Add new files:
We are sending new files in a new feature. Every file in the install setup is under a particular feature like 'SampleCompany.mdb' is in feature - 'Database' and 'TRCustomer.dll' is in feature - 'Program Files'.

So, now for adding a new file called 'NewFile.dll' we have created a new feature called 'NewUpgradeFiles'. Basically the patch setup would not be carrying a new dll but a complete feature called 'NewUpgradeFiles' which further contains 'newfile.dll'.

So we managed to add new dll's to our install using this option!!!


Work Around to Update existing dlls:
(a)Workaround ONE: We use the install script to un-register and delete the old version TRCustomer.dll and then use a feature called 'Companion File' i.e associating TRCustomer.dll with some file already getting copied. Since we were able to upgrade MainProgram.exe, we made TRCustomer.dll , a companion file of MainProgram.exe. In this case TRCustomer.dll will always get copied along with MainProgram.exe but only if the old version TRCustomer.dll has been unregistered and deleted using the installscript.

(b)Workaround Two :Here we send TRCustomer.dll in as a new feature. In this case if an existing file is sent under a new feature, it always get updated.

Any comments ??