DioxusLabs/dioxus · error · anyhow::Error
NSIS extraction succeeded but makensis not found at {}
Error message
NSIS extraction succeeded but makensis not found at {} What it means
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.
Source
Thrown at packages/cli/src/bundler/tools.rs:130
} else {
nsis_dir.join("makensis")
};
if makensis.exists() {
return Ok(nsis_dir);
}
if CliSettings::prefer_no_downloads() {
bail!("NSIS not found and automatic downloads are disabled. Install NSIS manually.");
}
tracing::info!("Downloading NSIS...");
let data = download_and_verify(NSIS_URL, NSIS_SHA1, HashAlgo::Sha1).await?;
extract_zip(&data, tools_dir)?;
if !makensis.exists() {
bail!(
"NSIS extraction succeeded but makensis not found at {}",
makensis.display()
);
}
#[cfg(unix)]
let _ = std::fs::set_permissions(&makensis, std::fs::Permissions::from_mode(0o755));
Ok(nsis_dir)
}
async fn ensure_wix(tools_dir: &Path) -> Result<PathBuf> {
let wix_dir = tools_dir.join("wix314");
let candle = wix_dir.join("candle.exe");
if candle.exists() {
return Ok(wix_dir);
}View on GitHub (pinned to 24f6a829df)
Solutions
- makensis is missing after extraction. Re-download NSIS or fix the expected path.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at packages/cli/src/bundler/tools.rs:130 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/77ffb59f399bbafa.
Report an issue: GitHub.