-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for bundled installer #98
Comments
Thank you for the enhancement request. I do not have much (any) experience creating WiX bundles, other than I know it is possible. According to the PR you provided (#99), a WiX bundle has a
I kind of see this enhancement request as actually two separate, but complementary requests: (i) Adding support for bundles and (ii) adding an option/flag to change the file extension. PR #99 addresses the latter (adding option/flag to change file extension), and is a near-term resolution/workaround, while the former (supporting bundles) is a longer-term resolution/workaround. If you (@Coding-Badly) agree, then let's create a second issue/enhancement for the file extension enhancement because the title of this issue is already about supporting bundles. I would recommend making the option/flag be Sorry, I know you (@Coding-Badly) already submitted a PR with the |
Based on the Q&A I disagree. I think just a Regarding "extension": Yeah. That was a bad choice. Please let me know how you'd like to proceed. Any path forward that directly or indirectly gets the filename extension to |
Great! Thanks for the reply and answers. I agree, it sounds like a flag to indicate creating a bundle versus a MSI is the way forward. The If I had to guess, too, only For now, the The automatic detection would be a cool feature/enhancement, but let's move that to a separate issue for tracking purposes and no rush on getting that implemented. I understand the desire/need to just get cargo-wix to change the file extension for your project. |
It gets worse. If no extension is specified it builds without one and complains! I should have a pull request ready by tomorrow. Thank you again for this great project! |
Your welcome!
Even more weird. I just did a brief test using the
I received no warnings or errors from the WiX linker with any of the invocations. However, if I used a All three commands generated a file from the WiX compiler and linker without any complaints. This was on Windows 10 with WiX Toolset v3.11. So, maybe the file extension check is only for WiX bundles when the This does not change anything with regard to implementation. I just wanted to add some more data to situation. I think the |
Some experimentation with creating a workspace-based project and installer bundles has yielded the follow observations and conclusions: Assuming the following Rust project structure:
The most basic bundle definition would probably be the following for this project layout: <?xml version="1.0"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Bundle Version="1.0.0" UpgradeCode="[GUID]">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense"/>
<Chain>
<MsiPackage SourceFile="client\target\wix\client-0.1.0-x86_64.msi" />
<MsiPackage SourceFile="server\target\wix\server-0.1.0-x86_64.msi" />
</Chain>
</Bundle>
</Wix> This would require separate WiX Source files or WiX projects for each binary and have the MSI for each binary built before the bundle could be built. In other words, a bundle could not be created with a single PS> cargo wix client\Cargo.toml
PS> cargo wix server\Cargo.toml
PS> cargo wix --name Bundle-Name --installer-version 1.0.0 A bundle installer will be built. Note, these experiments were run with the latest revisions from PR#99, so the automatic bundle detection and EXE rename is working. Creating the client and server WXS files is currently possible with this subcommand, i.e. The This is all a little cumbersome, but definitely doable. I don't think #99 will ultimately address full support for bundles, but it is a start. This is also working under the assumption that bundles are only really used in conjunction with workspace-based Rust projects. I have not experimented or put a lot of thought into normal Rust projects that would use bundles versus to MSI. There is also the possibility of not using bundles with workspaces that would need to be addressed. So, adding full bundle support would also be closely tied to #74. |
The essence of the request is to allow the final filename extension to optionally be
exe
instead of being hard-coded to bemsi
. Everything else needed is available with the new-C
and-L
options.My first thought is
-x
or-extension
followed by the extension.The text was updated successfully, but these errors were encountered: