Upgrade Primary Server

This applies to upgrading from ENPS 9.0.0.230 or later. See Upgrade from ENPS versions earlier than 9.0.0.230 to upgrade from earlier versions.

Preparation

Before you start the upgrade process, make sure you do the following on the Primary Server:

  1. Check for Windows updates on the Primary Server, installing and then rebooting the server at a convenient time.

    Do not reboot both ENPS servers at the same time.

  2. Check the F:\Common folder for unexpected subfolders.

    AUDIT, BUDDY, C_SUPPORT, DBSCRIPTS, ELECTION, G_SUPPORT, and G_SUPPORTBACKUP are expected. Any other folders are should be deleted or moved to the C:\ drive.

  3. Create a backups folder on your desktop

  4. Copy the following files and folders to the backups folder:

    C:\inetpub\wwwroot
    E:\Search Server\data\enps\conf (if applicable - legacy from v8.2.X)
    E:\Search Server\server\solr\enps\conf (if applicable)
    E:\Search Server\SOLRJavaService (if applicable)
    F:\Common\G_Support
    F:\ENPS
    F:\NOM\nom.ini
    F:\NOM\AC
    F:\NWP
    F:\SearchServer
    F:\ServerName\S_SUPPORT
    F:\ServerName\S_PRIV

    The backups folder should now look like this:

  5. Switch users to the Buddy NOM as follows:

    Remind users that they will see failover messages throughout the upgrade process. Users can continue working without interruption.

    1. Open the NOM Buddy Maintenance tool on the Primary server.

    2. Ensure there is no queue in the top window.

    3. Open the News Object Manager (NOM) on the Primary server.

    4. Open Window > NOM Configuration/Status and ensure the Block Primary Access box is ticked.

  6. Confirm that users can work on the Buddy Server.

  7. Close all ENPS components on the Primary Server, starting with NOM Watcher.

  8. Stop the SOLRJavaServer service:

    1. Open the Server Manager tool.

    2. Browse to Local Server > Tools > Services.

    3. Stop the SOLRJavaServer service.

Corretto for Solr

ENPS requires Amazon Corretto OpenJDK Coretto version 17, which will be automatically installed by the Platform Installer.

All versions of Corretto other than version 17 must be removed now. Do not install any higher or lower versions of Corretto.

To uninstall versions of Corretto other than version 17:

  1. Open Start Menu > Apps & Features.

  2. Search the apps list for Corretto.

  3. Click on each Corretto entry to check the version.

  4. Uninstall all Corretto installations that are not version 17.

    If you can't uninstall Corretto because it is still in use:

    1. Open Task Manager.

    2. Open the Services tab.

    3. Right-click SolrJavaService in the list and select Stop from the popup menu.

    4. Try uninstalling Corretto again.

    If prompted to restart your system:

    1. Remove the Watch.exe shortcut from the startup folders:

      1. Click Start, type Run and enter the following in the Run dialog to open the first startup folder:

        shell:startup
      2. Remove the Watch.exe shortcut from the folder if it exists.

      3. Click Start, type Run and enter the following in the Run dialog to open the second startup folder:

        shell:common startup
      4. Remove the Watch.exe shortcut from the folder if it exists.

    2. Click Yes to restart.

For details about using Solr in ENPS, see Solr Search.

Installation

