pub struct SetupSpec {
pub arch: SetupArch,
pub install_mode: InstallMode,
pub product: ProductInfo,
pub branding: Branding,
pub uninstall_options: Vec<UninstallOption>,
pub files: Vec<FileSpec>,
pub install_lua: Option<Vec<u8>>,
pub uninstall_lua: Option<Vec<u8>>,
pub signed_stub: Option<Vec<u8>>,
}Expand description
Everything needed to author one setup.exe. Deliberately independent of the
embala config types so the crate is usable on its own.
Fields§
§arch: SetupArch§install_mode: InstallMode§product: ProductInfo§branding: BrandingIcon / banner / product identity patched into the stub before overlaying (spec R7). Always sets VERSIONINFO; icon and banner are optional.
uninstall_options: Vec<UninstallOption>Declarative uninstall options (spec R2), carried into the overlay manifest and shown by the uninstaller’s confirm dialog.
files: Vec<FileSpec>§install_lua: Option<Vec<u8>>Raw install.lua bytes shipped verbatim (spec R7). None ships the
extraction-only Phase-2 placeholder.
uninstall_lua: Option<Vec<u8>>Raw uninstall.lua bytes shipped verbatim. None ships an empty
section; the runtime then falls back to the log-driven uninstaller.
signed_stub: Option<Vec<u8>>A pre-signed bare uninstall stub. Some embeds it so the installer writes
a SIGNED uninstall.exe instead of prefix-copying its own stub; None
ships a zero-length section and the runtime falls back to the prefix copy.