[wix-users] After Enabling DisplayInternalUI MSI Doesn't Rollback

Mark Lopez mark.lopez at contrastsecurity.com
Wed Nov 18 08:58:27 PST 2020


Thanks for your time! You got me on the right path, and confirmed the expected behavior.

So I continued to mess with this. It appears, having a MSI UI changes the behavior of ServiceControl[Wait=no]. When the UI was removed (the UIRef removed from the product), but DisplayInternalUI=yes was set on the package, the MSI engine never emits an error. When ServiceControl[Wait=yes] is set, the rollback occurs, and an error is emitted to burn.

I would suggest that ServiceControl[Wait=no] was always incorrect for us, although, I'm not sure why a UIRef would change how MSI handles that. MSI always appears to wait, regardless of that flag, when the UI exists, which is why we never saw it in years of testing.

Regards,
Mark Lopez

-----Original Message-----
From: wix-users <wix-users-bounces at lists.wixtoolset.org> On Behalf Of Sean Hall via wix-users
Sent: Wednesday, November 18, 2020 10:50 AM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Cc: Sean Hall <r.sean.hall at gmail.com>
Subject: Re: [wix-users] After Enabling DisplayInternalUI MSI Doesn't Rollback

Yes, the error should be in the log. It sounds like the code in the MSI that is starting the service is behaving differently if there's no UI. You could try to run the MSI with no UI outside of the bundle and see if there's a difference.

On Wed, Nov 18, 2020 at 9:31 AM Mark Lopez via wix-users < wix-users at lists.wixtoolset.org> wrote:

> I hooked the OnError event in the BA, the event isn't getting called 
> when DisplayInternalUI=no. Shouldn't there be a log from the MSI 
> engine of the failure, regardless if the OnError event is subscribed to in the BA?
>
> With DisplayInternalUI=no
>
> Action ended 8:54:40: InstallFinalize. Return value 1.
>
> With DisplayInternalUI=yes
>
> Action ended 17:18:55: InstallFinalize. Return value 3.
>
> Regards,
> Mark Lopez
>
> -----Original Message-----
> From: wix-users <wix-users-bounces at lists.wixtoolset.org> On Behalf Of 
> Sean Hall via wix-users
> Sent: Tuesday, November 17, 2020 5:38 PM
> To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
> Cc: Sean Hall <r.sean.hall at gmail.com>
> Subject: Re: [wix-users] After Enabling DisplayInternalUI MSI Doesn't 
> Rollback
>
> Burn isn't going to rollback the package if it succeeded, which it did 
> ("Applied execute package: ContrastSetup_64, result: 0x0, restart: None").
> That's why I asked for the MSI log, why is it not treating the service 
> action failure as a fatal error? My first guess is your BA did not 
> register the listener for OnError properly so the default handler is 
> ignoring the error.
>
> On Tue, Nov 17, 2020 at 5:24 PM Mark Lopez via wix-users < 
> wix-users at lists.wixtoolset.org> wrote:
>
> > Yep!
> >
> > DisplayInternalUI=no
> > https://gist.github.com/Silvenga/3c75d135580b3f54544b14bfd93b5054
> >
> > DisplayInternalUI=yes
> > https://gist.github.com/Silvenga/27b08989e21d5dd572f534eee5b5652a
> >
> > Regards,
> > Mark Lopez
> >
> > -----Original Message-----
> > From: wix-users <wix-users-bounces at lists.wixtoolset.org> On Behalf 
> > Of Sean Hall via wix-users
> > Sent: Tuesday, November 17, 2020 4:59 PM
> > To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
> > Cc: Sean Hall <r.sean.hall at gmail.com>
> > Subject: Re: [wix-users] After Enabling DisplayInternalUI MSI 
> > Doesn't Rollback
> >
> > This sounds like https://github.com/wixtoolset/issues/issues/3869, 
> > but I couldn't reproduce it. Can you provide the MSI log and the Burn log?
> > (Attachments don't work on this mailing list)
> >
> > On Tue, Nov 17, 2020 at 4:18 PM Mark Lopez via wix-users < 
> > wix-users at lists.wixtoolset.org> wrote:
> >
> > > We are trying to give some love to an older installer we ship.
> > > Historically, we've used the standard BA to wrap our MSI's, but 
> > > opt-ed to move to a managed BA to offer a better UX.
> > >
> > > What's odd, when a MSI op fails e.g. "Service failed to start.
> > > Verify that you have sufficient privileges to start system services"
> > > and DisplayInternalUI=no is set, the MSI engine doesn't rollback 
> > > the install and doesn't give an error to the BA. The install just 
> > > continues on, and ultimately returns a 0x0 success to the BA.
> > >
> > > Setting DisplayInternalUI=yes with the same failed op does 
> > > correctly rollback the install.
> > >
> > > I'm thinking there must be something obvious we're missing, since 
> > > I've seen messages on this mailing list asking how to cancel a 
> > > rollback with a custom BA.
> > >
> > > (Also Vital=yes)
> > >
> > > Regards,
> > > Mark Lopez
> > >
> > > __________________________________________________________________
> > > __ WiX Toolset Users Mailing List provided by FireGiant 
> > > http://www.firegiant.com/
> > >
> >
> > ____________________________________________________________________
> > WiX Toolset Users Mailing List provided by FireGiant 
> > http://www.firegiant.com/
> >
> > ____________________________________________________________________
> > WiX Toolset Users Mailing List provided by FireGiant 
> > http://www.firegiant.com/
> >
>
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant 
> http://www.firegiant.com/
>
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant 
> http://www.firegiant.com/
>

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/



More information about the wix-users mailing list