Hi Dave,

Yeah, I agree that's a good solution. However, one of the constraints of the 
shared component is that we can only have one COM registered (it integrates 
into a thirdparty application). So reversion/relocate and re-guid is not 
available as a solution. (We did workshop a development solution that would 
resolve the problem and allow us to re-guid for correct deployment, but the 
face the Engineering Manager pulled told the story :) .)

The idea of a separate msi isn't too bad - I guess I'd be able to do something 
so that when all products that depend upon the shared component are uninstalled 
then it would also be uninstalled. I'm a very recent upgrader from WiX 2 to WiX 
3, so not sure if Burn, etc would help me do this. 

However, again, dollars will win over technical correctness - the likelihood of 
this problem affecting a client is quite low and the fix is relatively simple 
for our support team to resolve, so I don't think I'll get much support for 
doing the work. Everyone's advice has definitely helped though - at least we 
understand the problem that we're creating for ourselves, which is much better 
than doing it by accident.

Once again, thanks to all for the input, I appreciate it.

Cheers,
Michael

-----Original Message-----
From: David Watson [mailto:dwat...@sdl.com] 
Sent: Wednesday, 14 August 2013 7:36 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Adding a new dependent file to shared component 
without breaking component rules

When we release side by side versions of products we have to 
reversion/relocate(re-guid if com) all our shared components. 

e.g.
All file major versions are increased and we install into different locations.
All com components have version dependent naming and are reworked to not clash 
with previous versions.
This may not be an option if it is a third party com component though, but 
there is the potential to use registry free com but this does have limitations.

%commonfiles%\my company\product1shared
%commonfiles%\my company\product2shared

%programfiles%\my company\product\product1 % programfiles %\my 
company\product\product2

If you are not dealing with com you can load your dependencies dynamically from 
the new common folder in the later version of the software.

Beyond that you are getting into bad practices.

Could you install the dependent dll (or shared components) in a separate msi 
that doesn't get uninstalled automatically on product2 removal.

Or some horrendous custom action that puts the dependent dll back if you are 
removing it and will break product1.

Dave

-----Original Message-----
From: Michael Partridge [mailto:michael.partri...@petrosys.com.au]
Sent: 14 August 2013 03:39
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Adding a new dependent file to shared component 
without breaking component rules

Thanks to all for the feedback.

I do agree with the consensus that Product1 is broken and should be fixed with 
an upgrade or patch. However, in the real world, that isn't going to happen in 
this case. As I said, Product1 and Product2 are side-by-side installs of the 
same application, where there is separate Product for each major version 
shipped. So, in my example Product1 is really a placeholder representing 12 
different Products (which then all have their own minor version history). I 
know I'll never get the resources to make the fix for all these versions, 
unfortunate situation where money wins over perfection. At least I understand 
(correctly!) the compromise we're making.

(And yeah, we do have a service plan for all our earlier versions for, say, 
security issues, but this issue won't be high enough up the list to trigger one 
of those. I will keep a record and put in the fix if we do create a new version 
of one of the existing "Product1"'s.)

Thanks again for the useful input.

Cheers,
Michael
Ps. I have pushed back to the developer to see if we can remove this additional 
dependency, but unsure if that will be possible.


-----Original Message-----
From: Phil Wilson [mailto:phil.wil...@mvps.org]
Sent: Wednesday, 14 August 2013 8:08 AM
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] Adding a new dependent file to shared component 
without breaking component rules

I agree. A common shared component has been updated and it needs fixing in all 
the products because it can no longer be shared properly. 

Phil 

-----Original Message-----
From: David Watson [mailto:dwat...@sdl.com]
Sent: Tuesday, August 13, 2013 10:14 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Adding a new dependent fileger to shared component 
without breaking component rules

This is now a bug in product1. It needs fixing at a priority that your product 
owner decides. You must have an update strategy for that product, what if it 
has a critical security issue/flaw?

You could release product2 as a burn bundle and include a fix in it for
product1 by adding a major upgrade msi or msp to it along with your product2 
msi.

Dave


-----Original Message-----
From: Rob Mensching [mailto:r...@robmensching.com]
Sent: 13 August 2013 15:16
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Adding a new dependent file to shared component 
without breaking component rules

No, don't force features to not be uninstalled when uninstalling. Crazy things 
will happen. In general, don't mess with feature selection lightly.

Michael, I misread the word "dependency". I think you have analyzed the math on 
this correctly. This is one of the scenarios where the Component Rules are 
fundamentally broken. Windows Installer expected you to not add dependencies 
like this... but devs will be devs and it'd be nice if they actually handled it 
correctly.




On Tue, Aug 13, 2013 at 2:55 AM, Blair Murri <os...@live.com> wrote:

