5.3 Windows 应用目录与构建

原文链接: Windows Installer 与 Prerequisites

5.3 Windows 应用目录与构建

Windows 平台的 Tauri 应用最终通常以两种安装包发布:NSIS .exe 和 MSI .msi。

构建前提

在 Windows 上开发/构建需要:

  1. Microsoft C++ Build Tools:安装时勾选 “Desktop development with C++”。
  2. Microsoft Edge WebView2 Runtime:现代 Windows 通常已内置;开发机仍建议确认存在。
  3. Rust:推荐默认工具链为 MSVC。

安装 Rust:

1
winget install --id Rustlang.Rustup

构建命令

在 Windows PowerShell 中:

1
npm run tauri build

生成指定格式:

1
2
npm run tauri build -- --bundles nsis
npm run tauri build -- --bundles msi

输出目录

构建完成后位于:

1
2
3
4
5
src-tauri\target\release\bundle\
├── nsis\
│   └── <应用名>-setup.exe
└── msi\
    └── <应用名>.msi

Windows 应用的“目录”长什么样

Windows 不要求固定 .app 外壳,但 Tauri 仍会生成一层安装目录。你可以从 NSIS/MSI 安装后的典型结构理解它:

1
2
3
4
5
%LOCALAPPDATA%\<产品名>\          # 或 Program Files(取决于安装方式)
├── <应用名>.exe                  # Rust 主程序
├── resources/                    # 前端静态资源与额外资源
├── <应用名>.exe.WebView2/        # WebView2 用户数据目录(运行后出现)
└── uninstall.exe                 # NSIS 安装才会生成卸载器

这里只是安装后的“常见形态”,具体路径随 NSIS/MSI 配置而略有差异。<应用名>.exe.WebView2 是 WebView2 运行时为你的应用保存缓存、Cookie、本地存储的地方。

与 macOS 对应的“元数据”文件

macOS 用 Info.plist,Windows 则用:

  • 版本信息:可执行文件内嵌的 VERSIONINFO;
  • MSI:由 WiX 工程描述,Tauri 内部封装;
  • NSIS:安装脚本描述,Tauri 内部封装。

大多数普通配置(图标、资源、安装包格式)在 tauri.conf.json 的 bundle 中设置即可,不需要手写 WiX/NSIS。

WebView2 提醒

Tauri 在 Windows 上使用 WebView2(Chromium 内核)。开发时若遇到“找不到 WebView2 Runtime”,去 微软官网 安装 Evergreen Bootstrapper。

在非 Windows 上构建 Windows 包

严格来说可以在 Linux/macOS 交叉编译 Rust 目标,但安装包工具链较复杂。更常见的做法是:

  • 在 GitHub Actions 的 windows-latest runner 上构建;
  • 使用 Tauri 官方 GitHub Action;
  • 若必须本机交叉编译,官方文档介绍了 cargo-xwin:
1
npm run tauri build -- --runner cargo-xwin --target x86_64-pc-windows-msvc

不过 WebView2、MSI/NSIS 等打包步骤仍建议在真实 Windows 环境验证。

常见坑

  1. failed to run light.exe:构建 MSI 需要 Windows 的 VBSCRIPT 可选功能,去“设置 → 应用 → 可选功能”启用。
  2. 终端显示乱码:PowerShell 编码与 UTF-8 不一致时,先执行 chcp 65001 或在文件头声明。
  3. 杀毒软件误报:新生成的未签名 exe 偶尔被误报,正式分发要配置代码签名。

相关页面