Once all Preparation is complete, continue with installation:

  1. Right-click on the ENPS Platform Installer .zip file downloaded in Download Installer and select Properties.

  2. Ensure that the General tab > Unblock box is ticked if it exists, then click OK.

  3. Extract the contents of the Platform Installer zip file to the root of the ENPS Work Drive, which is usually the F: drive:

    Do not extract to a different location, such as the Downloads folder. If extracted to another location such as the Downloads folder, the Platform Installer may crash or get stuck when run.

    This creates the following files/folders at the root of the F drive:

  4. Run the PlatformInstaller.exe file from that location to start the Platform Installer.

    If the Platform Installer crashes or gets stuck, do not restart it. Contact Us immediately.

    If the following popup appears then click Yes.

    If you are running Windows Server 2019 or older you may see an error that the operating system does not support .NET 4.8.1. If so, click OK and manually download and install .NET 4.8 (not 4.8.1) from here: https://dotnet.microsoft.com/en-us/download/dotnet-framework/net48

    Then return to this step to re-run the Platform Installer.

  5. Select ENPS on the Server Type screen.

  6. On the Product Selection screen select the following for a typical ENPS installation:

    • ENPS Server Components - Upgrade

    • ENPS NOM Web Services - Upgrade

    • ENPS Elections API Ingest Service - Upgrade or Install

    Your screen should look like this:

    The installer will flag if the server does not meet certain prerequisites, such as the required version of Corretto installed.

    As of ENPS 9.6.1, this now ensures that all server Roles and Features prerequisites are met.

    If you see this message, click Install Requirements. If you are instructed to reboot before continuing then exit the Platform Installer, take Watch out of startup, reboot the server, then re-run the Platform Installer.

    Click Next if all prerequisites are met:

  7. On the End User License Agreement screen, read the agreement and accept the terms.

  8. Click Next.

  9. Configure admin login using either:

    Alternatively, do not use auto login on this server.

    The actual screens shown in this step depend on what you already have configured. The Do not auto login to this server option is not available if the server is already configured to use an admin login method.

  10. Click Next.

  11. On the Configuration > Search Configuration screen, you will see one of the following sets of options depending on which version of ENPS you are upgrading from:

    • Ensure that Override and configure SOLR Specific settings is ticked if you see this screen:

    • Enter a username and password for Solr and ensure that Override and configure SOLR specific settings is ticked if you see this screen:

      Do not forget the User Name and Password as they are required to connect with Solr.

  12. On the Configuration > IIS Settings screen, Webservice should be preselected with the correct Application Pool (NOMWebServicesAppPool).

  13. Click Next Step.

  14. Click Next.

    Click Run in any prompts that appear.

  15. Click Continue to start installation.

  16. Wait for installation to complete.

  17. Click Install Details.

  18. Click Finish.

    If prompted to restart the server, select No.

  19. Click OK to close the installer.

    Do not start NOM Watcher.

Proceed to the Post-installation instructions.

Post-installation

Before Server Restart

After Installation is complete and before restarting the server:

  1. Open F:\NOM\NOM.ini in Notepad.

  2. Ensure that the following setting exists in the NOM section of the file. If not, add it and save the file:

    ContinueIfSOLRDown=1
  3. Open the ENPS\v7\ENPSClient.exe.config file.

    1. Find the existing <runtime> section.

    2. Immediately below the <runtime> line, add the following line:

      <AppContextSwitchOverrides value="Switch.System.Windows.DisableXpsPackageBoundaryRestriction=true" />

      The beginning of the section should now look like this:

      <runtime>
         <AppContextSwitchOverrides value="Switch.System.Windows.DisableXpsPackageBoundaryRestriction=true" />
         <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

      Adding this line works around a printing problem on machines that installed the 11 August 2026 Microsoft .NET Framework cumulative update.

      Do not remove or change the existing assemblyBinding content or other configuration settings.

  4. Open the ENPS\v7\ENPSClient.exe.config file that is in the backups folder created during Primary Server Preparation.

  5. Compare this backed up ENPS\v7\ENPSClient.exe.config file with the ENPS\v7\ENPSClient.exe.config file opened in step 3.

    Specifically, check that the Primary and Secondary webservice settings are correct.

Continue with these steps:

  1. If this server ingests FTP wires, confirm if the FTP wire log files (.DC) are in the NWP folder.

    If not, restore them from the backup of the NWP folder created during Preparation.

  2. Edit the NomWebServiceAppPool application pool:

    1. Open Internet Information Services (IIS) Manager.

    2. In the Connections pane, expand the server name and select Application Pools.

    3. In the Application Pools pane on the right, right-click NomWebServiceAppPool and select Advanced Settings.

    4. Set the Idle Time-out (minutes) option to 0 in the Advanced Settings popup.

    5. Click OK.

    6. Right-click NomWebServiceAppPool again and ensure that it is started.

  3. Delete the contents of the F:\NOM\MOS\OUT folder if it exists.

  4. Remove the Watch.exe shortcut from the startup folders:

    1. Click Start, type Run and enter the following in the Run dialog to open the first startup folder:

      shell:startup
    2. Remove the Watch.exe shortcut from the folder if it exists.

    3. Click Start, type Run and enter the following in the Run dialog to open the second startup folder:

      shell:common startup
    4. Remove the Watch.exe shortcut from the folder if it exists.

