DioxusLabs/dioxus · error · anyhow::Error
makensis completed but installer not found at {}
Error message
makensis completed but installer not found at {} What it means
Post-condition guard in bundle_windows_nsis: makensis exited successfully, but the expected NSIS installer executable is not found at the computed output path. The success status was misleading — the installer was written to a different location or filename than expected — and the input at fault is the expected output_path versus makensis's actual output.
Source
Thrown at packages/cli/src/bundler/windows.rs:606
.with_context(|| format!("Failed to run makensis at {}", makensis.display()))?;
if !output.status.success() {
let stderr = String::from_utf8_lossy(&output.stderr);
let stdout = String::from_utf8_lossy(&output.stdout);
bail!(
"makensis failed (exit code {:?}):\nstdout: {}\nstderr: {}",
output.status.code(),
stdout,
stderr
);
}
if can_sign_windows(&windows_settings) {
self.try_sign_windows(&output_path).await?;
}
if !output_path.exists() {
bail!(
"makensis completed but installer not found at {}",
output_path.display()
);
}
tracing::info!("NSIS installer created: {}", output_path.display());
Ok(vec![output_path])
}
/// Attempt to sign a binary at the given path using the Windows signing configuration.
async fn try_sign_windows(&self, path: &Path) -> Result<()> {
let settings = self.windows();
if !can_sign_windows(&settings) {
return Ok(());
}
tracing::info!("Signing {}", path.display());View on GitHub (pinned to 24f6a829df)
Solutions
- makensis finished but the installer is missing. Check makensis output for the real output path or warnings.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at packages/cli/src/bundler/windows.rs:606 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/6aa622cc322122fb.
Report an issue: GitHub.