When using the wixpdb method of patching, if you refer to something using a
componentref, propertyref etc, then the whole of the fragment that the
"something" lives in is included in the patch. If, during your build, you
increment all file versions then everything in those fragments has changed
and you will have a lot of changed components in your patch.
One solution is to fragment your MSI. The topic "Building a patch using Wix"
in the Wix help contents shows an example of this.
Alternatively, you can use the admin install method of patching. This latter
option allows you to specify exactly what you want in the patch.
http://blogs.msdn.com/b/pmarcu/archive/2008/05/30/patching-something-you-didn
t-build-with-wix-using-wix-.aspx There may be other solutions that I'm not
aware of.

-----Original Message-----
From: Kanishk Rastogi [mailto:karas...@microsoft.com] 
Sent: 11 August 2011 05:01
To: wix-users@lists.sourceforge.net; Windows Installer XML Announcements
Cc: wix-d...@lists.sourceforge.net
Subject: [WiX-users] Question regarding upgrades...

Hi all,
Hi all,
I am trying to develop a "Small patch" for Our product via wixpdb way  with
the patch wxs as::

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";>
       <Patch
              AllowRemoval="yes"
              Classification="Update"
              Comments="Abra ka dabra"
              Description="dabra ka abra"
              DisplayName="patch"
              Manufacturer="AAA"
              TargetProductName="XXX">

              <Media Id="100" Cabinet="Data1.Cab">
                     <PatchBaseline Id="patch" />
              </Media>

              <PatchFamily
                     Id="MyPatchFamily"
                     Version="1.0.1709.0"
                     ProductCode="8AB21D86-21F0-430A-9AD1-2D90077104C3"
                     Supersede="yes">
                     <ComponentRef Id="cm_cbengine.exe.config" />
                     <ComponentRef Id="cm_VhdFileProvider.dll" />
              </PatchFamily>
       </Patch>
</Wix>


I want to patch just 2 files in this patch.. cbengine.exe.config and
VhdFileProvider.dll


The steps which I do are..

Build the product with version 1.0.1709.0.
Change the config file
Increment the version
Rebuild the product...


candle.exe patch.wxs
light.exe patch.wixobj

torch.exe -p -xi CloudBackupProviderolder.wixpdb
CloudBackupProvidernewer.wixpdb -out Patch.wixmst

pyro.exe patch.wixmsp -t patch Patch.wixmst -out Patch.msp

This patch gets generated and I am able to apply it.
But I see that all the dlls have the version updated...

Is that expected?
And is it copying all the dlls?

If yes does the patch also contains all the dlls. ?
Again if yes then whats the use of adding
<ComponentRef Id="cm_VhdFileProvider.dll" />
Also,
In the logs for all dlls I see::

MSI (s) (DC:4C) [15:04:13:968]: Executing op:
CacheBaselineFile(Baseline=0,FileKey=F__VhdFileProvider.dll,FilePath=C:\Progr
am Files\Microsoft Cloud Backup Provider\bin\VhdFileProvider.dll,,Existing=1)
MSI (s) (DC:4C) [15:04:13:981]: Executing op:
CacheRTMFile(SourceFilePath=C:\Program Files\Microsoft Cloud Backup
Provider\bin\VhdFileProvider.dll,FileKey=F__VhdFileProvider.dll,,ProductCode=
{8AB21D86-21F0-430A-9AD1-2D90077104C3},ProductVersion=1.0.1709,Attributes=460
8,,,,CopierFlags=0,,,,,,)
MSI (s) (DC:4C) [15:04:13:981]: Executing op:
RegisterSharedComponentProvider(PatchGUID={7BF6F157-1695-40CC-B4E8-A6124BE553
90},MediaCabinet=#Data1.Cab,File=F__VhdFileProvider.dll,Component={207B3B2A-0
4BF-4665-A6AB-76E3BC87D48F},ComponentVersion=1.0.1710.0,ProductCode={8AB21D86
-21F0-430A-9AD1-2D90077104C3},ProductVersion=1.0.1709,PatchSize=0,PatchAttrib
utes=0,PatchSequence=10056,SharedComponent=0,IsFullFile=1)
MSI (s) (DC:4C) [15:04:13:997]: Executing op:
FileCopy(SourceName=VHDFIL~1.DLL|VhdFileProvider.dll,SourceCabKey=F__VhdFileP
rovider.dll,DestName=VhdFileProvider.dll,Attributes=4608,FileSize=1633792,Per
Tick=65536,,VerifyMedia=1,,,,,CheckCRC=0,Version=1.0.1710.0,Language=1033,Ins
tallMode=58982400,,,,,,,)
MSI (s) (DC:4C) [15:04:13:998]: File: C:\Program Files\Microsoft Cloud Backup
Provider\bin\VhdFileProvider.dll;                Overwrite;          Won't
patch;     Existing file is a lower version
MSI (s) (DC:4C) [15:04:13:998]: Source for file 'F__VhdFileProvider.dll' is
compressed
MSI (s) (DC:4C) [15:04:13:999]: Re-applying security from existing file.
MSI (s) (DC:4C) [15:04:14:001]: Verifying accessibility of file:
VhdFileProvider.dll

There is a wont patch field  in the log..
Does it means that its not getting patched??


Is there a way I can ask the patch to just send limited files...

Thankx
Kanishk
PS: have attatched the logs for patching

-----------------------------------------------------------------------------
-
Get a FREE DOWNLOAD! and learn more about uberSVN rich system, 
user administration capabilities and model configuration. Take 
the hassle out of deploying and managing Subversion and the 
tools developers use with it. 
http://p.sf.net/sfu/wandisco-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
SDL PLC confidential, all rights reserved.
If you are not the intended recipient of this mail SDL requests and requires 
that you delete it without acting upon or copying any of its contents, and we 
further request that you advise us.
SDL PLC is a public limited company registered in England and Wales.  
Registered number: 02675207.
Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire SL6 7DY, 
UK.


------------------------------------------------------------------------------
Get a FREE DOWNLOAD! and learn more about uberSVN rich system, 
user administration capabilities and model configuration. Take 
the hassle out of deploying and managing Subversion and the 
tools developers use with it. 
http://p.sf.net/sfu/wandisco-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to