Skip to content

Latest commit

 

History

History
73 lines (48 loc) · 2.64 KB

CONTRIBUTING.md

File metadata and controls

73 lines (48 loc) · 2.64 KB

Contributing

Contributions are welcome, but please keep in mind the following goals of this project:

Prerequisites

The following software is required:

  • Rust

    If Rust is already installed, please run rustup update to make sure you're up to date.

  • Nightly toolchain

    You need to install the nightly toolchain to build and test all examples.

    rustup toolchain install nightly

The following software is recommended:

  • Visual Studio Code

    When opening this project directory and prompted, please install recommended extensions. These are limited only to things that help keep the project clean and should not feel intrusive.

  • WiX 3.11

    WiX 4 is not supported at this time, but you should be able to install both side by side.

Testing

To build and test, simply run:

cargo test --all-features

By default, this will build x64 custom action DLLs from under examples. These are used when building a Windows Installer package that will not register itself so you can run it as many times as necessary to test custom actions:

msbuild -t:rebuild examples/example.wixproj
msiexec /i $PWD\target\debug\example.msi /l*v install.log

You do not need to build the MSI, but it is recommended if you make any changes to custom action examples or the product authoring. Even if you don't, the continuous integration (CI) build will make sure it builds cleanly.

x86

If you have the x86 libraries for the Windows SDK installed, you can also build x86:

rustup target install i686-pc-windows-msvc
cargo test --target i686-pc-windows-msvc
msbuild -t:rebuild examples/product.wixproj -p:Platform=x86

This should not really be necessary and is not practically useful since x86-only Windows platforms are out of supported. This may only be necessary if your custom actions must use x86-only APIs from third parties.