Endpoint Management - Maintaining Components

Automating Application Maintnenance

Maintaining custom applications can be challenging - you need to detect where the software is installed, which version is present, and then run the appropriate scripts to update the applications. While most RMM platforms can accomplish this, many can't easily identify these custom applications, and tying the detection, version identification, and update automation together isn't a trivial task. That's where the RMM Suite can help.

Detecting the Application

The RMM Suite provides a highly customizable Daily Audit feature that can identify applications either by registration with Add/Remove programs or as an installed service. The first step is to determine the best detection method. 

Application Name/Version Detection

Start by examining the SysInfo.INI file from the agent where the software is installed. This is the Daily Audit cache file and is located in the PROGRAMDATA\MSPB folder. Many RMM platforms will collect this file and store it in the agent's data folder automatically when the Daily Audit completes. Open the file in a text editor such as Notepad and locate the SWINFO section. This section lists all of the application / version / vendor data reported by Windows. Determine if the application is listed - if it is -  copy the application ID into the AUDIT.INI configuration in the APP VERSION ROLES section and define a unique TAG value. Tags should be 3-4 alpha-numeric values to identify an application and version.  Note that multiple detections are possible - a check for "Accounting - 12.6" can map to "AA126" while a generic "Accounting - " can map to "ACCT". The generic tag can be used to detect ANY version while the specific can identify a particular version. Once this entry is added to the Audit config data, detections will begin during the next daily operational cycle.

Service Detection

A Windows service provides a simple and direct detection method. Start by identifying the name of the service by running "Net Start" in a command prompt on the endpoint where the application is running. Identify the correct service name and add it to the SERVICE ROLES section in the AUDIT.INI configuration data, assigning an appropriate TAG value. This detection will begin during the next daily operational cycle. 

Leveraging TAGs in Daily Maintenance

Each task in Daily Maintenance can be tied to one or more System Role Tags. Actions can be taken when a tag is present or missing, and can be combined to require multiple related tags. Tasks can be used to directly upgrade software by looking for an outdated version TAG or can run multiple tasks to uninstall the existing version and then install the new version. The tasks can be local scripts or RMM Scripts run by API, or any combination. Daily Maintenance can directly unzip and execute packages deployed from an RMM script, or download a package hosted by MSP Builder. (MSP Builder packages utilize a security token to assure authenticity. We host your custom packages at no additional cost and add the security token when created or updated.) 

Note that Daily Maintenance tasks are executed in the sequence that they are defined, so be sure to order them so an uninstall is run before the update process. 


The RMM Suite automation provides a rapid and low-impact mechanism for application and endpoint maintenance with several significant advantages:

  • Tasks run every day on every endpoint, providing maximum delivery exposure.
  • Daily Audit runs immediately prior to Daily Maintenance, identifying software and services.
  • Daily Maintenance can leverage the TAGs set by the audit to update components that are vulnerable or outdated.
  • Daily Audit runs again, after Daily Maintenance completes, reporting on the now-current application and component status. This also updates the tags, disabling further update operations.
  • No additional RMM automation is needed - no Filters/Views, automation policies, or scheduling, significantly reducing the load and complexity on the RMM platform.



Comments are closed on this post.