Silent installation for Bentley OpenFlows Products

Product(s): WaterGEMS, WaterCAD, HAMMER, SewerGEMS, StormCAD, SewerCAD, CivilStorm, PondPack
Version(s): Varies
Area: Installation


Index

Silent Install Syntax
Patches
.NET Framework
CONNECTION Client
Troubleshooting
Silent Uninstallation
Version-specific details
Licensing

Background

As a systems administrator, it is sometimes necessary to install one or more of Bentley's Water, Storm and Sewer products silently, so that no prompts appear on the client side. A script may be needed to push this out from a server.


Silent Installation Syntax

The process for silently installing a OpenFlows product varies depending on the version. Use the table below to determine which method to use with the version you are deploying. Further details on each method are displayed in the sections that follow (below "General").

Product Version Installer Technology Silent install syntax .NET required
WaterCAD/WaterGEMS/HAMMER 10.02.XX.XX Wix /q 4.6.1
WaterCAD/WaterGEMS/HAMMER  10.01.XX.XX Wix /q 4.6.1
WaterCAD/WaterGEMS/HAMMER 10.00.00.55 Wix /q 4.6.1
WaterCAD/WaterGEMS/HAMMER 10.00.00.50 7Zip/Wix /gm2 /ai 4.5.1

WaterCAD/WaterGEMS/HAMMER

08.11.06.113 7Zip/Wix /gm2 /ai 4.5.1

WaterCAD/WaterGEMS/HAMMER

08.11.06.58 7Zip/Wix /gm2 /ai 3.5 SP1

WaterCAD/WaterGEMS/HAMMER

08.11.05.61 7Zip/Wix /gm2 /ai 3.5 SP1

WaterCAD/WaterGEMS/HAMMER

