diff --git a/.changes/escape-paths-wix.md b/.changes/escape-paths-wix.md new file mode 100644 index 000000000..80d98dfd4 --- /dev/null +++ b/.changes/escape-paths-wix.md @@ -0,0 +1,5 @@ +--- +"tauri-bundler": patch:bug +--- + +On Windows, fix building WiX installer when resources contains an XML charcter that should be escaped. \ No newline at end of file diff --git a/tooling/bundler/src/bundle/windows/msi/wix.rs b/tooling/bundler/src/bundle/windows/msi/wix.rs index c0f8c61c3..78e940377 100644 --- a/tooling/bundler/src/bundle/windows/msi/wix.rs +++ b/tooling/bundler/src/bundle/windows/msi/wix.rs @@ -16,7 +16,7 @@ use crate::bundle::{ }, }; use anyhow::{bail, Context}; -use handlebars::{to_json, Handlebars}; +use handlebars::{html_escape, to_json, Handlebars}; use log::info; use regex::Regex; use serde::{Deserialize, Serialize}; @@ -122,7 +122,7 @@ impl ResourceDirectory { r#""#, id = file.id, guid = file.guid, - path = file.path.display() + path = html_escape(&file.path.display().to_string()) ).as_str() ); } @@ -140,7 +140,7 @@ impl ResourceDirectory { format!( r#"{files}{directories}"#, id = Uuid::new_v4().as_simple(), - name = self.name, + name = html_escape(&self.name), files = files, directories = directories, )