Flexera Software Application Recognition Library (ARL) update process
This article outlines the processes involved in updating the FlexNet Manager Suite (FNMS) Application Recognition Library (ARL). Included in this article is information about the Flexera Software factory process, the automatic update process, the manual update process, and the ARL update behavior.
Generally an updated ARL will be automatically downloaded and installed by operational FNMS systems everyday at 1am.
Flexera Software factory process
Flexera Software continuously updates and improves rules and information in the ARL. This process includes the addition of new applications and associated evidence, and the extension and revision of existing titles. Revisions may include the standardization of data formats, such as application publishers, inclusions of details such as categories and classifications for application titles, and additional evidence. New evidence may include installer evidence for recognition and file evidence to allow usage data to be collected on a greater range of applications.
The ARL is published as an SQL script hosted on the ManageSoft website (www.managesoft.com). This script is executed both to install the ARL on a new installation of FNMS, and to update an existing installation with new data. There are two ways to download and run this script:
- The Recognition data import scheduled task (configured in the Microsoft Task Scheduler) will collect and run the script on your schedule
- You can run the command-line tool, MgsImportRecognition.exe (typically installed to C:\Program Files (x86)\Flexera Software\FlexNet Manager Platform\DotNet\bin), which will perform the same task as the automatic procedure.
Automatic update process
The Recognition data import task, by default, will check for an update at 1am each day. If a new version of the ARL is found, the database update script will automatically be downloaded and executed, updating your database.
To confirm results from the most recent ARL update attempt, you may check Recognition.log. This log file can be found, in a default installation, in C:\ProgramData\Flexera Software\Compliance\Logging\Content (see below for more details about configuring the log file location). The first line of this file will show you the version of the ARL that the script attempted to install, and the last line will tell you if the latest download was successful. If the last line reads "Completed executing SQL file" then the latest ARL download and installation was completed successfully.
If an error has occurred, the end of the log file will contain a message similar to the following:
Msg 50000, Level 16, State 1, Server QA01A, Procedure ARLConsistencyCheck_ONE_FUID_per_ONE_InstallerEvidence, Line 68
ERROR! Consistency check failed!
Starting: Rollback to previous ARL state
Finished: Rollback to previous ARL state
The first line shows the error message (which will vary depending on the cause of the error), the procedure where the error was found, and the line of code which it references. The second line gives a brief description of the error, and the final two lines state that the database is being reverted back to the previous ARL state. For more detailed information on the error, scroll up in the log file to look for a sentence beginning with ?WARNING!? This is followed by a description of the error, and where applicable, details of the affected records in the ARL.
If the ARL update is unsuccessful, please open a case with Flexera Software Support team, and include a compressed copy of the Recognition.log, mgsImportRecognition.log, and importPURL.log,.
Manual update process
The automatic update process can be disabled if you prefer to run the task manually. To turn off the Import ManageSoft Application Recognition Library task, view the task properties using Microsoft Task Scheduler and uncheck the Enabled (Scheduled task runs at specified time) box.
To run the update process manually, you can either right-click on the Recognition data import task and select Run; or you can run the ARL update using the MgsImportRecognition.exe command-line tool. In your operating system command line, navigate to C:\Program Files (x86)\Flexera Software\FlexNet Manager Platform\DotNet\bin, and then enter MgsImportRecognition.exe to check for updates and install the latest ARL update.
Logs similar to one created in the automated update process is created in this scenario, too.
For more detail on the manual update process see the System Reference Guide.
The ARL update process, whether run by scheduled task or manually, creates a Recognition.log file.
From release 8.0 of FNMP, the Recognition.log file is located, by default, in the Temp directory of the current account. For example, with the normal account of Adminstrator running the executable, the log file will be written to C:\Documents and Settings\Administrator\Local Settings\Temp. You can quickly access the Temp directory of the current account by typing %TEMP% in the address bar of Microsoft Windows Explorer.
From FNMS 2018 R2 on, the default location for the log is C:\ProgramData\Flexera Software\Compliance\Logging\Content
ARL update behavior
The execution of the ARL script can add new records, modify existing records, and delete old records. New records are added to increase the number of applications recognized. Records are modified to make them more reliable and to help standardize the ARL. Old records that are no longer needed are deleted. Usually the modifications will be accepted, but in a few instances an ARL modification will be blocked. There are three reasons why an ARL update would be blocked:
- The record has been modified locally
- The record has a license attached
- The modification would result in a primary key clash
Records modified locally
For any given application, the ARL may update several database tables including SoftwareTitle, FileEvidence, InstallerEvidence, WmiEvidence, and the links that exist between these. In order to preserve any local changes that you have made to your data, each of these areas is guarded by separate checksums. If a checksum shows that you have altered an item, that item will no longer be updated by the ARL (although other related but unchanged items may still be updated). For example, if you edit a record of installer evidence linked to an application, then that installer evidence record will no longer be updated by the ARL, although the related application may still be updated. Similarly, if you add new evidence to an application (thereby changing the links between items), the ARL will no longer update relationships around this application (that is, will not make any changes to those links), but may still update the basic records. Also note that the checksums do not protect every field in a record, and you may change the 'unprotected' fields without impact.
You can restore all your locally modified records to match the ManageSoft ARL by changing an internal ForceUpdateAllRecords configuration setting value to "true". This value can be set by running the following SQL command on your ManageSoft database:
SET Value = 'true'
WHERE Property = 'ForceUpdateAllRecords'
Once this command has run, all records will be modified to match the ARL every time an ARL update is downloaded. To change it back to the default behavior, replace 'true' with 'false' and re-run the above command.
Note: All of your local modifications will be lost when you update the ARL with this value set to 'true'.
Records with attached licenses
If the ARL attempts to delete an application that has been linked to a license, then that deletion will be blocked. Your database will keep the application and its attached license even though it is no longer in the published ARL. Any other types of modifications to the same record (other than deletion) should be updated successfully, as long as you have not also manually modified details on the application.
Primary key clashes
A primary key clash results when an ARL update tries to modify an existing record, or add a new record, in such a way that it will exactly match primary key values on an existing record. This is only likely to occur when an old record has been deleted from the published ARL, but has not been deleted locally for one of the two reasons listed above.
Reporting issues and requesting updates
Issues, queries and requests for updates to specific titles in the ARL may be directed to the Flexera Software Support team. When reporting issues about a particular title in the ARL, please be sure to provide:
- Screenshots showing complete details of how the title appears in your local ARL, including information from the following tabs from the application properties dialog: General, File Evidence, Installer Evidence and History.
- A copy of the current Recognition.log (C:\ProgramData\Flexera Software\Compliance\Logging\Content).
If you require the URL's to download the ARL and PURL files to perform the manual update process, they can be downloaded from the Product and License Center.