DioxusLabs/dioxus · error · anyhow::Error
NSIS not found and automatic downloads are disabled. Install
Error message
NSIS not found and automatic downloads are disabled. Install NSIS manually.
What it means
ensure_nsis could not find makensis in the tools cache and the CLI is configured to never download tools. NSIS is required for Windows installers, so the bundler bails instructing a manual install rather than fetching it.
Source
Thrown at packages/cli/src/bundler/tools.rs:121
))
}
}
}
async fn ensure_nsis(tools_dir: &Path) -> Result<PathBuf> {
let nsis_dir = tools_dir.join("nsis-3.11");
let makensis = if cfg!(target_os = "windows") {
nsis_dir.join("makensis.exe")
} 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)View on GitHub (pinned to 24f6a829df)
Solutions
- Install NSIS manually, or enable automatic tool downloads in the dx settings.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at packages/cli/src/bundler/tools.rs:121 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/de45c8cd866c056c.
Report an issue: GitHub.