-
Notifications
You must be signed in to change notification settings - Fork 182
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BootstrapperCustomBA WiX4 is not showing MSI package's UI #1396
Comments
morning, according to wix v4 |
There is a problem with the template. I will share it with you the solution very shortly. So you can use it before I release the template patch |
Done. OK, I am not even sure it is a problem. But it is definitely something that needs to be reflected in the template content. The template contains the code for BA app and showing MSI UI is kinda extra. That's why I did not provide the code for displaying the UI and it creates the confusion. So first, let's fix your problem. You can fix your project by adding this: public MainViewModel(ManagedBA bootstrapper)
{
this.IsBusy = false;
. . .
// code below will trigger displaying msi UI. Since you are using custom BA
// `MsiPackage.DisplayInternalUI` property has no impact and it is the BA who needs to trigget UI popup.
this.Bootstrapper.PlanMsiPackage += (s, e) =>
{
if (e.PackageId == "MyProductPackageId")
e.UiLevel = e.Action == ActionState.Uninstall ?
INSTALLUILEVEL.ProgressOnly :
INSTALLUILEVEL.Full;
}; All this is quite an unfortunate side effect of the WiX4 BA hosting architecture. Thus if one is using standard BA then WixSharp can detect But when user defines a custom BA the BA itself must take care about msi UI and it needs to be done from that custom C# UI code. WixSharp can no longer help. I simply will need to ensure that it is all very clear in the documentation and the template comment. |
It works fine with this! Thank you so much (especially bringing this project to the life!). |
(Added proect validation warning for DisplayInternalUI used with custom BA; it is also reflected in `DisplayInternalUI` documentation.)
I have also reflected our discussion here: https://github.com/oleg-shilo/wixsharp/wiki/Tips'n'Tricks#showing-msi-internal-ui-from-bootstrapper-application |
This code is from the WixSharp's Wix4 template. We have tried to show this MSI package's UI but we couldn't make it happen.
What could be the problem?
It seems it doesn't respect
DisplayInternalUI = true
.Example project: https://github.com/se/wixsharp-wix4-bootstrap
We have tried many ways before post this, I'm sorry if we miss anything.
The text was updated successfully, but these errors were encountered: