{"record":{"id":"61a1b0a75a7ed051","repo":"DioxusLabs/dioxus","slug":"wix-extraction-succeeded-but-candle-exe-not-found","errorCode":null,"errorMessage":"WiX extraction succeeded but candle.exe not found at {}","messagePattern":"WiX extraction succeeded but candle\\.exe not found at (.+?)","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"packages/cli/src/bundler/tools.rs","lineNumber":161,"sourceCode":"    let wix_dir = tools_dir.join(\"wix314\");\n    let candle = wix_dir.join(\"candle.exe\");\n\n    if candle.exists() {\n        return Ok(wix_dir);\n    }\n\n    if CliSettings::prefer_no_downloads() {\n        bail!(\"WiX not found and automatic downloads are disabled. Install WiX manually.\");\n    }\n\n    tracing::info!(\"Downloading WiX toolset...\");\n    let data = download_and_verify(WIX_URL, WIX_SHA256, HashAlgo::Sha256).await?;\n\n    std::fs::create_dir_all(&wix_dir)?;\n    extract_zip(&data, &wix_dir)?;\n\n    if !candle.exists() {\n        bail!(\n            \"WiX extraction succeeded but candle.exe not found at {}\",\n            candle.display()\n        );\n    }\n\n    Ok(wix_dir)\n}\n\nasync fn ensure_linuxdeploy(tools_dir: &Path, arch: &str) -> Result<PathBuf> {\n    let linuxdeploy_name = format!(\"linuxdeploy-{arch}.AppImage\");\n    let linuxdeploy_path = tools_dir.join(&linuxdeploy_name);\n\n    if linuxdeploy_path.exists() {\n        return Ok(linuxdeploy_path);\n    }\n\n    if CliSettings::prefer_no_downloads() {\n        bail!(","sourceCodeStart":143,"sourceCodeEnd":179,"githubUrl":"https://github.com/DioxusLabs/dioxus/blob/24f6a829df0dfa203961a98ea4cae21c2ff27e28/packages/cli/src/bundler/tools.rs#L143-L179","documentation":"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.","triggerScenarios":"Thrown at packages/cli/src/bundler/tools.rs:161 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["candle.exe is missing after extraction. Re-download WiX or fix the expected path."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"24f6a829df0dfa203961a98ea4cae21c2ff27e28","analyzedAt":"2026-08-23T07:10:14.078Z","contentChangedAt":"2026-08-23T07:10:14.078Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}