1. Good. This is really the only correct solution.

2. The Windows Installer manages the folder the Component is installed to
for each Product. Thus, changing the installation folder works fine. The
KeyPath is just the File or RegistryKey or ODBC Driver (does anybody use
this anymore?). Note: you can get things confused if you put a Property
reference in the middle of your RegistryKey/@Key.

In your example below, the KeyPath for the Components is the same if it is
always "SharedDll".

Note: the Windows Installer's special handling of the folder makes it tricky
to state the Component Rules. I saw someone regularly stating a simplified
version of the Component Rules on Stack Overflow that could lead to
confusion like yours. I kept trying to correct the statements as I found
them. <smile/>

3. Uninstall is hosed as well. This just does not work. Check out this old
blog post about Component Rules and hopefully it helps:
http://robmensching.com/blog/posts/2003/10/18/Component-Rules-101


On Thu, Jan 7, 2010 at 1:58 AM, Ondrej Zarevucky
<ondrej.zarevu...@fine.cz>wrote:

> Hi everybody,
> we have more products sharing the same shared libraries and I'd like to
> clarify some things, before I proceed.
>
> 1) Shared component between two products using same KeyPath and same Guid.
> - From earlier discussion I understand this is the proper solution and
> in my tests everything works perfectly.
>
> 2) "Shared component" between two products using DIFFERENT KeyPaths, but
> SAME Guid.
> - I've read
>
> http://blogs.msdn.com/heaths/archive/2009/12/21/about-shared-components.aspx
> , but I don't understand if it is supported solution or just one which
> works, because it needs to work for compatibility reasons.
> - How should I solve this issue, if the MSIs are authored to use same
> KeyPaths, but the user is allowed to change the Target Directory
> independently for each install?
> Example:
> - ProductOne and ProductTwo both use SharedLib.Dll with same Guid;
> - ProductOne installs the SharedLib.Dll in FolderOne
> - ProductTwo installs the SharedLib.Dll in FolderTwo
>
> 3) "Shared component" between two products using SAME KeyPaths, but
> DIFFERENT Guids.
> - I understand the library would get overwritten using the versioning
> rules. Will this properly work for uninstalls? I need both products to
> work when the other gets uninstalled.
>
> BTW: For updates we are using Major Upgrades.
>
> Thank you for clarification.
> Ondřej Zarevúcky
>
>
> ------------------------------------------------------------------------------
> This SF.Net email is sponsored by the Verizon Developer Community
> Take advantage of Verizon's best-in-class app development support
> A streamlined, 14 day to market process makes app distribution fast and
> easy
> Join now and get one step closer to millions of Verizon customers
> http://p.sf.net/sfu/verizon-dev2dev
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>



-- 
virtually, Rob Mensching - http://RobMensching.com LLC
------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to