DioxusLabs/dioxus · error · anyhow::Error

Version component {part} exceeds maximum value of 255

Error message

Version component {part} exceeds maximum value of 255

What it means

Range guard in wix_version: while converting the version string to WiX format, one of the first two components (major or minor) parsed as a number greater than 255. MSI ProductVersion fields only fit a single byte in those positions, so the version is rejected. The input at fault is the specific major/minor component named in the message.

Source

Thrown at packages/cli/src/bundler/windows.rs:949

/// Convert a semver version string to a WiX-compatible version.
fn wix_version(version: &str) -> Result<String> {
    let version = version.split('-').next().unwrap_or(version);
    let parts: Vec<&str> = version.split('.').collect();

    if parts.len() < 2 || parts.len() > 4 {
        bail!(
            "Invalid version for MSI: '{}'. Expected format: major.minor.patch[.build]",
            version
        );
    }

    for (i, part) in parts.iter().enumerate() {
        let num: u64 = part
            .parse()
            .with_context(|| format!("Invalid version component: '{part}'"))?;
        match i {
            0 | 1 if num > 255 => {
                bail!("Version component {part} exceeds maximum value of 255");
            }
            2 | 3 if num > 65535 => {
                bail!("Version component {part} exceeds maximum value of 65535");
            }
            _ => {}
        }
    }

    let version_str = if parts.len() == 2 {
        format!("{}.{}.0", parts[0], parts[1])
    } else {
        parts.join(".")
    };

    Ok(version_str)
}

/// The embedded WiX template.

View on GitHub (pinned to 24f6a829df)

Solutions

  1. MSI version components are too large: keep the build component at 255 or below.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at packages/cli/src/bundler/windows.rs:949 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of DioxusLabs/dioxus@24f6a829df (2026-08-23). Data as JSON: /api/errors/8348f38645be4b0d. Report an issue: GitHub.