08.11.04.58 IEpress/Wix /q:a 3.5 SP1
WaterCAD/WaterGEMS/HAMMER 08.11.04.57 IEpress/Wix /q:a 3.5 SP1
WaterCAD/WaterGEMS/HAMMER 08.11.04.50 IEpress/Wix /q:a 3.5 SP1
WaterCAD/WaterGEMS/HAMMER 08.11.03.19 IEpress/Wix /q:a 3.5 SP1
WaterCAD/WaterGEMS/HAMMER 08.11.03.17 IEpress/Wix /q:a 3.5 SP1
WaterCAD/WaterGEMS/HAMMER 08.11.03.16 IEpress/Wix /q:a 3.5 SP1
WaterCAD/WaterGEMS/HAMMER 08.11.02.31 IEpress/Wix /q:a 3.5 SP1
WaterCAD/WaterGEMS/HAMMER 08.11.01.32 IEpress/Wix (older) N/A 3.5 SP1
WaterCAD/WaterGEMS/HAMMER 08.11.00.30 Installshield /s /v/qn 3.5
WaterCAD/WaterGEMS/HAMMER 08.09.400.34 Installshield /s /v/qn 2.0
WaterCAD/WaterGEMS 08.09.165.12 Installshield /s /v/qn 2.0
WaterCAD/WaterGEMS 08.09.165.09 Installshield /s /v/qn 2.0
WaterCAD/WaterGEMS 08.09.165.00 Installshield /s /v/qn 1.1
WaterCAD/WaterGEMS 08.09.155.00 Installshield /s /v/qn 1.1
WaterCAD/WaterGEMS 07.00.061.00 Installshield /s /v/qn 1.1
WaterCAD/WaterGEMS 07.00.027.00 Installshield /s /v/qn  
WaterCAD/WaterGEMS 6.5120n Wise /s  
HAMMER 07.01.013.00 Installshield /s /v/qn 1.1
HAMMER 07.00.060.00 Wise /s  
StormCAD 10.02.XX.XX Wix /q 4.6.1
StormCAD 10.01.XX.XX Wix /q 4.6.1
StormCAD 10.00.00.45 Wix /q 4.6.1
StormCAD 10.00.00.40 7Zip/Wix /gm2 /ai 4.5.1
StormCAD 08.11.05.113 7Zip/Wix /gm2 /ai 4.5.1
StormCAD 08.11.05.58 7Zip/Wix /gm2 /ai 3.5 SP1
StormCAD 08.11.04.54 7Zip/Wix /gm2 /ai 3.5 SP1
StormCAD 08.11.03.84 IEpress/Wix /q:a 3.5 SP1
StormCAD 08.11.03.83 IEpress/Wix /q:a 3.5 SP1
StormCAD 08.11.03.77 IEpress/Wix /q:a 3.5 SP1
StormCAD 08.11.02.75 IEpress/Wix /q:a 3.5 SP1
StormCAD 08.11.02.38 IEpress/Wix /q:a 3.5 SP1
StormCAD 08.11.02.35 IEpress/Wix /q:a 3.5 SP1
StormCAD 08.11.00.44 Installshield /s /v/qn 3.5
StormCAD 08.11.00.40 Installshield /s /v/qn 3.5
StormCAD 08.11.00.34 Installshield /s /v/qn 3.5
StormCAD 08.11.00.24 Installshield /s /v/qn 3.5
StormCAD 08.09.081.00 Installshield /s /v/qn 2.0
StormCAD 05.06.014.00 Installshield /s /v/qn 1.1
StormCAD 05.06.012.00 Installshield /s /v/qn 1.1
StormCAD 05.06.007.00 Wise /s  
SewerCAD 10.02.XX.XX Wix /q 4.6.1
SewerCAD 10.01.XX.XX Wix /q 4.6.1
SewerCAD 10.00.00.45 Wix /q 4.6.1
SewerCAD 10.00.00.40 7Zip/Wix /gm2 /ai 4.5.1
SewerCAD 08.11.05.113 7Zip/Wix /gm2 /ai 4.5.1
SewerCAD 08.11.05.58 7Zip/Wix /gm2 /ai 3.5 SP1
SewerCAD 08.11.04.54 7Zip/Wix /gm2 /ai 3.5 SP1
SewerCAD 08.11.03.84 IEpress/Wix /q:a 3.5 SP1
SewerCAD 08.11.03.83 IEpress/Wix /q:a 3.5 SP1
SewerCAD 08.11.03.77 IEpress/Wix /q:a 3.5 SP1
SewerCAD 08.11.02.75 IEpress/Wix /q:a 3.5 SP1
SewerCAD 08.11.02.49 IEpress/Wix /q:a 3.5 SP1
SewerCAD 08.11.02.46 IEpress/Wix /q:a 3.5 SP1
SewerCAD 08.11.00.52 Installshield /s /v/qn 3.5
SewerCAD 08.11.00.48 Installshield /s /v/qn 3.5
SewerCAD 05.06.014.00 Installshield /s /v/qn 2.0
SewerCAD 05.06.011.00 Installshield /s /v/qn 1.1
SewerCAD 05.06.008.00 Wise /s  
SewerGEMS 10.02.XX.XX Wix /q 4.6.1
SewerGEMS 10.01.XX.XX Wix /q 4.6.1
SewerGEMS 10.00.00.45 Wix /q 4.6.1
SewerGEMS 10.00.00.40 7Zip/Wix /gm2 /ai 4.5.1
SewerGEMS 08.11.05.113 7Zip/Wix /gm2 /ai 4.5.1
SewerGEMS 08.11.05.58 7Zip/Wix /gm2 /ai 3.5 SP1
SewerGEMS 08.11.04.54 7Zip/Wix /gm2 /ai 3.5 SP1
SewerGEMS 08.11.03.84 IEpress/Wix /q:a 3.5 SP1
SewerGEMS 08.11.03.83 IEpress/Wix /q:a 3.5 SP1
SewerGEMS 08.11.03.77 IEpress/Wix /q:a 3.5 SP1
SewerGEMS 08.11.02.75 IEpress/Wix /q:a 3.5 SP1
SewerGEMS 08.11.02.49 IEpress/Wix /q:a 3.5 SP1
SewerGEMS 08.11.02.46 IEpress/Wix /q:a 3.5 SP1
SewerGEMS 08.11.01.21 Installshield /s /v/qn 3.5
SewerGEMS 08.11.00.08 Installshield /s /v/qn 3.5
SewerGEMS 08.09.26.17 Installshield /s /v/qn 2.0
SewerGEMS 08.09.025.00 Installshield /s /v/qn 1.1
CivilStorm 10.02.XX.XX Wix /q 4.6.1
CivilStorm 10.01.XX.XX Wix /q 4.6.1
CivilStorm 10.00.00.45 Wix /q 4.6.1
CivilStorm 10.00.00.40 7Zip/Wix /gm2 /ai 4.5.1
CivilStorm 08.11.05.113 7Zip/Wix /gm2 /ai 4.5.1
CivilStorm 08.11.05.58 7Zip/Wix /gm2 /ai 3.5 SP1
CivilStorm 08.11.04.54 7Zip/Wix /gm2 /ai 3.5 SP1
CivilStorm 08.11.03.84 IEpress/Wix /q:a 3.5 SP1
CivilStorm 08.11.03.83 IEpress/Wix /q:a 3.5 SP1
CivilStorm 08.11.03.77 IEpress/Wix /q:a 3.5 SP1
CivilStorm 08.11.02.75 IEpress/Wix /q:a 3.5 SP1
CivilStorm 08.11.02.65 IEpress/Wix /q:a 3.5 SP1
CivilStorm 08.11.02.62 IEpress/Wix /q:a 3.5 SP1
CivilStorm 08.11.01.36 Installshield /s /v/qn 3.5 SP1
CivilStorm 08.11.00.08 Installshield /s /v/qn 3.5
CivilStorm 08.09.26.17 Installshield /s /v/qn 2.0
CivilStorm 08.09.023.25 Installshield /s /v/qn  
CivilStorm 08.09.20.09 Installshield /s /v/qn  
PondPack 10.02.00.01 Wix /q 3.5 SP1
PondPack 10.00.00.02 Wix /q 3.5 SP1
PondPack 08.11.01.56 IEpress/Wix /q:a 3.5 SP1
PondPack 08.11.01.54 IEpress/Wix /q:a 3.5 SP1
PondPack 08.11.01.51 IEpress/Wix (older) N/A 3.5 SP1
PondPack 10.01.04.00 Installshield /s /v/qn 1.1
Flowmaster 10.02.00.01 Wix /q 2.0
FlowMaster 10.00.00.02 Wix /q 2.0
FlowMaster 08.11.01.03 Installshield /s /v/qn 2.0
FlowMaster 08.11.00.03 Installshield /s /v/qn 2.0
FlowMaster 08.01.071.00 Installshield /s /v/qn 1.1
FlowMaster 08.01.068.00 Installshield /s /v/qn 1.1
FlowMaster 08.01.067.00 Installshield /s /v/qn 1.1
CulvertMaster 03.03.00.04 Installshield /s /v/qn 2.0
CulvertMaster 03.02.00.01 Installshield /s /v/qn 2.0
CulvertMaster 03.01.010.00 Installshield /s /v/qn 2.0
CulvertMaster 03.01.009.00 Installshield /s /v/qn 1.1
CulvertMaster 03.01.003.00 Wise /s  

What if I want to silently deploy a newer version of a product that is already installed?

With newer generation installation packages based on IEpress/Wix, a silent installation of a newer version should automatically uninstall the older version first. There should be no prompt appearing on the user side.

For Installshield generation versions and below, you may need to uninstall the existing older version first (see further below on silent uninstallation).

Cumulative Patch Sets

Cumulative patch sets do not have silent install switch because they are essentially just self extracting zip files. If you want to do a silent install you can extract the files from them and repackage it. You can use a program like 7 zip or WinRAR to extract the contents of the patch. You'll notice here are a few files once you extract everything. Delete all the files except the ZIP file. Now you can take this zip file then open it to extract the contents of the patch set for each program. For example for WaterGEMS, extract the "WaterGEMS" folder within cumulative patch set; the files in that folder need to be deployed to the WaterGEMS installation folder. The files directly within the root of that folder would deploy to the root of the product installation folder (the 32-bit version), and the files within the "x64" subfolder would deploy to the x64 subfolder within the installation folder (the 64-bit version).

.NET Framework

Microsoft .NET Framework is a prerequisite to all OpenFlows | products. Before silently deploying the product, if the required version of .NET (see chart above) is not already installed, it it best to silently deploy that first.

CONNECTION Client

Starting with the build 08.11.06.113 of WaterGEMS/WaterCAD/HAMMER and build 08.11.05.113 of SewerGEMS/SewerCAD/CivilStorm/StormCAD, The Bentley CONNECTION Client will be install as a prerequisite. To install the CONNECTION Client itself, silently, see the below articles. In particular, note the syntax required to prevent the CONNECTION Client from opening after installation. Also note that if you are on a 64-bit Operating System, installing the 64-bit version of the OpenFlows product, you will want to silently deploy the 64-bit version of the CONNECTION Client.

CONNECTION Client Silent Installation

How to Create a Deployment Image

The CONNECTION Client has a set of prerequisites, similar to the program installation file. If these prerequisites are not already on the computer, they will be installed by the CONNNECTION Client installer. As mentioned in the "Note on .NET Framework" section above, you may want to install these prerequisites first before installing CONNECTION Client.

Troubleshooting / Alternatives

If you're having trouble performing a silent installation, try extracting all the contents and silently deploying them separately. See "Older IEpress/Wix Installers" section below for more information.

Silent Uninstallation

To perform a silent uninstallation, run msiexec with the following syntax:

msiexec /x {guid} /qn

On a 64-bit operating system, the guid for our products (which use a 32-bit installer), can be found in the registry under:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\

On a 32-bit operating system, the guid can be found under:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\

For instance for WaterGEMS 08.11.04.50, the guid is {BE30126E-C93C-4C98-97EA-3EEBB4F2561F}, so you would run it like this:

msiexec /x {BE30126E-C93C-4C98-97EA-3EEBB4F2561F} /qn

Version-specific details for Silent Installations

Versions using IExpress and Wix Technology (~2010-2013)

Recent versions of OpenFlows products (as of ~2010-2013) utilize IEpress to extract the installation files and Wix to package the .msi. Versions using this technology can be silently installed by running the install file with the either the /gm2 /ai or the /q:a switch, depending on the version. See the table above for the syntax needed.

A server script would need to execute this on the client computerO, with the install file in a shared/network location. Two exceptions are version 08.11.02.31 of WaterCAD, WaterGEMS and HAMMER, and version 08.11.01.51 of PondPack (see "older IEpress/Wix" section below for these).


When run, the program will attempt to install without any user interaction.


Older versions of IExpress/Wix Technology (2009 PondPack and WaterCAD/WaterGEMS/HAMMER)

When the IEpress and Wix technology was first used in our installers, we did not support passing of the silent mode switch (/q:a). This applies to version 08.11.02.31 of WaterCAD, WaterGEMS and HAMMER, and version 08.11.01.51 of PondPack.

For these versions, you must first extract the prerequisites and setup msi file and deploy them silently. A server script would need to execute this on the client computer, with the install file in a shared/network location.

1) Extract the contents of the installation executable to a folder, using a tool such as 7zip or WinRAR. You can also use the steps located here for extracting those files.

2) Silently deploy all the prerequisites with standard silent mode arguments. To check the order of installation, look in the Settings.ini file. For example to install the Microsoft .NET Framework prerequisite silently:

dotnetfx35setup.exe /q /norestart

To install Microsoft Visual C++ Redistributable x86:

vc9redist_x86.EXE /q:a /c:"msiexec /i vcredist.msi /qn"

3) Silently deploy the main application, contained within the Setup.msi file. Example:

MsiExec.exe /I Setup.msi /L* %TEMP%\SetupLog.txt /qn

Note: The prerequisite installer also does a test on the prerequisite to see if it is already installed, through a registry check. You can see the registry path in the Settings.ini file. For instance for Microsoft Visual C++ 2008 Redistributable x86 checks if the following registry path is present when the prerequisite is installed so there is no point in installing it:

32-bit OS: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{86CE85E6-DBAC-3FFD-B977-E4B79F83C909}

64-bit OS: SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{86CE85E6-DBAC-3FFD-B977-E4B79F83C909}

 

Versions using InstallShield (~2005-~2009)

Versions of the OpenFlows products that use InstallShield technology can be silently installed by running the install file with the /s /v/qn switch. A server script would need to execute this on the client computer, with the install file in a shared/network location.


When run, the program will attempt to install without any user interaction.

Versions Using Wise (~2004 and earlier)

Old versions of OpenFlows products that utilized Wise installer technology can be silently installed simply by running the install file with the switch /s. A server script would need to execute this on the client computer, with the install file in a shared/network location.


