Process Taking Time For Installation Of Process For The First Time Due To Package Signature Verification

The process taking time for installation of the process for the first time due to package signature verification.

Root Cause: During the first-time package installation process take too much time to download the process and start the job execution. This might happen due to package signature verification.


Resolution:

The best way to troubleshoot such a scenario is as below.

  1. Verify the same process in a machine having internet access.
  2. Collect the fiddler log to see the outgoing request from the robot machine on process installation. Based on the API request URL and the response we can identify the cause of the request taking time to install the process and execution.

When NuGet’s signature validation mode is set to accept (default), a package with an expired package signature is treated as an unsigned package and installed anyway. NU3037 is raised as a warning. When NuGet’s signature validation mode is set to require, or when running the Nuget verify -signatures command, NU3037 is elevated from a warning to an error.

Approach #1:

  1. Go to C:\Users\your_robot_username\AppData\Roaming\NuGet\NuGet.Config -> modify its content like below and then save it:

<?xml version="1.0" encoding="utf-8"?>

<configuration>

<packageRestore>

<!--The 'enabled' key is True when the "Allow NuGet to download missing packages" checkbox is set. Clearing the box sets this to False, disabling command-line, automatic, and MSBuild-integrated restore.-->

<add key="enabled" value="True" />

<!--The 'automatic' key is set to True when the "Automatically check for missing packages during build in Visual Studio" checkbox is set. Clearing the box sets this to False and disables automatic restore.-->

<add key="automatic" value="True" />

</packageRestore>

<bindingRedirects>

<add key="skip" value="False" />

</bindingRedirects>

<config>

<add key="signatureValidationMode" value="accept" />

</config>

</configuration>

  1. Go to %userprofile%\.nuget and rename the packages folder to packages_backup
  2. Go to services.msc -> restart UiPath Robot service
  3. Retry to install the failed process in UiPath Assistant or schedule it from Orchestrator.

Reference: NuGet Warning NU3037

Approach #2:

  1. Set the NUGET_CERT_REVOCATION_MODE environment variable to offline. This will force NuGet to check the revocation status of the certificate only against the cached certificate revocation list, and NuGet will not attempt to reach revocation servers
  2. Run the below command in a powershell.exe console
  • [Environment]:: SetEnvironmentVariable("NUGET_CERT_REVOCATION_MODE", "offline", "Machine")

Reference: NuGet Warning NU3028

  1. Restart the Robot machine
  2. Retry to install the failed process in UiPath Assistant or schedule it from Orchestrator.