Using Silent Mode to automate Veeam ONE Installations

In a recent blog I shared how to perform an install of Veeam Backup & Replication using Silent Mode, making installations a much simpler, streamlined and automated process. So picking up where I left off, let’s look at how this can be achieved with Veeam ONE.


As a quick sidenote, I came across a couple of issues when testing silent mode which I wanted to share.

The first one is related to deployment issues. When I initially tested Silent Mode the latest build of Veeam ONE was 12.1.0.3208. Performing a fresh install of the software using Silent Mode (all-in-one with SQL Express instance) did not go as expected resulting in the installation stopping part way through. This was raised with Veeam support but I’m not sure whether it has since been resolved in this version. My recommendation is to use the latest 12.2 version which I can confirm works as expected and is what I’m using in the steps below.

The other thing I found relates to the documentation for Veeam ONE Silent Mode which I found a little confusing when compared with Silent Mode for VBR. The official Veeam ONE deployment guide contains the words “silent mode” in the actual hyperlink however uses “unattended mode” wording throughout the documentation. The backstory here is that Unattended Mode was replaced with the newer and preferred Silent Mode method in VBR 12.1 (although both are still usable). It seems this is also the case with Veeam ONE however the documentation hasn’t been updated to match. As a result the documentation is missing some information such as the configuration parameter descriptions for the XML answer file and the installation error codes.

Configuring the answer file

If you have performed a silent install with VBR before, you will see many similarities in the steps that follow.

First locate your Veeam ONE 12.2 installation media and mount it. Next browse to the root of the virtual dive and navigate to \Setup\Silent\AnswerFiles\VO and make a copy of the VoAnswerFile_install.xml file.

Open the file with a text editor. The file construct is made up of a properties element and several property child elements. Each of these child elements represents a configurable parameter related to the installation. Each parameter has a few commented lines above it with useful information including:

  • Whether it is required or optional parameter
  • A description of what the parameter does
  • The supported values that can be set against it

Below is a small snippet of the beginning of the file for visual representation:

<properties>

    <!--License agreements-->
    <!--Specify parameters to accept all the license agreements during silent installation or upgrade-->

        <!--[Required] Parameter ACCEPT_EULA specifies if you want to accept the Veeam license agreement. Specify '1' to accept the license agreement and proceed with installation or upgrade-->
            <!--Supported values: 0/1-->
            <property name="ACCEPT_EULA" value="1" />

As you scroll through the file, you will find that the configuration parameters are marked as either Required or Optional and have been split up into different groups to make it easier to manage. For example, you will find all the database related parameters together under <!–Database Configuration–>

Since this is a sample file, most of the parameters have already been configured with default values. However there are some required parameters below which don’t have any value set and need to be configured before continuing.

  • ACCEPT_EULA – set to 1 to accept the Veeam license agreement
  • ACCEPT_LICENSING_POLICY – set to 1 to accept the Veeam license policy
  • ACCEPT_THIRDPARTY_LICENSES – set to 1 to accept all 3rd party licenses used
  • ACCEPT_REQUIRED_SOFTWARE – set to 1 to accept all required software licenses
  • VO_SERVICE_USER – set to the account which the Veeam ONE service should run under in DOMAIN\username format
  • VO_SERVICE_PASSWORD – set to the password for the above account

Most of the remaining parameters are optional and the value you set will depend on your deployment scenario. If these are left as the default settings, the end result will emulate what an interactive install would look like using the default settings.

If you do plan on making changes to the file, be aware that you may need to remove or comment out unused Optional parameters otherwise the installation may fail.

Save the file once you have made the necessary changes.

Testing Installation

As always, I recommend testing the deployment in a sandbox environment first before rolling this out in production.

Before starting the installation make sure the user account is in the local Administrators group on the machine where it will run from.

Next open a command prompt and navigate to the \Setup\Silent folder on the mounted installation media. Run the Veeam.Silent.Install.exe file with the /AnswerFile switch, specifying the path to where the answer file is located.

Veeam.Silent.Install.exe /AnswerFile <Path to answer file>

After running the command, nothing will happen visually. If you open Task Manager you will find the Veeam.Silent.Install.exe process running indicating that the installation is in progress. To see what’s happening during the installation, log files are located in C:\ProgramData\Veeam\Setup\Temp.

After the installation has finished, the result is output to the command window, including the result code and a description.

Typically Veeam ONE requires the user to logoff and back on again to finalise the installation. This can be done manually or automated by setting the LOGOFF_IF_REQUIRED parameter to a value of 1 in the XML answer file.

Unfortunately the result and error codes aren’t available in the Veeam ONE documentation but you can get access to them from the VBR documentation instead:

https://helpcenter.veeam.com/docs/backup/vsphere/install_vbr_answer_file.html?ver=120#installation-result-codes

https://helpcenter.veeam.com/docs/backup/vsphere/install_vbr_answer_file.html?ver=120#installation-error-codes

These codes are also saved to an UnattendedInstallationResult.xml file which is specific to each individual installation. This is a great way to pass the result back to whatever initiated the installation such as a script via Group Policy for example.

Once you’re confident that everything looks good, you’re ready to start rolling this out in production using whatever deployment tools you set fit.

Wrap Up

Once I got past the initial hurdles I mentioned earlier, I can confidently say Veeam ONE deployment works really well with Silent Mode. I can see this being very useful for Veeam ONE deployments at scale or even as part of a larger automated build process. In theory you could build an environment containing Veeam ONE and VBR without barely lifting a finger!

One thing I’m hoping to see in the future is Veeam ONE becoming more closely integrated with the Veeam Service Provider Console. We already have the ability to install, upgrade and uninstall VBR through VSPC so here’s hoping Veeam ONE follows suit.

Leave a comment

Create a website or blog at WordPress.com

Up ↑