When run, the program will attempt to install without any user interaction.

Note: it is highly recommended to upgrade to a newer version, especially for Operating System compatibility reasons.

 

Licensing Considerations

OpenFlows products are licensed by Feature Level (for example number of pipes, with or without AutoCAD, etc), and so the user must select the feature level that the product will license against when it opens.

Newer, Subscription Entitlement Service licensing:

Starting with CONNECT Edition Update 2 (10.02.XX.XX and greater), the new Subscription Entitlement Service (formerly "CONNECT Licensing") is used for licensing. As of June 2019, there are no command line parameters for setting the feature level with these versions.

For older, SELECTserver licensing:

To silently configure the feature level, your server script can run command line arguments on the Licensetool.exe and Haestad.LicenseAdministrator.Console.exe both of which are found in the product's installation folder.

To set the server name, use this syntax: LicenseTool.exe /nowin configure -setting:SelectServer -value:SERVER_NAME

To set the activation key, use this syntax: LicenseTool.exe /nowin configure -setting:ActivationKey -value:ACT_KEY

To set a default license feature configuration, (typically done manually in the Municipal License Administrator (MLA), to choose your pipe, inlet or pond limit) use this syntax:

Haestad.LicenseAdministrator.Console.exe /configure <productid> <featurestring>

Where <productid> is the ID corresponding to the Bentley application and <featurestring> is the default feature string you want to set. A typical feature string looks something like this: acad=yes|agis=yes|mstn=yes|pipe=250. Of course, you will need to be licensed for the feature string you set, else the product will not activate (and may run in Disconnected Mode for a limited period of time).

Option 2

If the above does not work or you'd like an additional option to use the steps below will explain how to create a copy of the registry entry for your license file. After doing that you can write a script file the enters the information automatically into the registry from the license text file that you'll be creating. Note that you'll have to perform these steps on a computer that already has one of the Bentley Water Products already installed. 

1) Browse to "HKEY_LOCAL_MACHINE\SOFTWARE\BENTLEY\LICENSING\1.1" on a 32 bit computer OR "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\BENTLEY\LICENSING\1.1" on a 64 bit computer.

2) With the 1.1 folder highlighted right click and choose > Export. 

3) After you save the file you can write a script that reads the information from this file and populates the Select Server and Activation key in the registry at the locations listed above. 

Here is the list of Product IDs:                   Example Configuration:

WaterCAD: 1248                                        acad=no|mstn=yes|pipe=1000
WaterGEMS: 1249                                     acad=yes|agis=yes|mstn=yes|pipe=unlimited
HAMMER: 1225                                         acad=yes|agis=yes|mstn=yes|pipe=500
SewerGEMS: 1244                                    acad=yes|agis=yes|mstn=yes|pipe=250
CivilStorm: 1207                                        acad=yes|mstn=yes|link=250 
StormCAD: 1246                                        mstn=yes|inlt=5
SewerCAD: 1243                                       acad=yes|mstn=yes|pipe=10
PondPack: 1233                                        acad=yes|mstn=yes|pond=unlimited

To find other configurations open the municipal license administrator and right click on the row with the configuration you want to set and choose "Properties". The configuration can be copied from the window and used in the commands below.

If running this command from the client's computer, use the Run command with the full path to the executable file. The Haestad.LicenseAdministrator.Console.exe file will be located in the product's installation folder. The path depends on where you originally directed the program to install and whether the operating system is 32 ot 64-bit. For example, the Run window for StormCAD running on a 64-bit version of Windows 7 would be like this:

Use this format if executing using the Run command:

C:\Program Files (x86)\Bentley\StormCAD8\Haestad.LicenseAdministrator.Console.exe /configure 1246 "mstn=yes|inlt=25"

 

Use this format if executing from the DOS command window of a batch file:

C:\Program Files (x86)\Bentley\StormCAD8\

Haestad.LicenseAdministrator.Console.exe /configure 1246 "mstn=yes|inlt=25"

timeout /t 3

An example file of this script can be downloaded here.



See Also

How can I disable the ArcGIS, Microstation, and AutoCAD integration Option?

Extracting an .msi file from hydraulics and hydrology (OpenFlows) programs

Anonymous
Recommended
Related