Monday 18 December 2017

Nimble Windows Toolkit fails to install "Error 1920: Service Nimble Hotfix Monitor failed to start. Verify that you have sufficient privileges to start system services."

Today I was pre-empting the install of a new Nimble CS3000 Array that's going to happen later in the week, but installing the "Nimble Windows Toolkit" on my Server 2012 R2 Hyper-V hosts. This is recommended by Nimble as it installs VSS providers and a handy iSCSI toolkit for managing connections.

Unfortunately, my installation was failing when getting to the stage of "Starting Services". The error message I would receive is:

 Error 1920: Service Nimble Hotfix Monitor failed to start. Verify that you have sufficient privileges to start system services.#
Windows Event Logs would show that the Nimble Hotfix Monitor failed to start multiple times in a "timely fashion", 30000 seconds by default. I tried a few things, including enabling UAC (why other admins feel the need to disable UAC in this day and age is beyond me!) but to no avail.
Eventually, I resigned to logging my first ticket to Nimble via their "Infosight" website. I was typing away the description of my problem, and on the right-hand side a possible solution appeared - "NWT installation error: Error 1920: Service Nimble Hotfix Monitor failed to start. Verify that you have sufficient privileges to start system services.".
I opened the potential solution (bearing in mind none of the others were remotely like what my issue was) without much hope. And there it was, in all its glory:
"This seems to occur for the most part on Windows boxes that are not connected to the internet"
Why on earth would my Hyper-V host have access to the Internet??!!
So the solutions were:
  1. Temporarily allow access to the Internet (no thank you!)
  2. Increase the service timeout temporarily on the host machine.
I opted for option 2, as I didn't want to grant internet access on my Hyper-V host. To even recommend this as a workaround is ludicrous in my opinion. So the fix is to fudge a Registry Key, reboot the server and try the install again:

KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServicesPipeTimeout 
DWORD  -   set it to   120000    (this is a 120 second timeout)

Voila, my issue was resolved. According to Nimble, it is to do with .NET try to validate the signature of the service with Microsoft Servers. The normal service timeout of 30 seconds happens before an outbound connection timeout.

I searched all over and couldn't find this solution anywhere, so hopefully this will help others out.

TL;DR:
If Nimble Windows Toolkit installation fails with error "1920: Service Nimble Hotfix Monitor failed to start. Verify that you have sufficient privileges to start system services.", either grant the server access to the internet (!) or preferably, change the following reg key to increase service timeout to 120 seconds (reboot required):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServicesPipeTimeout 
DWORD  -   set it to   120000    (this is a 120 second timeout)