You have my vote. I could add a new interface, but people should be using the 
base class anyway. Perhaps we need to add an 
CBundleBootstrapperApplicationImpl<>-style class with simple virtual methods to 
appease people, but anyone building against the interfaces will face issues.


Heath Stewart
Software Design Engineer
Visual Studio, Microsoft
http://blogs.msdn.com/heaths

 
Date: Tue, 29 Apr 2014 17:22:46 -0500
From: r.sean.h...@gmail.com
To: wix-devs@lists.sourceforge.net
Subject: [WiX-devs] Is adding a method to a Burn COM Interface breaking?

2. I'm going to break this into a separate thread, hope that's OK.
It looks like Heath's change only added new methods.  Bob says that this is 
breaking because 3.7's changes were breaking.  Let's look back at the changes 
made to IBootstrapperApplication between 3.6 and 3.7:

1. Added new bootstrapper relation type (BOOTSTRAPPER_RELATION_UPDATE).2. Added 
new BOOL member to BOOTSTRAPPER_COMMAND struct (fPassthrough).3. Added new int 
parameter to OnSystemShutdown (nRecommendation).
4. Added new BOOL parameter to OnDetectBegin (fInstalled).5. Added new method: 
OnDetectForwardCompatibleBundle.6. Added new method: OnDetectUpdateBegin.7. 
Added new method: OnDetectUpdateComplete.
8. Added new BOOTSTRAPPER_RELATION_TYPE parameter to OnDetectRelatedBundle.
3, 4, and 8 are clearly breaking since they added required parameters to 
existing methods.  I'm not a COM expert, but because we force a recompile and 
are not striving for binary compatibility, I don't believe adding methods is a 
breaking change.

I think we need to give ourselves the ability to add methods to 
IBootstrapperApplication.  Full disclosure: I've been thinking about somehow 
informing the BA when creating a system restore point, which I'm pretty sure 
will require some new methods.


On Sun, Apr 27, 2014 at 11:50 PM, Bob Arnson <b...@joyofsetup.com> wrote:

Links:



1. https://github.com/wixtoolset/wix3/pull/21/files#r12034827

2. https://github.com/wixtoolset/wix3/pull/15/files#r12034610



On 28-Apr-14 00:49, Bob Arnson wrote:

> Not the kind of style discussion that devolves, I hope.

>

> 1. Sean sent a pull request that added an option to force packages to

> be cached by specifying an AlwaysCache attribute (yes/no) on the

> package. Caching is already controlled by a Cache attribute (yes/no).

> Sean gets bonus internet points for throwing a message if you were to

> specify both attributes. But the need to do that indicates a schema

> smell: Having two attributes to control three states is a bit wonky.

> One option is to create a new enum type to specify the three states.

> (This is done elsewhere in WiX, yielding perhaps my favorite boolean

> type: YesNoButton.) The downside is that while authoring would be

> compatible, there's a slight non-zero chance that someone could have a

> CodeDOM or similar dependency on the original type.

>

> Should we stick with the two attributes in v3.x and clean it up in v4.0?

>

> 2. Heath sent a pull request that, among other things, adds two

> methods to IBootstrapperApplication. Last time, we decided on a

> "no-error recompile required" policy. Heath suggested versioned

> interfaces. I'd be OK with that, as long as we don't carry them over

> to v4.0.

>

> Objections/concerns?

>

>

> --

> sig://boB

> http://joyofsetup.com/



------------------------------------------------------------------------------

"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE

Instantly run your Selenium tests across 300+ browser/OS combos.  Get

unparalleled scalability from the best Selenium testing platform available.

Simple to use. Nothing to install. Get started now for free."

http://p.sf.net/sfu/SauceLabs

_______________________________________________

WiX-devs mailing list

WiX-devs@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/wix-devs




------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
WiX-devs mailing list
WiX-devs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-devs                           
          
------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
WiX-devs mailing list
WiX-devs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-devs

Reply via email to