2

I have created a custom UI and provided the standard dialog boxes as required to avoid ICE20 errors. I have included the following line as required:

If I use a WIX UI this works fine. But now I've created my own custom UI I get an "unexpected error" message with error code 2814 and then one with 2869. Does anyone know how to catch the attempted downgrade to produce a dialog box with the correct message?

Stein Åsmul
  • 39,960
  • 25
  • 91
  • 164
Mike Cade
  • 21
  • 1
  • Is this during maintenance operations only? (when you run modify or repair on an existing installation). It is not 100% clear. – Stein Åsmul Feb 27 '21 at 17:37
  • It's if I run the installer to install the application, but it is already installed. – Mike Cade Mar 01 '21 at 08:39
  • In that case it would be your manintenance mode dialogs. These are dialogs that are not shown in the original installation process. They have names like `MaintenanceWelcomeDlg` and `MaintenanceTypeDlg` in normal WiX packages. These allow you to modify feature states. You can see them in MSI files by opening the MSI with Orca (Tools => Dialog Preview). The ControlEvent table will show the events for each dialog. The Next button will kick off an action or dialog or both. If you make your own dialogs you should base it on an existing dialog set to get these dialogs included (if they are missing). – Stein Åsmul Mar 01 '21 at 14:21

1 Answers1

0

I am not an MSI dialog expert, but there are a few things I can point out:

  • You can customize the internal GUI built into an MSI.
  • You can also make your own GUI for Burn setup.exe launchers.
    • Burn GUIs can be more modern than the rather ancient MSI GUI.
    • A Burn launcher can hide the built-in MSI GUI during installation.

I am not sure what GUI you have customized?

Error 2814: The error code 2814: "On the dialog [2] the control [3] names a nonexistent control [4] as the next control." - this seems to indicate that a control on your dialog points to a non-existent control as the next one to go to for the TAB order of the dialog. You need to point to a valid control that exists and it should be visible too.

Custom MSI GUI: Making your own MSI GUI is rarely advisable unless you need something very specific and unusual. You can use existing dialog sets and just inject a new dialog (which might be what you have done). Due to the lack of flexibility for MSI dialogs I would recommend that you make a Burn setup.exe GUI if you really need a lot of flexibility. I have not looked at this a great deal.

WiX MSI Dialog Sample: There is a sample, modified WiX MSI dialog set here: https://github.com/glytzhkof/WiXCustomDialog


Links: I have a few links on MSI dialogs and Burn GUI. This is quite overlapping, please just skim and see what makes sense to you:


Other Links:

Stein Åsmul
  • 39,960
  • 25
  • 91
  • 164