I'll try and answer this but it's best to seek some other opinions too.

1. The order of patch installation wont usually matter. When you create a
patch, you target it at a particular version or even multiple versions (eg
patched/upgraded installations) and MSI works out the right sequence. See the
MS patching whitepaper at
http://www.microsoft.com/download/en/details.aspx?id=19013
You do this by creating one or more transforms (diffs) with the torch tool
and passing them when you create the patch with pyro.

2. The 4th version field of the MSI product version is ignored by Windows
installer. You can use it for information but we don't - some APIs will
retrieve the 4th field however. We use [major version].[service pack].[build]
The files in your installer have no such restrictions. Version those in
whatever way suits you.

3. The way we do that currently is to build the patch from administrative
installations of the released and updated MSIs instead of using wixpdbs. 
http://blogs.msdn.com/b/pmarcu/archive/2008/05/30/patching-something-you-didn
t-build-with-wix-using-wix-.aspx
and other articles in that blog.

4. MSI records what patches are applied to a product. It depends on how you
want to retrieve the information. You can use MsiEnumPatches() from C++ for
example. You could also install something to act as a marker.

Useful links include:
MSDN on Windows installer
Peter Marcu's blog
Heath Stewart's blog
Rob Menchsings blog (and others on the Wix team)
This mailing list's archives
Wix docs


-----Original Message-----
From: Sanjay Poria [mailto:sanjay.po...@xanalys.com] 
Sent: 10 January 2012 23:18
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Patching

I am in the process of writing an installer for a company product (we were
previously using Installshield). Once, released we will need the produce
patches for bug fixes and enhancements. The expectation that these patches
will consist of simply updating some of the released files and/or adding new
files not part of the initial distribution.   I think we will generally do a
minor upgrade. In some cases the patches are dependent on a previous patch
and in other cases not.
 
Therefore I've been reading material about how we should structure our
initial release of the product to best enable but still have some questions
about things that aren't clear. Can someone help me here:
 
1.       How can we generate the diff against the installed version for the
patches that can be installed in any order. We are not sure what the users
machine will have because they may have already applied one of the other
patches. Surely we don't need to generate a patch for each possible order of
installation of all the patches. 
2.       We can update the 3rd or 4th  component of product version when
doing an upgrade/patch for some. Can someone explain the consequences of each
option. When we generate a diff for the patch, does the generated patch use
the product version and only patch against it or does it only patch products
with matching Product GUID and file versions.
3.       When creating a patch, I want to explicitly specify the collection
of files (DLLs etc.) to be upgraded. I don't want any other existing files to
be touched. I have read that when you specify a patch components (i.e. via
ComponentRef) inside a PatchFamily element, any components in the same
fragment will also be updated.   Can I avoid this without having to create
different fragments for every component in my product which is a bit of a
pain.
4.       As far as I can tell, you can always apply a patch (msp) multiple
times even if the product is already patched. Is there a way to flag that the
patch is already installed without updating the product version. 
 
If there are any good sources of material which answer some of these
questions, please point them out to me.
 
Thanks in advance
sanjay
-----------------------------------------------------------------------------
-
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
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.


------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual 
desktops for less than the cost of PCs and save 60% on VDI infrastructure 
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to