{"record":{"id":"77ffb59f399bbafa","repo":"DioxusLabs/dioxus","slug":"nsis-extraction-succeeded-but-makensis-not-found-a","errorCode":null,"errorMessage":"NSIS extraction succeeded but makensis not found at {}","messagePattern":"NSIS extraction succeeded but makensis not found at (.+?)","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"packages/cli/src/bundler/tools.rs","lineNumber":130,"sourceCode":"    } else {\n        nsis_dir.join(\"makensis\")\n    };\n\n    if makensis.exists() {\n        return Ok(nsis_dir);\n    }\n\n    if CliSettings::prefer_no_downloads() {\n        bail!(\"NSIS not found and automatic downloads are disabled. Install NSIS manually.\");\n    }\n\n    tracing::info!(\"Downloading NSIS...\");\n\n    let data = download_and_verify(NSIS_URL, NSIS_SHA1, HashAlgo::Sha1).await?;\n    extract_zip(&data, tools_dir)?;\n\n    if !makensis.exists() {\n        bail!(\n            \"NSIS extraction succeeded but makensis not found at {}\",\n            makensis.display()\n        );\n    }\n\n    #[cfg(unix)]\n    let _ = std::fs::set_permissions(&makensis, std::fs::Permissions::from_mode(0o755));\n\n    Ok(nsis_dir)\n}\n\nasync fn ensure_wix(tools_dir: &Path) -> Result<PathBuf> {\n    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    }","sourceCodeStart":112,"sourceCodeEnd":148,"githubUrl":"https://github.com/DioxusLabs/dioxus/blob/24f6a829df0dfa203961a98ea4cae21c2ff27e28/packages/cli/src/bundler/tools.rs#L112-L148","documentation":"ensure_nsis downloaded and extracted the NSIS zip but the expected makensis binary still is not at the versioned path. The archive layout likely changed or extraction partially failed, so the post-extraction existence check bails.","triggerScenarios":"Thrown at packages/cli/src/bundler/tools.rs:130 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["makensis is missing after extraction. Re-download NSIS 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-14T05:17:10.506Z"}