Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

WIX Installer with modern look and feel

I am currently creating an installer for my software. I decided to use WIX for it, because I read on stackoverflow that while it has a steep learning curve, it is the most versatile tool to create .msi installers.

I'm trying to create a very simple one screen installer, and I'm happy with the results so far, but some of the controls just look really outdated.

enter image description here

The sunken text edit doesn't really match the look and feel of Windows 10. What bothers me more is the file browsing dialog, though.

enter image description here

I know that I can change the logo, but the icons and everything just look like they're coming from Windows 98. Since WIX seems to be a widely adopted option for creating Windows installers, I thought there must be a solution out there to create a more modern look and feel, but I wasn't able to find anything.

Do I have to live with the outdated look? If so, do you have a better alternative for creating Windows installers (.msi not required)?

like image 959
Johannes Stricker Avatar asked Sep 15 '18 10:09

Johannes Stricker


1 Answers

Custom GUI: Maybe I can add to Phil's answer that the WiX installer itself uses such a custom Burn GUI. You obviously have the WiX installer already, but here is a link to the WiX 3 installert for other readers.

Burn: Just to clarify: Burn is part of WiX - it is a bootstrapper / sequencer / downloader tool designed to help you run several MSI files or setup.exe binaries in sequence. Hence it allows you to also install prerequisites. The fact that it allows an external GUI is just another aspect of its primary function: to install all the setups and components you need - in the right order.

MsiSetExternalUI: For the record: the underlying feature in Windows Installer itself that allows an external GUI to be used is the function: MsiSetExternalUI? I think Installshield - one of the leading commercial tools for creating Windows setups - provides some more modern GUI features as well - using this external GUI approach, but I don't have a full overview.

Some Burn samples: There are many samples available on github.com for how to make Burn bundles with WiX. Here is a nice, first sample of what Burn can do: https://github.com/frederiksen/Classic-WiX-Burn-Theme. This shows how you can make a simple Burn GUI that has a more "modern feel".

There are many other resources available. Here are a few I would recommend:

  • WiX Burn XML Markup Sample - "Hello WiX Burn (on steroids)".
  • WiX Burn Information & Simple Markup Sample
    • "Hello WiX Burn" on top.
    • Lots of links for further information below. See section "Some Burn Sample Links".

Burn has a standard GUI available - which is more modern than the normal MSI GUI. But you can also implement the whole GUI yourself - as Phil states in his answer. Here are a couple of links on the subject:

  • Write your own WiX Burn setup GUI application (advanced)
  • https://github.com/rstropek/Samples/tree/master/WiXSamples/CustomBurnUI
    • More WiX samples for other aspects of WiX found a level or two higher

MSI GUI: The actual MSI files themselves can also have a customized GUI. Here is an old answer on customized MSI GUI.

To be clear: the Burn Setup.exe has one GUI and the actual MSI files included can have their own GUI embedded. The embedded GUI in MSI files can be suppressed via Burn (also by msiexec.exe install commands).


Some Links:

  • Uncommon UI layout for Windows installer for Techsmith Snagit
  • WiX root feature without Treelines
  • msiexec.exe to stdout
  • Wix - Choice of UI based on property
like image 91
Stein Åsmul Avatar answered Oct 02 '22 13:10

Stein Åsmul