Skip to content

Commit f4b49f1

Browse files
authored
Merge pull request #7305 from kfam98/master
Add `msi-install` tool to devinit documentation
2 parents 0339ce9 + e7df251 commit f4b49f1

31 files changed

+99
-28
lines changed

docs/devinit/devinit-json.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Paths are relative to the location where devinit is running. This is typically t
4040

4141
```json
4242
{
43-
"$schema": "https://json.schemastore.org/devinit.schema-2.0",
43+
"$schema": "https://json.schemastore.org/devinit.schema-3.0",
4444
"comments": "string",
4545
"run": [
4646
{

docs/devinit/devinit-tool-list.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ The table below contains a list of all the currently available tools for devinit
2424
| [**dotnet-restore**](tool-dotnet-restore.md) | Tool to restore the dependencies and tools of a .NET project. |
2525
| [**dotnet-toolinstall**](tool-dotnet-toolinstall.md) | Tool to install the .NET Core tools (for example. dotnet-ef) |
2626
| [**enable-iis**](tool-enable-iis.md) | Tool to enable IIS features and install the latest ASP.NET hosting bundle. |
27+
| [**msi-install**](tool-msi-install.md) | Tool to install MSI files given a path or URL. |
2728
| [**npm-install**](tool-npm-install.md) | Tool to install NPM packages. |
2829
| [**nuget-restore**](tool-nuget-restore.md) | Tool to restore the NuGet packages. |
2930
| [**require-azureartifactscredentialprovider**](tool-require-azureartifactscredentialprovider.md) | Installs the Azure Artifacts Credential provider. |

docs/devinit/sample-all-tool.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ This example has a `devinit.json`, which installs all the available devinit tool
2020

2121
```json
2222
{
23-
"$schema": "./devinit.schema-2.0.json",
23+
"$schema": "./devinit.schema-3.0.json",
2424
"comments": "A sample dot-devinit file",
2525
"run": [
2626
{
@@ -54,6 +54,11 @@ This example has a `devinit.json`, which installs all the available devinit tool
5454
"tool": "enable-iis",
5555
"comments": "Enables IIS features and installs the latest ASP.NET hosting bundle."
5656
},
57+
{
58+
"tool": "msi-install",
59+
"input": "https://www.7-zip.org/a/7z1900.msi",
60+
"comments": "Installs the 7-Zip MSI",
61+
},
5762
{
5863
"tool": "npm-install",
5964
"input": "some-package",

docs/devinit/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
href: tool-dotnet-toolinstall.md
2828
- name: enable-iis
2929
href: tool-enable-iis.md
30+
- name: msi-install
31+
href: tool-msi-install.md
3032
- name: npm-install
3133
href: tool-npm-install.md
3234
- name: nuget-restore

docs/devinit/tool-azurecli-login.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ The Default behavior of the `azurecli-login` tool is to install the latest versi
4242

4343
```json
4444
{
45-
"$schema": "https://json.schemastore.org/devinit.schema-2.0",
45+
"$schema": "https://json.schemastore.org/devinit.schema-3.0",
4646
"run": [
4747
{
4848
"comments": "Example that will trigger az login --use-device-code behavior.",

docs/devinit/tool-choco-install.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ The `choco-install` tool sets a number of `choco` command-line arguments to ensu
4848

4949
```json
5050
{
51-
"$schema": "https://json.schemastore.org/devinit.schema-2.0",
51+
"$schema": "https://json.schemastore.org/devinit.schema-3.0",
5252
"run": [
5353
{
5454
"comments": "Example that will trigger the Default behavior of installing packages listed in a packages.config file.",

docs/devinit/tool-choco-upgrade.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ The `choco-upgrade` tool sets a number of `choco` command-line arguments to ensu
4848

4949
```json
5050
{
51-
"$schema": "https://json.schemastore.org/devinit.schema-2.0",
51+
"$schema": "https://json.schemastore.org/devinit.schema-3.0",
5252
"run": [
5353
{
5454
"comments": "Example that will trigger the Default behavior of upgrading packages listed in a packages.config file.",

docs/devinit/tool-dotnet-restore.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ The Default behavior of the `dotnet-restore` tool is to run 'dotnet restore' in
4242

4343
```json
4444
{
45-
"$schema": "https://json.schemastore.org/devinit.schema-2.0",
45+
"$schema": "https://json.schemastore.org/devinit.schema-3.0",
4646
"comments": "A sample dot-devinit file that builds the 'kitchen sink'",
4747
"run": [
4848
{

docs/devinit/tool-dotnet-toolinstall.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ The Default behavior of the `dotnet-toolinstall` tool is to error as `input` is
4444

4545
```json
4646
{
47-
"$schema": "https://json.schemastore.org/devinit.schema-2.0",
47+
"$schema": "https://json.schemastore.org/devinit.schema-3.0",
4848
"run": [
4949
{
5050
"comments": "Example that will install the dotnet-trace tool.",

docs/devinit/tool-enable-iis.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ The default behavior of the `enable-iis` tool is to enable IIS features: IIS-Web
4242

4343
```json
4444
{
45-
"$schema": "./devinit.schema-2.0.json",
45+
"$schema": "https://json.schemastore.org/devinit.schema-3.0.json",
4646
"run": [
4747
{
4848
"comments": "Example that will enable IIS features and install the latest ASP.NET hosting bundle.",

docs/devinit/tool-msi-install.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
---
2+
title: msi-install
3+
description: devinit tool for msiexec.
4+
ms.date: 10/13/2020
5+
ms.topic: reference
6+
author: andysterland
7+
ms.author: andster
8+
manager: jillfra
9+
ms.workload:
10+
- multiple
11+
monikerRange: ">= vs-2019"
12+
ms.prod: visual-studio-windows
13+
ms.technology: devinit
14+
---
15+
# msi-install
16+
17+
The `msi-install` tool is used to install `.msi` package file formats using [msiexec](https://docs.microsoft.com/windows-server/administration/windows-commands/msiexec).
18+
19+
## Usage
20+
21+
If the `input` is omitted or empty, then the tool will output an error.
22+
23+
| Name | Type | Required | Value |
24+
|----------------------------------------------|--------|----------|-----------------------------------------------------------------------------------|
25+
| **comments** | string | No | Optional comments property. Not used. |
26+
| [**input**](#input) | string | Yes | The `msi` to install. See [Input](#input) below for details. |
27+
| [**additionalOptions**](#additional-options) | string | No | See [Additional options](#additional-options) below for details. |
28+
29+
### Input
30+
31+
The input property is used to specify a path or URL to a `.msi` file that will be installed. If the path to the `.msi` is incorrect or the URL doesn't point to a `.msi` directly, then `msi-install` will note that the installation package cannot be opened.
32+
33+
### Additional options
34+
35+
Additional configuration options can be passed in as a value of the additionalOptions. These arguments are a direct passthrough to the arguments used by `msiexec` and are defined in the `msiexec` [documentation](https://docs.microsoft.com/windows-server/administration/windows-commands/msiexec).
36+
37+
### Built-in options
38+
39+
The msi-install tool sets a number of `msiexec` command-line arguments to ensure that msi can run headless. These arguments are listed below and documentation on them can be found in the `msiexec` [documentation](https://docs.microsoft.com/windows-server/administration/windows-commands/msiexec).
40+
41+
| Name | Description |
42+
|---------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
43+
| /i | Runs a normal installation |
44+
| /quiet | Specifies quiet mode with no user interaction required |
45+
| /qn | Specifies there's no UI during installation process |
46+
| /passive | Specifies unattended mode where the installation only shows a progress bar |
47+
| /l*V | Turns on logging and logs all information, including verbose information, to a `devinit.log` file in the machine's local temp folder. If the tool fails, the log file path is displayed. |
48+
| /norestart | Stops the machine from restarting after the installation is complete, but will return a 3010 exit code if a reboot is needed |
49+
50+
## Example usage
51+
52+
```json
53+
{
54+
"$schema": "https://json.schemastore.org/devinit.schema-4.0",
55+
"run": [
56+
{
57+
"comments": "Installs the 7-Zip MSI",
58+
"tool": "msi-install",
59+
"input": "https://www.7-zip.org/a/7z1900.msi"
60+
}
61+
]
62+
}
63+
```

docs/devinit/tool-npm-install.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Additional configuration options can be passed in as a value of the `additionalO
3838

3939
```json
4040
{
41-
"$schema": "https://json.schemastore.org/devinit.schema-2.0",
41+
"$schema": "https://json.schemastore.org/devinit.schema-3.0",
4242
"run": [
4343
{
4444
"comments": "Example that will install the mongo NPM package (https://www.npmjs.com/package/mongo).",

docs/devinit/tool-nuget-restore.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ The Default behavior of the `nuget-restore` tool is to run 'NuGet restore' in th
4242

4343
```json
4444
{
45-
"$schema": "https://json.schemastore.org/devinit.schema-2.0",
45+
"$schema": "https://json.schemastore.org/devinit.schema-3.0",
4646
"comments": "A sample dot-devinit file that restores NuGet pacakges.",
4747
"run": [
4848
{

docs/devinit/tool-require-azureartifactscredentialprovider.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ The Default behavior of the `require-azureartifactscredentialprovider` tool is t
4242

4343
```json
4444
{
45-
"$schema": "https://json.schemastore.org/devinit.schema-2.0",
45+
"$schema": "https://json.schemastore.org/devinit.schema-3.0",
4646
"comments": "A sample dot-devinit file that installs Azure Artifacts Credential Provider.'",
4747
"run": [
4848
{

docs/devinit/tool-require-azurecli.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ The Default behavior of the `require-azurecli` tool is to install the latest ver
4242

4343
```json
4444
{
45-
"$schema": "https://json.schemastore.org/devinit.schema-2.0",
45+
"$schema": "https://json.schemastore.org/devinit.schema-3.0",
4646
"run": [
4747
{
4848
"comments": "Example that will trigger the Default behavior of installing the Azure CLI.",

docs/devinit/tool-require-choco.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ The Default behavior of the `require-choco` tool is to install chocolatey, and a
4242

4343
```json
4444
{
45-
"$schema": "https://json.schemastore.org/devinit.schema-2.0",
45+
"$schema": "https://json.schemastore.org/devinit.schema-3.0",
4646
"run": [
4747
{
4848
"comments": "Installs chocolatey.",

docs/devinit/tool-require-dotnetcoresdk.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ The Default behavior of the `require-dotnetcoresdk` tool is to install the versi
4545

4646
```json
4747
{
48-
"$schema": "https://json.schemastore.org/devinit.schema-2.0",
48+
"$schema": "https://json.schemastore.org/devinit.schema-3.0",
4949
"run": [
5050
{
5151
"comments": "Example that will trigger the Default behavior of installing latest or, if present, the SDK version from a global.json file.",

docs/devinit/tool-require-dotnetframeworksdk.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ The Default behavior of the `require-dotnetframeworksdk` tool is to install the
4242

4343
```json
4444
{
45-
"$schema": "https://json.schemastore.org/devinit.schema-2.0",
45+
"$schema": "https://json.schemastore.org/devinit.schema-3.0",
4646
"run": [
4747
{
4848
"comments": "Example that will install a specific version of the .NET Framework SDK.",

docs/devinit/tool-require-mssql.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ The `require-mssql` tool sets a number of installer command line arguments to en
7272

7373
```json
7474
{
75-
"$schema": "https://json.schemastore.org/devinit.schema-2.0",
75+
"$schema": "https://json.schemastore.org/devinit.schema-3.0",
7676
"run": [
7777
{
7878
"comments": "Installs MSSQL.",

docs/devinit/tool-require-nodejs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ The Default behavior of the `require-nodejs` tool is to install the latest LTS v
4242

4343
```json
4444
{
45-
"$schema": "https://json.schemastore.org/devinit.schema-2.0",
45+
"$schema": "https://json.schemastore.org/devinit.schema-3.0",
4646
"run": [
4747
{
4848
"comments": "Example that will trigger the Default behavior of installing latest LTS of Node.JS.",

docs/devinit/tool-require-npm.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ The Default behavior of the `require-nodejs` tool is to install the latest LTS v
4242

4343
```json
4444
{
45-
"$schema": "https://json.schemastore.org/devinit.schema-2.0",
45+
"$schema": "https://json.schemastore.org/devinit.schema-3.0",
4646
"run": [
4747
{
4848
"comments": "Example that will trigger the Default behavior of installing latest LTS of NPM.",

docs/devinit/tool-require-nuget.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ The Default behavior of the `require-nuget` tool is to install latest of NuGet C
4242

4343
```json
4444
{
45-
"$schema": "https://json.schemastore.org/devinit.schema-2.0",
45+
"$schema": "https://json.schemastore.org/devinit.schema-3.0",
4646
"comments": "A sample dot-devinit file that downloads NuGet CLI and adds to PATH variable.'",
4747
"run": [
4848
{

docs/devinit/tool-require-psmodule.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ The `require-psmodule` tool sets a number of `Install-Module` command line argum
5656

5757
```json
5858
{
59-
"$schema": "https://json.schemastore.org/devinit.schema-2.0",
59+
"$schema": "https://json.schemastore.org/devinit.schema-3.0",
6060
"run": [
6161
{
6262
"comments": "Installs the PowerShellGet module.",

docs/devinit/tool-require-vcpkg.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ The Default behavior of the `require-vcpkg` tool is to install vcpkg, and add it
4242

4343
```json
4444
{
45-
"$schema": "https://json.schemastore.org/devinit.schema-2.0",
45+
"$schema": "https://json.schemastore.org/devinit.schema-3.0",
4646
"run": [
4747
{
4848
"comments": "Installs vcpkg.",

docs/devinit/tool-require-vscomponent.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ The Default behavior of the `require-vscomponent` tool is to look for a `.vsconf
4242

4343
```json
4444
{
45-
"$schema": "https://json.schemastore.org/devinit.schema-2.0",
45+
"$schema": "https://json.schemastore.org/devinit.schema-3.0",
4646
"comments": "A sample dot-devinit file.",
4747
"run": [
4848
{

docs/devinit/tool-set-env.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ If you're using a codespace, you can set environment variables used in the codes
5151

5252
```json
5353
{
54-
"$schema": "https://json.schemastore.org/devinit.schema-2.0",
54+
"$schema": "https://json.schemastore.org/devinit.schema-3.0",
5555
"comments": "A sample dot-devinit file demonstrating the set-env tool.",
5656
"run": [
5757
{

docs/devinit/tool-vcpkg-install.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ The Default behavior of the `vcpkg-install` tool is to error, as `input` is requ
4242

4343
```json
4444
{
45-
"$schema": "https://json.schemastore.org/devinit.schema-2.0",
45+
"$schema": "https://json.schemastore.org/devinit.schema-3.0",
4646
"run": [
4747
{
4848
"comments": "Installs the sdl2 port.",

docs/devinit/tool-windowsfeature-disable.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ The Default behavior of the `windowsfeature-disable` tool is to error, as `input
4040

4141
```json
4242
{
43-
"$schema": "https://json.schemastore.org/devinit.schema-2.0",
43+
"$schema": "https://json.schemastore.org/devinit.schema-3.0",
4444
"run": [
4545
{
4646
"comments": "Installs IIS.",

docs/devinit/tool-windowsfeature-enable.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ The Default behavior of the `windowsfeature-enable` tool is to error, as `input`
4040

4141
```json
4242
{
43-
"$schema": "https://json.schemastore.org/devinit.schema-2.0",
43+
"$schema": "https://json.schemastore.org/devinit.schema-3.0",
4444
"run": [
4545
{
4646
"comments": "Installs IIS.",

docs/devinit/tool-windowsfeature-list.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ The default behavior of the `windowsfeature-list` tool is to list the enable/dis
3838

3939
```json
4040
{
41-
"$schema": "./devinit.schema-2.0.json",
41+
"$schema": "https://json.schemastore.org/devinit.schema-3.0.json",
4242
"run": [
4343
{
4444
"comments": "Lists the state of all Windows features.",

docs/devinit/tool-wsl-install.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ The Default behavior of the `wsl-install` tool is to error as the `input` proper
6262

6363
```json
6464
{
65-
"$schema": "https://json.schemastore.org/devinit.schema-2.0",
65+
"$schema": "https://json.schemastore.org/devinit.schema-3.0",
6666
"run": [
6767
{
6868
"comments": "Example that will install Ubuntu 20.04.",

0 commit comments

Comments
 (0)