Now restart the server.

After Server Restart

After restarting the server:

  1. Launch the News Object Manager (NOM) in block mode on the primary server by entering this into a command line:

    F:\NOM\nom.exe /block

    There is a space after .exe and before /block.

    If your ENPS data drive is something other than F:\, use that drive letter instead.

  2. Wait for Solr to start if prompted.

    After a restart it can take several minutes for Solr to become fully functional. The NOM may indicate as such.

    You can proceed once this screen has disappeared and the NOM has fully launched.

  3. Open Window > NOM Configuration/Status and ensure the Block Primary Access box is ticked.

  4. Regenerate the schema by entering the following at a command prompt

    1. F:\SearchServer\SOLRSchemaManager.exe /regenerate /reset:true
  5. Click Start, type Run and enter the following in the Run dialog to open the user startup folder:

    shell:startup

  6. Copy the Watch shortcut from the desktop to the startup folder (recommended on Primary server only).

    If your site chooses to create a shortcut to launch the NOM in block mode on the Primary server then it's fine to keep that rule in place.

  7. Open NOM Watcher, which starts the other processes on the Primary Server.

    Keep Block Primary Access checked for now.

  8. Confirm that all wires are ingesting as expected.

    If any FTP wires are not ingesting, deactivate the wire, re-enter the password for the FTP server, and activate the wire again.

  9. If your users do not have local admin rights on their workstations, you may enter credentials they can use for the upgrade in the application, F:\NOM\Setadmin.exe. These credentials should have local admin rights on all workstations.

    This will ensure that the ENPS Client can be upgraded on these workstations.

  10. Ensure there is not a queue in the Buddy Maintenance Process window on the Buddy Server.

  11. Unblock the Primary Server once the Buddy queue is empty.

  12. Try launching a client to check if it upgrades.

    If so, have one regular user close and relaunch ENPS.

    If the upgrade fails, try a different account in setadmin.exe. It’s fine if it’s an account with an expiring password. You only need setadmin credentials to be current on a day you’re upgrading ENPS.

  13. Launch a client on a machine without local admin rights to confirm that the client upgrades.

  14. Upgrade all control room and set machines at this time (recommended).

Documentation Settings

Ensure that pressing F1 in the ENPS client and server applications opens the documentation for this version of ENPS.

  1. Open System Maintenance.

  2. Open the Global Configuration Options table.

  3. Ensure the following options are set for ENPS 9.6:

    Property

    Required Value

    OnlineHelpURL

    http://docs.workflow.ap.org/docs/enps/9.6/user/

    OperationsGuideURL

    http://docs.workflow.ap.org/docs/enps/9.6/operations/

  4. Click Save.

Solr Recrawl

Perform a recrawl only if you are upgrading from 9.5.0 or earlier. Do not recrawl your server if you are upgrading from 9.5.1 or later.

To do so, open a command prompt and enter:

F:\SearchServer\SearchCrawler.exe

Recrawling data does not impact users. It simply means that searching in ENPS will gradually become available on the server as data is reindexed.

NOM Maint Processes

There are three processes that may need fine-tuning to run certain tasks when it's the least busiest time for your users:

  • Delete Expired Items time in NOM Maintenance.

  • Folder Info time in NOM Maintenance.

  • NOM Web Services Application Pool recycle time in Internet Information Services (IIS) Manager.

By default, ENPS sets these to 2:00am local time. However, this time may not be the least busy time for your users and may cause disruptions. Think about your show schedule and when is least busy in your newsroom. You must ensure that the three processes are not running on your Primary Server at the exact same time they are running on your Buddy Server:

Field

Primary Server

Buddy Server

NOM Maintenance > Delete expired items each day at

non-busy time

some time later

NOM Maintenance > Scan folders each day at

non-busy time

some time later

IIS > Recycling Settings > Specific time(s)

non-busy time

some time later

In the example below we'll use the following times, with no overlap between the Primary Server times and the Buddy Server times:

Field

Primary Server

Buddy Server

