I would agree that this is a problem – but since the contents are different, the files should be included as part of the msp.  In fact later down in the log it even includes the line: “Including entire file: 'C:\build\******\latest\.\PFiles\******\bin\******.dll';”   Basically, the file is included but never installed during the patching process.  When you run msiexec for patches, you have the REINSTALLMODE options to tell windows what to do (i.e. reinstall everything, version > current version, version >= current version, only missing, etc).

 

To make things more interesting, I have been using WholeFilesOnly=”yes” for the PatchCreation element in the wxs file.  When I change this flag to no, the files get patched just fine.  This technically solves the problem, but I am still confused as to why…  Initially I was being pessimistic and just including the whole file.  How and why does a binary file patch differ compared to simply including the whole file?

 

I also have found a bug for the PatchCreation.CleanWorkingFolder attribute.  This maps to the DontRemoveTempFolderWhenFinished value in the Properties table of the pcp file.  If I set CleanWorkingFolder=”yes” then DontRemoveTempFolderWhenFinished becomes 1 when it should be 0 (values are opposite).

 


From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Vitaly Dolya
Sent: Sunday, June 18, 2006 7:46 AM
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Patching Problem

 

Brower, Jason wrote:

I am running into problems when deploying the msp patch files.  Everything compiles properly and the msp is successfully created.  However, dlls that have changed are not installed when the msp patch is applied.  Below is the output generated by MsiMsp and it looks to be including the dlls.  For the cmdline to apply the patch I am using:

msiexec /update patch.msp REINSTALL=ALL REINSTALLMODE=amus /L*v c:\patch.log

[skipped]

WARNING (14): File versions are equal.  Upgraded: 'C:\build\******\latest\.\PFiles\******\bin\******.dll' ver=2.0.47.0;  Target:

It looks like this is a problem: you should change (increase) file version to make patch work properly.
NOTE: in a same time you may keep assemblyversion unchanged for .net assembly, so you don't have to
change all the other assemblies that depends on it.

_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to