Skip to content

Commit

Permalink
fix(bundler): ensure that there are no duplicate extension arguments …
Browse files Browse the repository at this point in the history
…when bundling on Windows, fixes #6103 (#6917)

* fix(bundler): ensure that there are no duplicate extension arguments during bundling on Windows (fix #6103)

* fix(bundler): ensure that there are no duplicate extension arguments during bundling on Windows (fix #6103)
  • Loading branch information
biaocy authored May 12, 2023
1 parent 7c23720 commit 2c1fd57
Showing 1 changed file with 11 additions and 12 deletions.
23 changes: 11 additions & 12 deletions tooling/bundler/src/bundle/windows/msi/wix.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ use log::info;
use regex::Regex;
use serde::{Deserialize, Serialize};
use std::{
collections::{BTreeMap, HashMap},
collections::{BTreeMap, HashMap, HashSet},
fs::{create_dir_all, read_to_string, remove_dir_all, rename, write, File},
io::Write,
path::{Path, PathBuf},
Expand Down Expand Up @@ -356,14 +356,7 @@ fn run_light(
) -> crate::Result<()> {
let light_exe = wix_toolset_path.join("light.exe");

let mut args: Vec<String> = vec![
"-ext".to_string(),
"WixUIExtension".to_string(),
"-ext".to_string(),
"WixUtilExtension".to_string(),
"-o".to_string(),
display_path(output_path),
];
let mut args: Vec<String> = vec!["-o".to_string(), display_path(output_path)];

args.extend(arguments);

Expand Down Expand Up @@ -732,9 +725,15 @@ pub fn build_wix_app_installer(
candle_inputs.push((fragment_path, extensions));
}

let mut fragment_extensions = Vec::new();
let mut fragment_extensions = HashSet::new();
//Default extensions
fragment_extensions.insert(wix_toolset_path.join("WixUIExtension.dll"));
fragment_extensions.insert(wix_toolset_path.join("WixUtilExtension.dll"));

for (path, extensions) in candle_inputs {
fragment_extensions.extend(extensions.clone());
for ext in &extensions {
fragment_extensions.insert(ext.clone());
}
run_candle(settings, wix_toolset_path, &output_path, path, extensions)?;
}

Expand Down Expand Up @@ -813,7 +812,7 @@ pub fn build_wix_app_installer(
wix_toolset_path,
&output_path,
arguments,
&fragment_extensions,
&(fragment_extensions.clone().into_iter().collect()),
&msi_output_path,
)?;
rename(&msi_output_path, &msi_path)?;
Expand Down

0 comments on commit 2c1fd57

Please sign in to comment.