volks73 / cargo-wix

A cargo subcommand to build Windows installers for rust projects using the WiX Toolset
https://volks73.github.io/cargo-wix
Apache License 2.0
314 stars 26 forks source link

Question about capabilities #195

Open AndonMitev opened 1 year ago

AndonMitev commented 1 year ago

Hello I'm wondering if this package is the right one for my case. I'm creating a Platform that allow users to download .exe files, then i want to create custom installer in order to obtain the information where app will be installed and etc.. is it Wix proper for this, also is there some guide/example how to use it with rust or?

volks73 commented 1 year ago

It sounds like you have two questions: (1) Can I use WiX to create installers for my use case and (2) How do I use this project?

1) It sounds like you want to dynamically create an installer after a user selects a "bundle" of executables. I cannot say exactly WiX is the correct choice for your given application, but the WiX Toolset is very powerful and feature-full. It is possible to create an installer of installers with the WiX Toolset. This would be a somewhat advanced usage. I believe WiX has scripting as well, so it would be possible to create installers dynamically, too. The WiX Toolset Documentation is pretty good and extensive. The project has been around a long time, i.e. stable, and there are a lot of StackOverflow Q&As that could be useful to understand if WiX Toolset is right for you. Some alternatives are InnoSetup or NSIS (https://nsis.sourceforge.io/Download).

2) This project is a "wrapper" around the WiX Toolset v3 toolchain to integrate into Cargo. It is intended to quickly and easily create relatively basic installers for Rust projects. While it can be used for more "generic" projects or multi-programming language projects, it is really intended to create a Windows installer for a Rust binary. The WiX Toolset v3 will need to be installed to use this project. There is a quick start guide, tutorial, examples, etc. available here: https://volks73.github.io/cargo-wix/cargo_wix/index.html (link is also avaliable under the description on the Code page in GitHub and on the README under the Quick Start section). If you are currently not using Cargo and Rust for your application, then this project is probably not right for you.