> You could put D2.dll into its own feature, and force that feature to 
> not be removed on product removal if product 1 is still installed. You 
> get the same "effect" of D2.dll getting orphaned but at least you 
> don't perpetrate the problems of sharing binaries in the same 
> component in all other scenarios.
>
> > From: michael.partri...@petrosys.com.au
> > To: wix-users@lists.sourceforge.net
> > Date: Tue, 13 Aug 2013 04:07:56 +0000
> > Subject: Re: [WiX-users] Adding a new dependent file to shared 
> > component
> without breaking component rules
> >
> > If I put D2.dll in its own component, then, assuming Product1 and
> Product2 installed, when Product2 is uninstalled, D2.dll will be removed.
> However, A.dll will still be at version 1.1.0, so will have lost its 
> dependency and thusly won't run.
> >
> > NB: I can't change Product1 - it's already in the field and won't 
> > have
> any updates. In reality Product1 and Product2 are different versions 
> of our product that can be installed side-by-side - users like to have 
> access to previous versions.
> >
> > Cheers,
> > Michael
> >
> > -----Original Message-----
> > From: Rob Mensching [mailto:r...@robmensching.com]
> > Sent: Monday, 12 August 2013 6:14 PM
> > To: General discussion for Windows Installer XML toolset.
> > Subject: Re: [WiX-users] Adding a new dependent file to shared 
> > component
> without breaking component rules
> >
> > Why not put D2.dll in it's own Component?
> >
> >
> > On Sun, Aug 11, 2013 at 10:37 PM, Michael Partridge <
> michael.partri...@petrosys.com.au> wrote:
> >
> > > Hi All,
> > >
> > > I was wondering if the state of play has changed at all since
> > >
>
http://stackoverflow.com/questions/703359/wix-add-new-file-to-shared-compone
n
twasdiscussed?
> > >
> > > Basically, I have Product1 (already released) and Product2 (in
> > > development) which both share the same component A.dll. A.dll is 
> > > installed to %COMMONFILES%/MyProducts/.
> > >
> > > Product1 installs A.dll version 1.0.0, which is dependent upon D1.dll.
> > > Product2 installs A.dll version 1.1.0, which is dependent upon 
> > > D1.dll and D2.dll.
> > >
> > > Due to the way that A.dll is used (it's a COM component registered 
> > > in a thirdparty application, and we can only register one .dll) 
> > > there isn't the option of creating newA.dll and putting that into
Product2.
> > > (At least not without breaking Product1.)
> > >
> > > I think my only option is to add D2.dll in A.dll's component, 
> > > breaking the component rules, and live with the fact that D2.dll 
> > > will remain on the user's computer if they uninstall Product2 then 
> > > uninstall Product1. At least then, if someone uninstalls Product2 
> > > our .dll will continue to run correctly.
> > >
> > > Does anyone have any further insight?
> > >
> > > Thanks,
> > > Michael
> > >
> > > ------------------------------------------------------------------
> > > ----
> > > -------- Get 100% visibility into Java/.NET code with AppDynamics 
> > > Lite!
> > > It's a free troubleshooting tool designed for production.
> > > Get down to code-level detail for bottlenecks, with <2% overhead.
> > > Download for free and get started troubleshooting in minutes.
> > > http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/os
> > > tg.c lktrk _______________________________________________
> > > WiX-users mailing list
> > > WiX-users@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/wix-users
> > >
> > >
> >
> ----------------------------------------------------------------------
> --------
> > Get 100% visibility into Java/.NET code with AppDynamics Lite!
> > It's a free troubleshooting tool designed for production.
> > Get down to code-level detail for bottlenecks, with <2% overhead.
> > Download for free and get started troubleshooting in minutes.
> >
> http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.c
> lktrk
> > _______________________________________________
> > WiX-users mailing list
> > WiX-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/wix-users
> >
> >
> >
> >
> ----------------------------------------------------------------------
> --------
> > Get 100% visibility into Java/.NET code with AppDynamics Lite!
> > It's a free troubleshooting tool designed for production.
> > Get down to code-level detail for bottlenecks, with <2% overhead.
> > Download for free and get started troubleshooting in minutes.
> >
> http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.c
> lktrk
> > _______________________________________________
> > WiX-users mailing list
> > WiX-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
> ----------------------------------------------------------------------
> -------- Get 100% visibility into Java/.NET code with AppDynamics 
> Lite!
> It's a free troubleshooting tool designed for production.
> Get down to code-level detail for bottlenecks, with <2% overhead.
> Download for free and get started troubleshooting in minutes.
> http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.c
> lktrk _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
----------------------------------------------------------------------------
-
-
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
SDL PLC confidential, all rights reserved.
If you are not the intended recipient of this mail SDL requests and requires 
that you delete it without acting upon or copying any of its contents, and we 
further request that you advise us.
SDL PLC is a public limited company registered in England and Wales.
Registered number: 02675207.
Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire SL6 7DY, 
UK.


----------------------------------------------------------------------------
--
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



-----------------------------------------------------------------------------
-
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



-----------------------------------------------------------------------------
-
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to