Technical FAQs

Ask a Question

Error Encountered Creating Maintenance Login during Power Monitoring Expert Install

Issue
Power Monitoring Expert installer fails on step "Creating Maintenance Login".




Product Line
Power Monitoring Expert 7.2.x
Power Monitoring Expert 8.0

Environment
Power Monitoring Expert 7.2.x Installer
Power Monitoring Expert 8.0 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. 



Resolution 1
1. Change the UAC level to never notify during install. Note: It can be changed back after 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).




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 by 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 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 database selected above has database role membership set for "db_backupoperator", "db_ddladmin", "Maintenance" and "Public".
           
 
  • Under "Status" page, select "Grant" for permission to connect to 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 WindowsKey + X then click System in the popup menu
  2. Tap or click Advanced system settings. Administrator permission required You might be asked for an admin password or to confirm your choice.
  3. On the Advanced tab, under Performance, tap or click Settings.
  4. Tap or click the Advanced tab, and then, under Virtual memory, tap or click Change.
  5. Clear the Automatically manage paging file size for all drives check box.
  6. Under Drive [Volume Label], tap or click the drive that contains the paging file you want to change.
  7. Tap or click Custom size, enter a new size in megabytes in the Initial size (MB) or Maximum size (MB) box, tap or click Set, and then tap or click OK.
  8. Modify pagefile size to 4096 MB for min.


>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 that the password complexity does not meet standards of the organization.

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  (withquotations) "CreateMaintenanceUser" to locate the lines we want to comment.
    • 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  (withquotations) "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 SaveAs and change the name to EverythingElse.broker.xml.  Ensure you save in the original location.  \Setup\BrokerFragments\
 
Was this helpful?
What can we do to improve the information ?