{}

Our Brands

Impact-Company-Logo-English Black-01-177x54

Welcome to the Schneider Electric Website

Welcome to our website.
How can we help you today?
Error Encountered Creating Maintenance Login during Power Monitoring Expert Install
Issue
Power Monitoring Expert installer fails on step "Creating Maintenance Login".

Creating Maintenance Login Error
XML Error

Product Line
Power Monitoring Expert 7.2.x
Power Monitoring Expert 8.0
Power Monitoring Expert 9.0
Power Monitoring Expert 2020
Power Monitoring Expert 2021
Power Monitoring Expert 2022
Power Monitoring Expert 2023

Environment
Power Monitoring Expert Installer



*Warning: Take backups of any files prior to modifying them. Ensure the backups are in a location that will not be overwritten (i.e. the Desktop).

Cause 1
This may be caused by "User Account Control" (UAC) level settings and/or not running the installer as a local administrator.
User Account Control Settings


Resolution 1
1. Change the UAC level to never notify during installation. Note: It can be changed back after the installation is finished.
  1. To change the level, go to start > control panel > user accounts > change user account control settings.
  2. Set it to the lowest level and apply the changes. You will be required to restart the server to let the changes take effect.

2. Once the server has restarted, log in using a local administrator account and run the installer as an administrator.
  1. To run the installer as an administrator, right-click on the setup and click run as administrator. (see image).
User Account Control



Cause 2
SQL policies may be blocking the creation of the IONMaintenance user by the installer.

Resolution 2
If the SQL policies are blocking the creation of SQL user IONMaintenance, the user can be created manually by logging into SQL server management studio and following the below steps:
  1. Open SQL Server Management Studio, and connect to the appropriate Power Monitoring Expert SQL instance.
  2. Open security-->right click on "Logins" and select "New Login".
  3. Under the general page, create a login where the login name is \IONMaintenance. Make sure Windows authentication is selected
  4. Under "Server Roles", select "Public".
  5. Under "User Mapping" make sure the user is mapped to the databases; ION_Data, ION_Network, ION_Systemlog, and ApplicationModules(If available) with User "IONMaintenance" (do not map \IONMaintenance) and Default Schema set to "dbo".
  6. Under the "User Mapping" section make sure that each of the databases selected above has database role membership set for "db_backupoperator", "db_ddladmin", "Maintenance" and "Public".
SSMS Logins
  • Under the "Status" page, select "Grant" for permission to connect to the database engine and "Enabled" under Login.
  • Click ok on the login creation page and retry the install.

Cause 3
If installing on Windows Server 2012, you may need to increase the minimum and maximum size of your paging file.
Windows sets the initial minimum size of the paging file equal to the amount of random access memory (RAM) installed on your computer, and the maximum size equal to three times the amount of RAM installed on your computer.

Resolution 3
To change the size of virtual memory (pagefile.sys) on Windows Server 2012:
  1. On the Keyboard Press the Windows Key + X then click System in the popup menu
  2. Click Advanced system settings. Administrator permission is required. You might be asked for an admin password or to confirm your choice.
  3. On the Advanced tab, under Performance, click Settings.
  4. Click the Advanced tab, and then, under Virtual memory, click Change.
  5. Clear the Automatically manage paging file size for all drives check box.
  6. Under Drive [Volume Label], click the drive that contains the paging file you want to change.
  7. Click Custom size, enter a new size in megabytes in the Initial size (MB) or Maximum size (MB) box, click Set, and then OK.
  8. Modify pagefile size to 4096 MB for min.
Virtual Memory
  • Reboot pc for the changes to take effect
  • Re-run the installation

Cause 4
The IONMaintenance account already exists from a previous installation of SPM or PME.  If the user is on a domain they may have password restriction policies that prevent the local account from changing passwords or the password complexity does not meet standards of the organization. Note that PME 2020+ versions do not have CreateMaintenanceUser in broker files.

Resolution 4
Comment out the CreateMaintenanceUser process from the installation media.
If you have not copied the installation media to a location on your hard drive please do so now before proceeding further.  Alternatively, you may download the attached EverythingElse.broker.xml and replace it with yours.
  1. Locate the EverythingElse.broker.xml file located in the PME installation directory.  \Setup\BrokerFragments\
  2. Rename it to EverythingElse.broker.xml.OLD
  3. OPEN the file with Notepad or an  XML editing document