NOM Maintenance > Delete expired items each day at

00:30:00

03:00:00

NOM Maintenance > Scan folders each day at

02:00:00

04:30:00

IIS > Recycling Settings > Specific time(s)

12:05 AM

2:50 AM

If you adjust the NOM Maintenance times you may also need to adjust the create times of any rundowns that are autocreated.

Rundowns should not be set to autocreate within the same hour as the Delete expired items each day at field on the Primary Server. For example, if Delete expired items each day at is set to 00:30:00 (12:30am) on the Primary Server, then no rundowns should be set to autocreate from 12:30am to 1:30am.

Step 1 - Set Times on the Primary Server

  1. Open NOM Maintenance on the Primary Server.

  2. Open Window > Delete Expired Items.

  3. Set the value of the Delete expired items each day at field.

    In our example, we set it to 00:30:00 (which is 12:30am).

    Delete expired items each day at must be a 24-hour clock value in the range 00:00:00 to 23:59:59.

  4. Open Window > Folder Info.

  5. Set the Scan folders each day at field.

    In our example, we set it to 02:00:00 (which is 2:00am).

  6. Open Internet Information Services (IIS) Manager on the Primary Server.

  7. Expand the server name in the Connections pane and click Application Pools.

  8. Right-click NOMWebServiceAppPool and select Advanced settings from the popup menu.

  9. Set the value of the Specific time(s) field.

    In our example, we set it to 12:05 AM.

    If your server is on a 24 hour locale then this number will be automatically converted to a hh:mm format. In this example, 12:05 AM will be converted to 00:05.

Step 2 - Set Times on the Buddy Server

Now set the same fields on the Buddy Server, but later than those set on the Primary Server so there's no overlap.

Field

Primary Server

Buddy Server

NOM Maintenance > Delete expired items each day at

00:30:00

later

NOM Maintenance > Scan folders each day at

02:00:00

later

IIS > Recycling Settings > Specific time(s)

12:05 AM

later

  1. Open NOM Maintenance on the Buddy Server.

  2. Open Window > Delete Expired Items.

  3. Set the Delete expired items each day at field to a time that's different to what is set on the Primary Server.

    In our example, we set it 03:00:00.

    Delete expired items each day at must be a 24-hour clock value in the range 00:00:00 to 23:59:59.

  4. Open Window > Folder Info.

  5. Set the Scan folders each day at field to a time that's different to what is set on the Primary Server.

    In our example, we set it to 04:30:00.

  6. Open Internet Information Services (IIS) Manager on the Buddy Server.

  7. Expand the server name in the Connections pane and click Application Pools.

  8. Right-click NOMWebServiceAppPool and select Advanced settings from the popup menu.

  9. Set the Specific time(s) field to a time that's different to what is set on the Primary Server.

    In our example, we set it to 2:50 AM.

    If your server is on a 24 hour locale then this number will be automatically converted to a hh:mm format. In this example, 2:50 AM will be converted to 02:50.

The fields are now set to the example times:

Field

Primary Server

Buddy Server

NOM Maintenance > Delete expired items each day at

00:30:00

03:00:00

NOM Maintenance > Scan folders each day at

02:00:00

04:30:00

IIS > Recycling Settings > Specific time(s)

12:05 AM

2:50 AM

Even though the Buddy Server times 3:00am and 4:30am are likely slightly busier time in the newsroom, this will not be an issue. The important factor is ensuring that the Buddy Server times are different from your Primary Server times, with no overlap.

If you wanted to further space out the times that the three processes run on the Primary Server compared to the Buddy Server, you could have them run in the afternoon on the Buddy Server. For example, you could set Delete expired items each day at to 13:30:00 (which is 1:30pm), and Scan folders each day at to 15:00:00 (which is 3:00pm):

Field

Primary Server

Buddy Server

NOM Maintenance > Delete expired items each day at

00:30:00

13:30:00

NOM Maintenance > Scan folders each day at

02:00:00

15:00:00

IIS > Recycling Settings > Specific time(s)

12:05 AM

2:50 AM

Next Steps

You have now upgraded the Primary Server!

Proceed to Upgrade Buddy Server if not already done. Otherwise proceed to Upgrade Mobile Server if applicable.