5.3 Windows 应用目录与构建
3 分钟阅读
原文链接: Windows Installer 与 Prerequisites
5.3 Windows 应用目录与构建
Windows 平台的 Tauri 应用最终通常以两种安装包发布:NSIS .exe 和 MSI .msi。
构建前提
在 Windows 上开发/构建需要:
- Microsoft C++ Build Tools:安装时勾选 “Desktop development with C++”。
- Microsoft Edge WebView2 Runtime:现代 Windows 通常已内置;开发机仍建议确认存在。
- Rust:推荐默认工具链为 MSVC。
安装 Rust:
| |
构建命令
在 Windows PowerShell 中:
| |
生成指定格式:
| |
输出目录
构建完成后位于:
| |
Windows 应用的“目录”长什么样
Windows 不要求固定 .app 外壳,但 Tauri 仍会生成一层安装目录。你可以从 NSIS/MSI 安装后的典型结构理解它:
| |
这里只是安装后的“常见形态”,具体路径随 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-latestrunner 上构建; - 使用 Tauri 官方 GitHub Action;
- 若必须本机交叉编译,官方文档介绍了
cargo-xwin:
| |
不过 WebView2、MSI/NSIS 等打包步骤仍建议在真实 Windows 环境验证。
常见坑
failed to run light.exe:构建 MSI 需要 Windows 的 VBSCRIPT 可选功能,去“设置 → 应用 → 可选功能”启用。- 终端显示乱码:PowerShell 编码与 UTF-8 不一致时,先执行
chcp 65001或在文件头声明。 - 杀毒软件误报:新生成的未签名 exe 偶尔被误报,正式分发要配置代码签名。