DioxusLabs/dioxus · error · anyhow::Error

WiX extraction succeeded but candle.exe not found at {}

Error message

WiX extraction succeeded but candle.exe not found at {}

What it means

ensure_wix downloaded and extracted the WiX toolset but candle.exe is not at the expected path. The zip layout or version changed so the post-extraction check fails, and the bundler bails with the missing path.

Source

Thrown at packages/cli/src/bundler/tools.rs:161

    let wix_dir = tools_dir.join("wix314");
    let candle = wix_dir.join("candle.exe");

    if candle.exists() {
        return Ok(wix_dir);
    }

    if CliSettings::prefer_no_downloads() {
        bail!("WiX not found and automatic downloads are disabled. Install WiX manually.");
    }

    tracing::info!("Downloading WiX toolset...");
    let data = download_and_verify(WIX_URL, WIX_SHA256, HashAlgo::Sha256).await?;

    std::fs::create_dir_all(&wix_dir)?;
    extract_zip(&data, &wix_dir)?;

    if !candle.exists() {
        bail!(
            "WiX extraction succeeded but candle.exe not found at {}",
            candle.display()
        );
    }

    Ok(wix_dir)
}

async fn ensure_linuxdeploy(tools_dir: &Path, arch: &str) -> Result<PathBuf> {
    let linuxdeploy_name = format!("linuxdeploy-{arch}.AppImage");
    let linuxdeploy_path = tools_dir.join(&linuxdeploy_name);

    if linuxdeploy_path.exists() {
        return Ok(linuxdeploy_path);
    }

    if CliSettings::prefer_no_downloads() {
        bail!(

View on GitHub (pinned to 24f6a829df)

Solutions

  1. candle.exe is missing after extraction. Re-download WiX or fix the expected path.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at packages/cli/src/bundler/tools.rs:161 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/61a1b0a75a7ed051. Report an issue: GitHub.