[wix-devs] https://github.com/wixtoolset/issues/issues/4628

Rob Mensching rob at firegiant.com
Mon Apr 5 17:45:32 PDT 2021


1. That's basically it. A Bundle is the Burn engine plus "BA Container" plus "Attached Container" plus any loose payloads needed to coordinate the download/cache/install/uninstall/upgrade of a set of packages.

2. Messaging should be used for all user facing messages. Exceptions should only be used for "the tools are messed up, please send this call stack to wix-devs" (aka: "this should never happen"). In the end, users should never see exceptions.

3. As far as I know, you can't ignore errors.

4. We do try to progress as far as possible to collect as many unique errors as possible without reporting errors that are actually caused by earlier reported errors.

5. We've stopped bothering with supporting translations for error messages. It's been 17 years (today!) and zero people have contributed to localizing the toolset error messages. That's fine, we've had many translations to the installation UI which is where translation effort should focus.

6. There is nothing special about the order of error numbers except that unique errors have unique numbers.

-----Original Message-----
From: wix-devs <wix-devs-bounces at lists.wixtoolset.org> On Behalf Of Ron Martin via wix-devs
Sent: Monday, April 5, 2021 5:32 PM
To: wix-devs at lists.wixtoolset.org
Cc: Ron Martin <cpuwzd at comcast.net>
Subject: Re: [wix-devs] https://github.com/wixtoolset/issues/issues/4628

I have much to learn about bundles. I assume that a  bundle is an entire payload, separate from the code installed by the BAL. Bundles are used to coordinate the installation of multiple separate packages that need to be installed together before any individual package runs for the first time. Is that correct?

I've run across such code in your repos quite a few times now and I'm getting fairly comfortable with it. You're right: the "when to use" philosophy does not come through. I've been watching for patterns to see whether new code should stand under an existing tent or have its own. It means that you are likely to see all errors of same kind reported in a single build, but you won't see errors of mixed kinds reported unless they share the same tent.

When you *do* ignore errors, do you get into problems with later phases not being prepared to handle the consequences of allowing forbidden semantics to slip through?

Is there anything special I should know about creating translatable strings for use in error messages? What triggers the (presumably human) act of translation?
Is there anything special about the order of these strings? I did notice an important ordering when I worked on the "$" to "!" translation. I inserted what I hope was a helpful comment at that point.

On 4/5/2021 6:23 PM, Sean Hall via wix-devs wrote:
> There's never multiple bundles being built at the same time.
>
> Errors being ignored and errors being downgraded are things you 
> shouldn't have to worry about because they are abstracted away in the 
> IMessaging interface.
>
> I don't know if there's a coherent philosophy for when to use this code:
>
>              if (this.Messaging.EncounteredError)
>              {
>                  return;
>              }
>
> On Mon, Apr 5, 2021 at 5:00 PM cpuwzd <notifications at github.com> wrote:
>
>> OK, so I'm just trying to prevent the burn pass from running when 
>> there is a CacheId collision within the same bundle. The feature 
>> request is going to require more planning and discussion. I don't 
>> think that I'm ready to take on a chunk of work that large at this 
>> time. There's still a lot of code for me to absorb. I'm still trying 
>> to learn all of the phases that the processing goes through 
>> (including the general responsibilities of each phase) and to sort 
>> out the history of names and naming conventions.
>>
>> I should be able to use a suitable collection, initialized for each 
>> bundle, to hold a set of unique cache id's. I'd use the messaging 
>> system to report the error, which would terminate the operation 
>> unless errors are being ignored.
>>
>> Should this error ever be downgraded to a warning? Does/should 
>> processing generally continue to the end of a phase (in an effort to 
>> report as many errors as possible in a single build) or end when the 
>> first error/warning is discovered?
>>
>> On 4/5/2021 10:44 AM, Sean Hall wrote:
>>> It is valid for multiple bundles to have a package with the same
>>> |CacheId|. Reusing a |CacheId| like that has restrictions, but we
>>> can't enforce those since we only build one bundle at a time.
>>>
>>> Auto-generated |CacheId|s are generated at bind time. The Symbol 
>>> mechanism takes place at link time, which is too early.
>
> On Mon, Apr 5, 2021 at 10:05 AM Sean Hall <r.sean.hall at gmail.com> wrote:
>
>> https://www.youtube.com/watch?v=M0aPovmED8I (starts at 4:50)
>>
>> There's actually two separate issues in #4628. The test is for the 
>> issue that has a clear solution - there can't be multiple packages 
>> with the same CacheId. As explained in the issue, the Burn engine 
>> can't handle that at runtime.
>>
>> The other issue is a feature request to be able to have multiple 
>> ExePackages in the chain with the same .exe. This probably should be 
>> a separate feature request, though, because that will require 
>> designing how that's supposed to work. Right now the auto-generated 
>> CacheIds are the same because the CacheId is the hash of the .exe.
>>
>> On Sun, Apr 4, 2021 at 8:57 PM Ron Martin via wix-devs < 
>> wix-devs at lists.wixtoolset.org> wrote:
>>
>>> Please see my comment on
>>> https://github.com/wixtoolset/issues/issues/4628
>>> <https://github.com/wixtoolset/issues/issues/4628>.
>>>
>>> ____________________________________________________________________
>>> WiX Toolset Developer Mailing List provided by FireGiant 
>>> http://www.firegiant.com/
>>>
> ____________________________________________________________________
> WiX Toolset Developer Mailing List provided by FireGiant 
> http://www.firegiant.com/
____________________________________________________________________
WiX Toolset Developer Mailing List provided by FireGiant http://www.firegiant.com/


More information about the wix-devs mailing list