如何将缺失的DLL文件打包进Tauri bundle安装包?
Tauri Windows打包自动包含VC运行时DLL解决方案
方案一:静态编译VC运行时(最推荐,无需额外携带DLL)
该方案可直接将运行时依赖编译进最终exe文件,从根源避免DLL缺失报错,配置步骤如下:
- 打开项目目录下的
src-tauri/Cargo.toml文件 - 在配置中新增
profile.release段落,添加静态编译标记:
[profile.release] rustflags = ["-C", "target-feature=+crt-static"]
- 保存文件后重新执行
tauri build打包即可,Windows环境下Rust默认使用MSVC工具链,该配置可直接生效。
方案二:打包时自动嵌入指定DLL文件
如果你需要保留动态链接的方式,可直接配置Tauri打包时自动把3个DLL打进安装包,步骤如下:
- 在
src-tauri目录下新建assets文件夹,将msvcp140.dll、vcruntime140.dll、vcruntime140_1.dll三个文件放入该文件夹 - 打开
src-tauri/tauri.conf.json文件,找到bundle配置段,新增resources字段配置DLL路径:
{ "bundle": { "resources": [ "assets/msvcp140.dll", "assets/vcruntime140.dll", "assets/vcruntime140_1.dll" ] } }
- 重新执行
tauri build打包,生成的安装包会自动包含这三个DLL,安装时自动释放到应用安装目录。
注意事项
选用的DLL版本需要和你打包的程序架构一致,64位程序对应64位DLL,32位程序对应32位DLL,否则程序依然会报错无法运行。
内容的提问来源于stack exchange,提问作者Martin Tian
相关产品推荐
相关产品推荐