NOTE: There are  2 sections for creating the IONMaintenance Account:
  1. You will want to search for  (with quotations) "CreateMaintenanceUser" to locate the lines we want to comment on.
    • Example:
      • "<!--
        <Request Name="CreateMaintenanceUser" EstTime="500" TimeOut="800000" UIName="#CreateMaintainenceProductLogin" ProgressBar="Progress" ActionOnFail="Stop">
        <ConditionTrue>
        <globalSetupType>Primary|DbServer</globalSetupType>
        </ConditionTrue>
        <ConditionFalse>
        <globalSetupType>WebApp</globalSetupType>
        </ConditionFalse>
        <Method>
        <CreateProductLogin Library="Security.Configuration" Class="Security.Configuration.ProductLoginHelper" UIMessageOnFail="#CreateMaintenanceProductLoginFailed">
        <connectionString>@globalConnectionString</connectionString>
        <name>@Custom_DBMaintenanceUsername</name>
        <phrase>@globalBrandSQLPwd</phrase>
        <databaseAuthenticationType>Windows</databaseAuthenticationType>
        <databases>@globalIONDBName/@,ION_Network,ION_SystemLog</databases>
        <roles>Maintenance,db_backupoperator,db_ddladmin</roles>
        </CreateProductLogin>
        <RunExecutable Library="WinUtilities" Class="Installer.InstallTools.WinUtilities" UIMessageOnFail="#CouldnotgrantPermissionstotepo">
        <cmd>cmd.exe</cmd>
        <args>/c echo y| CACLS.exe "@globalDatabaseFolder/@" /T /E /C /G "@Custom_DBMaintenanceUsername/@":W</args>
        </RunExecutable>
        <RunExecutable Library="WinUtilities" Class="Installer.InstallTools.WinUtilities" UIMessageOnFail="#CouldnotgrantPermissionstotepo">
        <cmd>cmd.exe</cmd>
        <args>/c echo y| CACLS.exe "@globalDatabaseFolder/@" /T /E /C /G "@Custom_DBMaintenanceUsername/@":R</args>
        </RunExecutable>
        <AddLSAPrivileges Library="WinUtilities" Class="Installer.InstallTools.WinUtilities" UIMessageOnFail="#Couldnotsetbatchrights">
        <userName>@Custom_DBMaintenanceUsername</userName>
        <privilege>SeBatchLogonRight</privilege>
        </AddLSAPrivileges>
        <AddLSAPrivileges Library="WinUtilities" Class="Installer.InstallTools.WinUtilities" UIMessageOnFail="#Couldnotsetbatchrights">
        <userName>@Custom_DBMaintenanceUsername</userName>
        <privilege>SeDenyInteractiveLogonRight</privilege>
        </AddLSAPrivileges>
        </Method>
        </Request>
        -->"
  2. Search for  (with quotations) "CreateApplicationsMaintenanceUser" to locate the lines we want to comment.
    • EXAMPLE:
      • "<!--
        <Request Name="CreateApplicationsMaintenanceUser" EstTime="500" TimeOut="800000" UIName="#CreateApplicationsMaintenanceUser" ProgressBar="Animation" ActionOnFail="Stop">
        <ConditionTrue>
        <globalSetupType>Primary|DbServer</globalSetupType>
        </ConditionTrue>
        <ConditionFalse>
        <globalSetupType>WebApp</globalSetupType>
        </ConditionFalse>
        <Method>
        <CreateProductLogin Library="Security.Configuration" Class="Security.Configuration.ProductLoginHelper" UIMessageOnFail="#CreateMaintenanceProductLoginFailed">
        <connectionString>@globalConnectionString</connectionString>
        <name>@Custom_DBMaintenanceUsername</name>
        <phrase>@globalBrandSQLPwd</phrase>
        <databaseAuthenticationType>Windows</databaseAuthenticationType>
        <databases>ApplicationModules</databases>
        <roles>Maintenance,db_backupoperator,db_ddladmin</roles>
        </CreateProductLogin>
        </Method>
        </Request>
        -->"
  3. Click Save As and change the name to EverythingElse.broker.xml.  Ensure you save in the original location.  \Setup\BrokerFragments\

Schneider Electric UK

Attachment(s)
EverythingElse.broker.xml [512.3 KB]
Explore more
Range:
Articles that might be helpful Users group

Discuss this topic with experts

Visit our Community for first-hand insights from experts and peers on this topic and more.
Explore more
Range: