feat(bundler/windows): Update wix to fix vulnerabilities and add arm support (#9861) (#10072)

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
This commit is contained in:
Fabian-Lars 2024-07-08 14:51:26 +02:00 committed by GitHub
parent afb102c59b
commit c734b9e3cd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 15 additions and 3 deletions

View File

@ -0,0 +1,6 @@
---
"tauri-bundler": "patch:feat"
"tauri-cli": "patch:feat"
---
Upgraded the WiX version to 3.14 which fixes vulnerability issues and adds support for Arm targets.

View File

@ -26,7 +26,7 @@ const WIX_REQUIRED_FILES: &[&str] = &[
/// Returns a vector of PathBuf that shows where the MSI was created.
pub fn bundle_project(settings: &Settings, updater: bool) -> crate::Result<Vec<PathBuf>> {
let mut wix_path = dirs::cache_dir().unwrap();
wix_path.push("tauri/WixTools");
wix_path.push("tauri/WixTools314");
if !wix_path.exists() {
wix::get_and_extract_wix(&wix_path)?;

View File

@ -31,8 +31,8 @@ use uuid::Uuid;
// URLS for the WIX toolchain. Can be used for cross-platform compilation.
pub const WIX_URL: &str =
"https://github.com/wixtoolset/wix3/releases/download/wix3112rtm/wix311-binaries.zip";
pub const WIX_SHA256: &str = "2c1888d5d1dba377fc7fa14444cf556963747ff9a0a289a3599cf09da03b9e2e";
"https://github.com/wixtoolset/wix3/releases/download/wix3141rtm/wix314-binaries.zip";
pub const WIX_SHA256: &str = "6ac824e1642d6f7277d0ed7ea09411a508f6116ba6fae0aa5f2c7daa2ff43d31";
// For Cross Platform Compilation.
@ -182,6 +182,7 @@ fn app_installer_output_path(
let arch = match settings.binary_arch() {
"x86" => "x86",
"x86_64" => "x64",
"aarch64" => "arm64",
target => {
return Err(crate::Error::ArchError(format!(
"Unsupported architecture: {}",
@ -294,6 +295,7 @@ fn run_candle(
let arch = match settings.binary_arch() {
"x86_64" => "x64",
"x86" => "x86",
"aarch64" => "arm64",
target => {
return Err(crate::Error::ArchError(format!(
"unsupported target: {}",
@ -388,6 +390,7 @@ pub fn build_wix_app_installer(
let arch = match settings.binary_arch() {
"x86_64" => "x64",
"x86" => "x86",
"aarch64" => "arm64",
target => {
return Err(crate::Error::ArchError(format!(
"unsupported target: {}",

View File

@ -4,6 +4,9 @@
<?elseif $(sys.BUILDARCH)="x64"?>
<?define Win64 = "yes" ?>
<?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
<?elseif $(sys.BUILDARCH)="arm64"?>
<?define Win64 = "yes" ?>
<?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
<?else?>
<?error Unsupported value of sys.BUILDARCH=$(sys.BUILDARCH)?>
<?endif?>