[wix-users] How to build patches between WiX 3.5 and > 3.5?

Omar Kilani omar.kilani at gmail.com
Thu May 12 17:55:49 PDT 2016


Hi again,

Just wanted to add... after a fun session of trying to figure out how
to make our patches work (tried patching admin expanded MSIs but that
didn't work properly due to added components, etc), I've managed to
track down why this happens.

At some point in history, the WixVariable table value was made nullable:

<tableDefinition name="WixVariable" unreal="yes">
<columnDefinition name="WixVariable" type="string" length="0"/>
<columnDefinition name="Value" type="localized" length="0" nullable="yes"/>
<columnDefinition name="Attributes" type="number" length="4"/>
</tableDefinition>

In 3.5 the value is not nullable. I.e. the column definition was 'l0',
now it's 'L0'.

So torch refuses to generate patches.

It would actually be okay to generate patches for this since the
definition became less restrictive, not more.

In the mean time we're able to use our own torch.exe which ignores this change.

Just thought I'd report on this in case someone actually wants to fix it. :)

Regards,
Omar

On Mon, May 9, 2016 at 9:55 PM, Omar Kilani <omar.kilani at gmail.com> wrote:
> Hi there,
>
> We have an issue where we're stuck using WiX 3.5 as later versions of
> WiX won't generate patches due to this error:
>
> error TRCH0279: The table definition of 'WixVariable' in the target
> database does not match the table definition in the updated database.
> A transform requires that the target database schema match the updated
> database schema.
>
> Is there any way to "upgrade" the prior .wixpdb's to the new schema?
>
> We're not able to upgrade our toolchain to VS2015 since the older WiX
> won't work...
>
> Thanks!
>
> Regards,
> Omar


More information about the wix-users mailing list