Hello,

today tried to create patches according to the documentation on [1] and
some points don't look correct or aren't clear to me:

1. The Product.wxs on the page has no variable defined to take the
Version passed on the commandline. So instead of:

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";>
    <Product Id="48C49ACE-90CF-4161-9C6E-9162115A54DD"
        Name="WiX Patch Example Product"
        Language="1033"
        Version="1.0.0"
        Manufacturer="Dynamo Corporation"
        UpgradeCode="48C49ACE-90CF-4161-9C6E-9162115A54DD">
...

I expected to see something like this:

<?ifndef Version?>
        <?define Version="1.0.0"?>
<?endif?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";>
    <Product Id="48C49ACE-90CF-4161-9C6E-9162115A54DD"
        Name="WiX Patch Example Product"
        Language="1033"
        Version="$(var.Version)"
        Manufacturer="Dynamo Corporation"
        UpgradeCode="48C49ACE-90CF-4161-9C6E-9162115A54DD">

If I look in the properties table of both the 1.0/product.msi and the
1.1/product.msi I see Version=1.0.0 while using the first snippet. If I
use the latter mark-up the version changes (to 1.0 or 1.1).
If I use the patch created from the msis with the former markup the
version int ARP stays on 1.0.0 after the installation of the patch, with
the latter markup it changes to 1.1.

2. The Patch.wxs has a <ComponentRef Id="SampleComponent"/> referencing
the component of the original 1.0 msi. Is this really necessary, because
it does not seem to matter in any way:
If it exists the file gets patched, if it does not exist the file gets
patched also. Even if I extend the Product.wxs by a second component and
file both get patched no matter if both, one or none of the original
components are referenced.

3. The Media/@Id is 5000. Why is the id this high? If I use the
MediaTemplate in my original msi can this really create up to 4999
media? I've read on a blog, that the Media/@Id on subsequent patches has
to be higher than the than the Media/@Id + number of patched files in
the first patches. Is this correct? What is the upper bound for
Media/@Id? Can I just add 100 or even 1000 per patch?

4. The version in the PatchFamily/@Version in the example is 1.0.0.0
although the patch is intended to update version 1.0 to 1.1. Will the
version always be 1.0.0.0 if it is the first patch to update a
"baseversion" to a patched version or does it align with the version of
the msi to patch or the version of the patch (and thus would be
incorrect in the example)?

As we all know patching with msi (and/or WiX) is not easy, so I'd love
to see the documentation on this matter to be as clear as possible. I'd
even volunteer to update the documentation with your input.

Thanks in advance.

Robert


[1] http://wixtoolset.org/documentation/manual/v3/patching/wix_patching.html

------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://p.sf.net/sfu/Zoho
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to