简体   繁体   中英

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.

在此处输入图片说明

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.

在此处输入图片说明

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)?

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:

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:

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 :

You get a basic UI with Windows Installer, and that's mainly because it comes from 1998 (pre .NET) and could not assume that anything (.NET, C++) was on the system other than the bare bones of Windows. And obviously it's not been modernized.

The standard way to do this is to build your own UI using Burn, supplying your own UI to contain the standard data that the install provides as it progresses. If you do a search for "burn ui wix" you'll find examples of how to provide that framework, such as this one:

https://frozencloud.wordpress.com/2016/05/03/creating-a-custom-ui-installer-with-wix-burn-bootstrapper/

It gets complicated because you need to deal with all aspects of the UI, including file-in-use dialogs, that browse dialog, and so on. There may be some complete examples somewhere if you search for examples.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM