<commit_before># Windows MSI installer build toolkit

This creates a Salt Minion msi installer using [WiX](http://wixtoolset.org).

The focus is on 64bit, unattended install.

## Introduction

[On Windows installers](http://unattended.sourceforge.net/installers.php)

An msi installer allows unattended/silent installations, meaning without opening any window, while still providing
customized values for e.g. master hostname, minion id, installation path, using the following generic command:

> msiexec /i *.msi PROPERTY1=VALUE1 PROPERTY2=VALUE2 PROPERTY3="VALUE3a and 3b" PROPERTY4=""

Values must be quoted when they contains whitespace, or to unset a property, as in `PROPERTY4=""`

Example: Set the master:

> msiexec /i *.msi MASTER=salt2

Example: set the master and its key:

> msiexec /i *.msi MASTER=salt2 MASTER_KEY=<KEY>

Example: uninstall and remove configuration

> MsiExec.exe /X *.msi REMOVE_CONFIG=1

## Features

- Creates a very verbose log file, by default %TEMP%\MSIxxxxx.LOG, where xxxxx are 5 random lowercase letters or numbers. The name of the log can be specified with `msiexec /log example.log`
- Upgrades NSIS installations __UNDER REVIEW__

Salt Minion-specific msi-properties:
<commit_msg>Increase focus<commit_after># Windows MSI installer build toolkit

This creates a Salt Minion msi installer using [WiX](http://wixtoolset.org).

The focus is on unattended install.

## Introduction

[On Windows installers](http://unattended.sourceforge.net/installers.php)

An msi installer allows unattended/silent installations, meaning without opening any window, while still providing
customized values for e.g. master hostname, minion id, installation path, using the following generic command:

> msiexec /i *.msi PROPERTY1=VALUE1 PROPERTY2=VALUE2 PROPERTY3="VALUE3a and 3b" PROPERTY4=""

Values must be quoted when they contains whitespace, or to unset a property, as in `PROPERTY4=""`

Example: Set the master:

> msiexec /i *.msi MASTER=salt2

Example: set the master and its key:

> msiexec /i *.msi MASTER=salt2 MASTER_KEY=<KEY>

Example: uninstall and remove configuration

> MsiExec.exe /X *.msi REMOVE_CONFIG=1

## Features

- Creates a very verbose log file, by default %TEMP%\MSIxxxxx.LOG, where xxxxx are 5 random lowercase letters or numbers. The name of the log can be specified with `msiexec /log example.log`
- Upgrades NSIS installations __UNDER REVIEW__

Salt Minion-specific msi-properties:

{'fraction_non_alphanumeric': 0.08004926108374384, 'fraction_numerical': 0.011494252873563218, 'mean_word_length': 4.958435207823961, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5944255', 'n_tokens_mistral': 783, 'n_tokens_neox': 743, 'n_words': 296}