Skip to content

Commit

Permalink
fix(bundler/nsis): Include WebView2Loader.dll if found to match msi (#…
Browse files Browse the repository at this point in the history
…12324)

* fix(bundler/nsis): Include WebView2Loader.dll if found to match msi behavior

* Update fix-nsis-webviewloaderdll.md

* only include dll in gnu builds
  • Loading branch information
FabianLars authored Jan 17, 2025
1 parent d2c8f0e commit 07ccdc4
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .changes/fix-nsis-webviewloaderdll.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
tauri-bundler: 'patch:bug'
---

Fixed an issue leading to NSIS based installers to not contain the `WebView2Loader.dll` file when targetting `windows-gnu`.
14 changes: 14 additions & 0 deletions crates/tauri-bundler/src/bundle/windows/nsis/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -595,10 +595,24 @@ fn association_description(
type ResourcesMap = BTreeMap<PathBuf, (PathBuf, PathBuf)>;
fn generate_resource_data(settings: &Settings) -> crate::Result<ResourcesMap> {
let mut resources = ResourcesMap::new();

let cwd = std::env::current_dir()?;

let mut added_resources = Vec::new();

// Adding WebViewer2Loader.dll in case windows-gnu toolchain is used
if settings.target().ends_with("-gnu") {
let loader_path =
dunce::simplified(&settings.project_out_directory().join("WebView2Loader.dll")).to_path_buf();
if loader_path.exists() {
added_resources.push(loader_path.clone());
resources.insert(
loader_path,
(PathBuf::new(), PathBuf::from("WebView2Loader.dll")),
);
}
}

for resource in settings.resource_files().iter() {
let resource = resource?;

Expand Down

0 comments on commit 07ccdc4

Please sign in to comment.