PDA

View Full Version : patch



Mariapr
08-04-2004, 07:00 AM
hi, I have just found out that I cannot make the patch (created by the IS 7.04 wizard) replace the files.
for example, in the installed old version I have the files versions like x.0.0.500, and the newer package contains the same files with versions x.0.0.700.
after I create and apply patch, the properties change (for example, the support info is changed obviously and the new files are added),
but the old files remain in place, and they are not replaced.

could you please help me- what settings or properties do I need to set to create a "correct" patch?

thanks in advance

huntant
08-04-2004, 08:54 AM
It might be the version numbering that you are using. MSI only supports x.xx.xxxx. If you have a forth field MSI ignores it. If you are able to, try changing it so your version is something like x.00.700.

Also try looking into the MsiFileHash table.




Anthony

Mariapr
08-05-2004, 03:16 AM
thanks...
but it seems to be a problem for me:(
because I need to create a patch which has to replace about 100 files according to the build number, and we have build numbers as a 4th field of the version, ôòâ it is hard to change.

anyway, thank you very much for the hint.

Mariapr
08-05-2004, 04:38 AM
by the way, the newer files have more late date of creation.
can I make the patch replace the files with the same version, but with another creation date?

huntant
08-05-2004, 08:32 AM
MSI will replaces files by date if no version is available, but if the modified date is different then the create date for the installed file, then MSI will leave it alone. This means that the file is customizable and the user may lose some settings.

But, your best bet is to correct your version number. Then you never have to worry about this. Depending on how you build your product, and what tools you use, correcting the version would be possible, even on so many files.

The product I work with has over 300 files and at build time we set the version number. How are you setting the build number on all of them?




Anthony

Mariapr
08-06-2004, 03:27 AM
thank you for the detailed reply.
I have read these explanations in msdn, and I have also changed the file versions- though I continue to have some problems with file replacing.
but I will make some more experiments and hope to solve the problem. if it works, of course we can change the versions of all files during the build.

btw, in IS 7.04 automation interface there is a way to build a patch basing on the ready pcp file. Do I understand correctly, that in DeveloperX there is now such possibility and I can only build pcp and msp file at the same time?

huntant
08-06-2004, 07:25 AM
I use Microsoft's msimsp.exe command to create my patches. This uses a ready built .pcp file. I also make any neccessary changes to the pcp file in my build script using the WiRunSQL.vbs script.

Note: both tools come with the MSI SDK.



Anthony