Setting the Default Feature Configuration as an Administrator, for other Windows Accounts

  Product(s): WaterCAD, WaterGEMS, HAMMER, SewerCAD, SewerGEMS, StormCAD, CivilStorm, PondPack
  Version(s): 08.11.XX.XX, 10.00.00.4X through 10.01.XX.XX
  Environment: N\A
  Area: Licensing

Problem

Note: this article applies to SELECTserver licensing, used in OpenFlows products below 10.02.XX.XX. Versions that use the new Subscription Entitlement Services (SES) licensing, 10.02.XX.XX and greater, do not currently have a way to set the feature level by command line (and the selected feature level is not associated with the Windows account but also the user who signs in to the CONNECTION Client), but improvements to feature level selection have reduced the need for this. See: Setting the License Feature Level in the Feature Level Selector

I've set the default feature configuration in the Municipal License Administrator when logged in as an admin (such as during installation for end users), but the end user Windows account does not seem to always pick up on that setting. The end users are prompted again to select the default.

If I set the default feature configuration will it be set for all Windows users on that computer?

Solution

Not necessarily. Depending on the permissions that the Municipal License Administrator (MLA) is opened with and the version of the program, the default feature configuration is either stored in the area of the registry that all users can access, or the area that only the user who set the default can access. See below table for the different variations and the end result. Detailed explanation follows.

Legend

"Version" - "CE" = CONNECT Edition.
"User who set default"
 - "End user #1" means the actual user who uses the product. Admin user means a Admin windows account, separate from the user's Windows account. "End user #2" means a second end user Windows user account who logs in to use the product on the same computer.
"Method of setting default" - was the default set (using either the MLA or the command line console) during installation or after installation. If the latter, was the 64-bit MLA shortcut run, or the 32-bit?
"Default stored in" - indicates the Registry location where the default is stored. "HKCU" = HKEY_CURRENT_USER, "HKLM" = HKEY_LOCAL_MACHINE. HKCU is read by both the 32-bit and 64-bit version of the product, whereas HKLM has separate sections for 32-bit and 64-bit.
"Results for end user #1, 32-bit product" - indicates whether the default feature level is properly read and used by the 32-bit version of the product when opened by the end user Windows account. Note that the 32-bit version is located in the root of the installation folder, but on a 64-bit operating system, a 64-bit instance of the product will also be included.
"Results for end user #1, 64-bit product" - indicates whether the default feature level is properly read and used by the 64-bit version of the product when opened by the end user Windows account. On a 64-bit Operating System, the desktop and Start menu shortcuts will open the 64-bit version.
"Results for end user #2, 32-bit product" - indicates whether the default feature level is properly read and used by the 32-bit version of the product when opened by a second end user Windows account on the same computer. Note that the 32-bit version is located in the root of the installation folder, but on a 64-bit operating system, a 64-bit instance of the product will also be included.
"Results for end user #2, 64-bit product" - indicates whether the default feature level is properly read and used by the 64-bit version of the product when opened by a second end user Windows account on the same computer. On a 64-bit Operating System, the desktop and Start menu shortcuts will open the 64-bit version.


WaterCAD, WaterGEMS, HAMMER, PondPack

SewerGEMS, SewerCAD, StormCAD and CivilStorm


MLA Comparison.xlsx

Detailed explanation of the logic


V8i (WaterCAD, WaterGEMS, HAMMER) & CONNECT Edition (SewerGEMS, SewerCAD, StormCAD, CivilStorm)

- If the Municipal License Administrator (MLA) is opened with limited rights, the selected default feature configurations are stored in the HKCU (current user) section of the Windows registry. This area can be read from both the 32-bit and 64-bit versions of the product, on the same user on which account that the default was set.

- If the MLA is opened with admin rights, the selected defaults are stored in the HKLM (local computer) part of the registry, and HKCU. If the default is set during installation, it will be using the 32-bit version of the MLA and thus the default will be stored in the 32-bit area of HKLM (and would only be read by the 32-bit version of the product).

If a different user then logs in and uses the product:

- It first attempts to read the default from the HKCU (current user) section of the registry. This part of the registry is kept separate for each Windows account. If the other user that first set the default had limited rights, this means that the default will not be found. Also, if this second user account had previously set the default, it will be stored in HKCU and the product will pick up on that.

- If nothing is found in HKCU, it attempts to read from the HKLM (local machine) section, corresponding to the "bitness" of the application (meaning, if running the 32-bit version of the product, it will look at the 32-bit area of HKLM). If that first user set the default while running the MLA as admin, then it will find the default that the first user set and use it, assuming the bitness matches (meaning, if the default was set by running the 64-bit MLA and the second user opened the 64-bit version of the product). Again though, if the other/second user had previously set the default, it will have been stored in the HKCU section of the registry and the program would pick up on that before checking HKLM.

So, if you had set the default and then another user logged in later and found that it had reverted to a blank feature string (default not set), and you're using the V8i version, this probably indicates one of the red "default NOT read" entries in the above tables.

CONNECT Edition 10.00.00.49 (WaterCAD, WaterGEMS, HAMMER), CONNECT Edition SS1+ (SewerGEMS, SewerCAD, StormCAD, CivilStorm - not yet available).

A change has been made starting with this release, and the default will always be stored in the individual Windows user account (HKCU). This means that the end user will always need to set the default.

However, the logic to read the default is still the same - it will attempt to read from HKCU first, then if none can be found, it will read from HKLM. So, if you insert the default into the HKLM part of the registry as part of an installation script, then the end users that log in should pick up the default feature configuration from that. Here is the registry location:

[If using the 64-bit version of the MLA or MLA console, found in the x64 subfolder]

HKEY_LOCAL_MACHINE\SOFTWARE\Bentley\Municipal Products Group\Licensing\1.1\Applications\<productID>

Here are the product IDs associated with each product:

WaterCAD: 1248
WaterGEMS: 1249
HAMMER: 1225
SewerGEMS: 1244
CivilStorm: 1207
StormCAD: 1246
SewerCAD: 1243
PondPack: 1233

[If using the 32-bit version of the MLA or MLA console, found in the root of the install folder]

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Bentley\Municipal Products Group\Licensing\1.1\Applications\<productID>

Workaround / Best Practice

With the above in mind, if you're an administrator who needs to set up licensing for end users, it may be best to deploy the default configuration in the user-specific (HKCU) section of the registry as part of an install script. This will need to be run on the end user account so as to deploy the default to their HKCU section. It may be possible to incorporate this as part of a login script.

Note that the console-based MLA can be used to set the feature level by command line. This is the Haestad.LicenseAdministrator.Console.exe in the installation folder. More information and syntax can be found in the MLA > Help > Contents > Using the Console Municipal License Administrator.

For example, to set WaterGEMS (product ID 1249) to a 5000 pipe limit, the command should look like this:

C:\Program Files (x86)\Bentley\WaterGEMS\Haestad.LicenseAdministrator.Console.exe /quiet /configure 1249 mstn=yes|pipe=5000

See the table above for the list of Product IDs.

See Also

Setting the correct feature leve in the Municipal License Administrator

Recommended
Related