diff --git a/docs/sources/static/set-up/install/install-agent-on-windows.md b/docs/sources/static/set-up/install/install-agent-on-windows.md index 1ff2a05e61a4..bf27459f1cb4 100644 --- a/docs/sources/static/set-up/install/install-agent-on-windows.md +++ b/docs/sources/static/set-up/install/install-agent-on-windows.md @@ -30,7 +30,11 @@ To do a standard graphical install of Grafana Agent on Windows, perform the foll 1. Double-click on `grafana-agent-installer.exe` to install Grafana Agent. Grafana Agent is installed into the default directory `C:\Program Files\Grafana Agent`. - The [windows_exporter integration](/docs/agent/latest/static/configuration/integrations/windows-exporter-config) can be enabled with all default windows_exporter options. + + The following options are available: + + - The [windows_exporter integration][windows_exporter_config] can be enabled with all default windows_exporter options. + - The [-config.expand-env][flags] command line flag can be enabled. ## Silent install @@ -78,6 +82,24 @@ If you are using `remote_write` you must enable Windows Exporter and set the glo If you are using Powershell, make sure you use triple quotes `"""http://example.com"""` around the URL parameter. +## Silent install with `-config.expand_env` + +It is possible to enable [-config.expand-env][flags] during a silent install. + +1. Navigate to the [latest release](https://github.com/grafana/agent/releases) on GitHub. + +1. Scroll down to the **Assets** section. + +1. Download the file called `grafana-agent-installer.exe.zip`. + +1. Unzip the downloaded file. + +1. Run the following command in PowerShell or Command Prompt: + + ```shell + PATH_TO_INSTALLER/grafana-agent-installer.exe /S /ExpandEnv true + ``` + ## Verify the installation 1. Make sure you can access `http://localhost:12345/-/healthy` and `http://localhost:12345/agent/api/v1/metrics/targets`. @@ -146,6 +168,8 @@ Refer to [windows_events](/docs/loki/latest/clients/promtail/configuration/#wind - [Configure Grafana Agent][configure] {{% docs/reference %}} +[flags]: "/docs/agent/ -> /docs/agent//static/configuration/flags" +[windows_exporter_config]: "/docs/agent/ -> /docs/agent//static/configuration/integrations/windows-exporter-config" [start]: "/docs/agent/ -> /docs/agent//static/set-up/start-agent" [start]: "/docs/grafana-cloud/ -> ../start-agent" [configure]: "/docs/agent/ -> /docs/agent//static/configuration/create-config-file" diff --git a/packaging/grafana-agent/windows/install_script.nsis b/packaging/grafana-agent/windows/install_script.nsis index d813e4ff7238..b08a8216c691 100644 --- a/packaging/grafana-agent/windows/install_script.nsis +++ b/packaging/grafana-agent/windows/install_script.nsis @@ -24,19 +24,19 @@ outFile "${OUT}" LicenseData LICENSE # Everything must be global Vars +Var EnableOptionsDialog +Var PassedInParameters Var EnableExporterCheck Var EnableExporterValue -Var EnableExporterDialog -Var ExpandEnvCheck -Var ExpandEnvValue -Var PassedInParameters Var Url Var Username Var Password +Var ExpandEnvCheck +Var ExpandEnvValue Page license Page directory -Page custom enableWindowsExporter enableWindowsExporterLeave +Page custom enableOptions enableOptionsLeave Page instfiles # Annoyingly macros need to be defined before use @@ -60,21 +60,21 @@ Section "install" ThisIsSilent: ${GetParameters} $PassedInParameters ${GetOptions} $PassedInParameters "/EnableExporter" $EnableExporterValue - ${GetOptions} $PassedInParameters "/ExpandEnv" $ExpandEnvValue ${GetOptions} $PassedInParameters "/Url" $Url ${GetOptions} $PassedInParameters "/Username" $Username ${GetOptions} $PassedInParameters "/Password" $Password + ${GetOptions} $PassedInParameters "/ExpandEnv" $ExpandEnvValue Call Install Return RunInstaller: Call Install SectionEnd -Function enableWindowsExporter +Function enableOptions nsDialogs::Create 1018 - Pop $EnableExporterDialog + Pop $EnableOptionsDialog - ${If} $EnableExporterDialog == error + ${If} $EnableOptionsDialog == error Abort ${EndIf} @@ -93,7 +93,7 @@ Function enableWindowsExporter nsDialogs::Show FunctionEnd -Function enableWindowsExporterLeave +Function enableOptionsLeave ${NSD_GetState} $EnableExporterCheck $EnableExporterValue ${If} $EnableExporterValue == ${BST_CHECKED} StrCpy $EnableExporterValue "true"