[wix-users] Alternative to WiX Patch

Edwin Castro egcastr at gmail.com
Mon Nov 27 09:24:08 PST 2017

You say "I did try to create a separate MSI but with the same UpgradeCode
but with a different Product ID and a different version." It sounds like
you were beginning to implement a normal major upgrade (which should
include all resources for your product, not just the difference). If you
didn't author the Upgrade table rows for the major upgrade to detect
related versions and didn't schedule FindRelatedProducts and
RemoveExistingProducts, then you didn't fully implement a major upgrade
which results in two entries in Add Remove Programs because the first
product is never uninstalled. Perhaps you were intentionally trying to
avoid a major upgrade because you were trying to implement a patch without
a MSP but I would just be guessing...

Edwin G. Castro

On Mon, Nov 27, 2017 at 9:15 AM, Edwin Castro <egcastr at gmail.com> wrote:

> I should point out that the reason the modified file was not "rolled back"
> is because of the component rules. The component for that file was
> installed by 2 different products (your second MSI didn't actually do an
> upgrade so you have two different products installed) so its reference
> count is 2 before you uninstall the second MSI. When the second MSI is
> uninstalled, the reference count goes down to 1 which ensures the file is
> not removed but the newest version is what remains on the system as per the
> component rules. Common files like these have very strict rules and must
> always be backwards compatible so that all products sharing that file can
> always use the newest version. The behavior you're seeing is correct
> behavior resulting from the component rules.
> --
> Edwin G. Castro
> On Mon, Nov 27, 2017 at 9:08 AM, Edwin Castro <egcastr at gmail.com> wrote:
>> I think you're describing a patch here. You can't really deliver a patch
>> as an MSI since you don't have a full product only a subset.
>> I think the question you should be asking is what kind of upgrade do you
>> want to employ to deliver the updated file and new file. In my opinion, you
>> should always use major upgrades which should always be delivered as MSI.
>> Minor upgrades can be used as long as the component rules are adhered to
>> very strictly but it can be quite difficult to ensure the component rules
>> are always followed. Rob has a bunch of old blogs on the component rules.
>> http://robmensching.com/blog/posts/2003/10/18/component-rules-101/ is
>> probably a good place to start. Minor upgrades can be delivered as MSI or
>> MSP. I *think* the difference is that the MSI contains all product
>> resources while the MSP contains just the "diff". Small updates are weird
>> and more constrained than minor upgrades. I think they can only be
>> delivered as MSP.
>> --
>> Edwin G. Castro
>> On Mon, Nov 27, 2017 at 7:40 AM, Ven H via wix-users <
>> wix-users at lists.wixtoolset.org> wrote:
>>> I have an MSI, which adds a registry key, installs and starts some
>>> services, installs a file and so on. Now, there is a requirement to
>>> update
>>> one file and add a new file. I know we can create a Patch by creating a
>>> difference / transform. But in my second MSI, I only want to include
>>> these
>>> 2 files (the updated one and the new one) and not the other files,
>>> probably
>>> like a HotFix. I don't want to create a Patch. I did try to create a
>>> separate MSI but with the same UpgradeCode but with a different Product
>>> ID
>>> and a different version. But this creates a new entry in Programs and
>>> Features. Also, while uninstalling this new MSI, it does rollback the new
>>> file, but it doesn't rollback the modified file (this file was originally
>>> created by the first MSI and modified by the second one). At least if it
>>> is
>>> able to rollback and restore the state during uninstallation, it would
>>> have
>>> been great. But it is not rolling back the modified file properly.Has
>>> anyone come across this scenario? If so, have you been able to find a
>>> solution without a Patch? Please help.
>>> Regards,
>>> Venkatesh
>>> ____________________________________________________________________
>>> WiX Toolset Users Mailing List provided by FireGiant
>>> http://www.firegiant.com/

More information about the wix-users mailing list