[−][src]Crate wix
wix Library
The goal of the cargo-wix project and the wix library is to make it easy
to create a Windows installer (msi) for any Rust project. The cargo-wix
project is primarily implemented as a cargo subcommand, but its core
functionality has been organized into a separate library. Documentation for
the binary and Command Line Interface (CLI) are provided in the module-level
documentation for the binary and the cargo wix --help command.
Table of Contents
Usage
First, add this to your Cargo.toml:
[dependencies]
wix = "0.1"
Next, add this to the lib.rs or main.rs file for your project:
extern crate wix;
Organization
Each subcommand is organized into a separate module. So, there is a
create, inititalize, print, etc. module within the crate. Some of the
modules are in a single Rust source file, while others are organized into
sub-folders. Each module follows the Builder design pattern, so there is a
Builder and Execution struct for each module/subcommand. The Builder
struct is used to customize the execution of the subcommand and builds an
Execution struct. The Execution struct is responsible for actually
executing the subcommand, which generally involves executing a process with
the std::process::Command struct, but not always. Each method for the
Builder struct generally corresponds to a CLI option or argument found in
the cargo wix subcommand and binary.
Modules
| clean | The implementation for the |
| create | The implementation for the |
| initialize | The implementation for the |
The implementation for the | |
| purge | The implementation for the |
| sign | The implementation for the |
Enums
| Cultures | The various culture codes for localization. |
| Error | The error type for wix-related operations and associated traits. |
| Platform | The different values for the |
| Template | The different templates that can be printed or written to a file. |
| TimestampServer | The aliases for the URLs to different Microsoft Authenticode timestamp servers. |
Constants
| BINARY_FOLDER_NAME | The name of the folder where binaries are typically stored. |
| CARGO | The name of the builder application for a Rust project. |
| CARGO_MANIFEST_FILE | The file name with extension for a package's manifest. |
| EXE_FILE_EXTENSION | The file extension for an executable. |
| LICENSE_FILE_NAME | The file name without an extension when generating a license. |
| MSI_FILE_EXTENSION | The file extension for a Windows installer. |
| RTF_FILE_EXTENSION | The file extension for a Rich Text Format (RTF) file. |
| SIGNTOOL | The name of the signer application from the Windows SDK. |
| SIGNTOOL_PATH_KEY | The name of the environment variable to specify the path to the signer application. |
| TARGET_FOLDER_NAME | The name of the folder where output from the builder, compiler, linker, and signer. |
| WIX | The default name of the folder for output from this subcommand. |
| WIX_COMPILER | The application name without the file extension of the compiler for the Windows installer. |
| WIX_LINKER | The application name without the file extension of the linker for the Windows installer. |
| WIX_OBJECT_FILE_EXTENSION | The file extension for a WiX Toolset object file, which is the output from the WiX compiler. |
| WIX_PATH_KEY | The name of the environment variable created by the WiX Toolset installer
that points to the |
| WIX_SOURCE_FILE_EXTENSION | The file extension of the WiX Source file, which is the input to the WiX Toolset compiler. |
| WIX_SOURCE_FILE_NAME | The default file name for the WiX Source file, which is the input to the WiX Toolset compiler. |
Type Definitions
| Result | A specialized |