Simply make sure that this plugin's component now points to the location you
now wish it would install into, and supply the new component definition to
the customers MSIs. When the products are upgraded, the old components will
be removed. Unless you control the installation sequence of the customer's
MSIs, you will probably want to change the CLSID of your plugin when you
move its installation directory (that way, if some product is removed after
your upgrade, you don't wipe out part of the registration). You should also
change your component's GUID to one you define and maintain perpetually (the
best one is "*" if light.exe accepts it because that will ensure that the
guid is maintained as long as the keypath is the same, which is exactly the
behavior you need to help you adhere to the component rules).

What you don't say is if you build your customer's MSIs or if they build
them themselves. If all the MSIs are built by you or if you know they are
all built using WiX v3.x you can supply a WIXLIB that they simply include
with their build.

-----Original Message-----
From: little.forest [mailto:little.for...@ymail.com] 
Sent: Tuesday, July 06, 2010 4:40 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] How to install a component to make it work for multiple
builds

We're going to implement a plugin for Microsoft Outlook. We'll include this 
plugin in our MSI installer. First of all, we OEM our software. That means,
for 
example, the customerA has their own installer which may include 15
features; 
the customerB has their own installer which may include 20 features. If we
treat 
this Outlook plugin as one of the existing features, life will be easier. We

just need to add the plugin, give it a GUID, and the plugin will be
installed in 
the same folder as any other components. 


But now, the requirement for this Outlook plugin is, to make this plugin
serve 
for multiple builds. It means, all customer builds share one plugin. If the
new 
version of the build is installed(no matter customerA, or customerB, or 
customerC), then the build should update this shared plugin version if the
new 
build has the most updated version. Right now, the customer's build is
installed 
in the folder like "Program Files\CustomerA". I can imagine, this plugin has
to 
be installed in a common folder such as "Program Files\Common\My
Company\Outlook 
Plugin". 

How can I do that? 

As you know, customerA and customerB installers have different package ID.
How 
these different installers can control one component? By the way, we support

"Major Upgrade" in our installer for all customers. 

Thanks.

----------------------------------------------------------------------------
--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to