Asked By Eric
25-Jan-07 04:02 PM

We have two products. One that we have had for quite a while, and a
second much newer one. For each one of these, we build two iso images.
One that is demo-only (it will only accept an evaluation license key),
and the other which is live that will accept any type of key. I have
things set up in the upgrade table such that the live version will
upgrade the demo-only version of the products.
For each case, the demo-only and live versions are nearly identical.
Product versions are the same, file versions for nearly all files is the
same. We are using the same set of tools to author both msi files, and
there are no validation errors.
With our older product, upgrades from demo-only to live work just fine.
With the newer one during the upgrade install, something goes wrong in
that we get tons of messages like this:
MSI (c) (FC:B8) [14:09:49:611]: Disallowing installation of component:
{8DB0BBCC-DC82-4F69-994E-A6F1C8E00C58} since the same component with
higher versioned keyfile exists
MSI (c) (FC:B8) [14:09:49:621]: Disallowing installation of component:
{2AE62817-3D09-4F59-85A5-1FD384857695} since the same component with
higher versioned keyfile exists
MSI (c) (FC:B8) [14:09:49:631]: Disallowing installation of component:
{8BE4E830-4BFD-4A69-9C5A-9F4E741B9D88} since the same component with
higher versioned keyfile exists
MSI (c) (FC:B8) [14:09:49:631]: Disallowing installation of component:
{C81F0835-7F36-405E-899A-1F076B661473} since the same component with
higher versioned keyfile exists
MSI (c) (FC:B8) [14:09:49:641]: Disallowing installation of component:
{2E2865D7-D91D-4B6F-9F8E-E03B8244D365} since the same component with
higher versioned keyfile exists
MSI (c) (FC:B8) [14:09:49:651]: Disallowing installation of component:
{AD705EB7-A4A4-4EE9-97C5-BDF6A42B41D6} since the same component with
higher versioned keyfile exists
and the installed product is crippled in that there are many missing
binaries. The messages actually come up at a couple of places. First
in the UI sequence during CostFinalize, then in the UI sequence during
MigrateFeatureState action, and then again in the execute sequence
during CostFinalize.
Does anyone have *any* idea why these messages come up for one product
and not the other? I suppose I can start to hack the installer build to
make each one more like the other until I reach a point where I identify
what the critical difference is, but that sounds like a huge waste of time.
-Eric