DioxusLabs/dioxus · error · anyhow::Error
light.exe completed but MSI not found at {}
Error message
light.exe completed but MSI not found at {} What it means
Post-condition guard in bundle_windows_msi: light.exe reported success (exit code 0), but the expected MSI file is not present at the computed output path. This means the linker's success was misleading — the output was written elsewhere, named differently, or was not produced — and the input at fault is the expected output_path versus what light actually emitted.
Source
Thrown at packages/cli/src/bundler/windows.rs:341
.with_context(|| format!("Failed to run light.exe at {}", light.display()))?;
if !light_output.status.success() {
let stderr = String::from_utf8_lossy(&light_output.stderr);
let stdout = String::from_utf8_lossy(&light_output.stdout);
bail!(
"light.exe failed (exit code {:?}):\nstdout: {}\nstderr: {}",
light_output.status.code(),
stdout,
stderr
);
}
if can_sign_windows(&windows_settings) {
self.try_sign_windows(&output_path).await?;
}
if !output_path.exists() {
bail!(
"light.exe completed but MSI not found at {}",
output_path.display()
);
}
tracing::info!("MSI installer created: {}", output_path.display());
Ok(vec![output_path])
}
/// Build a Windows installer executable using NSIS.
///
/// NSIS packaging follows the same broad staging pattern as MSI bundling, but the
/// installer behavior is expressed through a generated `.nsi` script rather than
/// WiX XML.
///
/// The method performs these steps:
/// 1. Resolve the `makensis` binary prepared during tool resolution.
/// 2. Create an `_staging` directory containing the main executable, copiedView on GitHub (pinned to 24f6a829df)
Solutions
- light.exe finished but no MSI exists at the expected path. Check light.exe output for the real output path or errors.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at packages/cli/src/bundler/windows.rs:341 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/9265fa5ef2e1ba1a.
Report an issue: GitHub.