I've got a component that's installed by two products, via a merge module.
There's also some custom actions, conditioned something like this:
  Install_Ensure, Condition: $Comp1 = 3
  InstallRollback_Remove, Condition: $Comp1=3 AND NOT ?Comp1=3
  Uninstall_Remove, Condition: $Comp1 = 2 AND NOT UPGRADINGCODE
  (UninstallRollback_Ensure)

The Product2 uninstall works fine: the log shows that it gets "Installed:
Local;  Request: Absent;  Action: Null", so the shared component is --
correctly -- not removed until Product1 is uninstalled.

However, there's a problem with the Product2 install rollback condition.
During install the component state shows "Installed: Absent;  Request:
Local;  Action: Local". I was expecting Installed to be Local, not Absent! I
thought my "AND NOT ?Comp1=3" condition would mean the rollback remove would
only run when the component was not already installed, i.e. not run during
Prodcut2 install. But the rollback runs.

After searching, I found a confirmation in the docs at the bottom of
'Conditional Statement Syntax' that this behaviour is expected by Windows
Installer, "Note that you should not depend upon the condition $Component1=3
to check whether Component1 is locally installed on the computer..."

Question:
So what is the correct way for the Product2 install to know that the shared
component is already installed locally by Prodcut1?

Thanks for any suggestions

Daryn Mitchell,
Software Developer, Faronics Corporation


Note: I haven't tried SharedDllRefCount; from my reading of the docs it
didn't seem like it would solve this, except if I used it to support a hack
like manually checking the refcount in the registry at install time?





-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to