burtonageo / cargo-bundle

Wrap rust executables in OS-specific app bundles
Other
1.08k stars 74 forks source link

Fix MSI support and add minimal UI #142

Closed aerkiaga closed 1 year ago

aerkiaga commented 1 year ago

This pull request gets MSI support to a state where it can install and uninstall a simple program (under Wine). It also adds a simple setup UI with support for both install and remove actions. It cannot yet upgrade an installation in-place or perform other tasks like setting up shortcuts, modifying environment variables or writing registry values.

Depends on https://github.com/mdsteele/rust-msi/pull/16.

The UI layout is inspired on that of an existing installer, with less dialogs/controls and some modifications: the text has been made larger (size 10, up from 8), and all sentences have been reworded, notably some buttons for clarity ("Next" -> "Install"/"Remove", "Yes" -> "Abort", "No" -> "Continue"). Also, no icons or banners are present; unnecessary though they are, I could draw up some (following any indications) to make the installer more closely follow conventional UIs (edit: done here, I'll PR if desired).

Edit: I've commented on the fixes. Everything else is not strictly necessary for the installer to work.

mdsteele commented 1 year ago

This looks reasonable to me. I've just published a v0.6.0 of the msi crate with the new set_word_count method, so you should be set to update Cargo.toml.

mdsteele commented 1 year ago

Looks like just need to fix some clippy errors.

mdsteele commented 1 year ago

Thanks!