具有现代外观和感觉的 WIX 安装程序

WIX Installer with modern look and feel

我目前正在为我的软件创建安装程序。我决定为此使用 WIX,因为我在 Whosebug 上读到虽然它的学习曲线陡峭,但它是创建 .msi 安装程序的最通用工具。

我正在尝试创建一个非常简单的单屏安装程序,我对目前的结果很满意,但有些控件看起来确实过时了。

凹陷的文本编辑与 Windows 10 的外观和感觉不符。不过,更让我困扰的是文件浏览对话框。

我知道我可以更改徽标,但图标和所有内容看起来都像是来自 Windows98。因为 WIX 似乎是创建 Windows 的广泛采用的选项安装程序,我认为必须有一个解决方案来创建更现代的外观和感觉,但我找不到任何东西。

我必须忍受过时的外观吗?如果是这样,您是否有更好的替代方法来创建 Windows 安装程序(不需要 .msi)?

你得到一个基本的 UI 和 Windows 安装程序,这主要是因为它来自 1998 年(.NET 之前)并且不能假设任何东西(.NET,C++)都在Windows 的基本系统以外的系统。显然它还没有现代化。

执行此操作的标准方法是使用 Burn 构建您自己的 UI,提供您自己的 UI 以包含安装过程中提供的标准数据。如果您搜索 "burn ui wix",您会找到有关如何提供该框架的示例,例如:

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

它变得复杂,因为您需要处理 UI 的所有方面,包括正在使用的文件对话框、浏览对话框等。如果您搜索示例,某处可能会有一些完整的示例。

自定义 GUI:也许我可以在 Phil 的回答中添加 WiX 安装程序 本身使用这样的 自定义刻录 GUI。您显然已经有了 WiX 安装程序,但 here is a link to the WiX 3 installert 供其他读者使用。

Burn:澄清一下:Burn is part of WiX - 它是一个 bootstrapper / sequencer / downloader 工具旨在帮助您 运行 多个 MSI 文件或 setup.exe二进制序列。因此,它还允许您安装先决条件。它允许外部 GUI 的事实只是其主要功能的另一个方面:以正确的顺序安装您需要的所有设置和组件。

MsiSetExternalUI:备案:Windows 安装程序本身的基础功能允许使用外部 GUI是功能:MsiSetExternalUI? I think Installshield - 用于创建 Windows 设置的主要商业工具之一 - 还提供一些更现代的 GUI 功能 - 使用这种外部 GUI 方法,但我没有完整的概述。

一些 Burn 示例:github.com 上有很多关于如何使用 WiX 制作 Burn 捆绑包的示例。这是 Burn 可以做什么的第一个很好的示例:https://github.com/frederiksen/Classic-WiX-Burn-Theme。这显示了如何制作具有更“现代感”的简单 Burn GUI。

还有许多其他可用资源。以下是我推荐的一些:

  • WiX Burn XML Markup Sample - “你好 WiX Burn(使用类固醇)”。
    • 顶部显示“Hello WiX Burn”。
    • 下面有很多链接可以获取更多信息。请参阅“一些刻录示例链接”部分。

Burn 有一个可用的标准 GUI - 它比普通的 MSI GUI 更现代。但是你也可以自己实现整个 GUI——正如 Phil 在他的回答中所说的那样。以下是有关该主题的几个链接:

MSI GUI:实际的MSI文件本身也可以有自定义的GUI。 Here is an old answer on customized MSI GUI.

明确一点:Burn Setup.exe 有一个 GUI,包含的实际 MSI 文件可以嵌入自己的 GUI。可以通过 Burn(也可以通过 msiexec.exe 安装命令)抑制 MSI 文件中的嵌入式 GUI。


部分链接:

  • 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