This is a rare problem but I have personally experienced this problem twice now and as there appears to be no other reported instances on the Internet, I thought it might be useful to share it in case anyone else experiences the same issue.
The customer in question has a three node UAG array and without warning, the first built node (which is also the Array Manager) failed to activate with a The DirectAccess NLB Helper Driver cannot be activated error. This was also accompanied by the following event log entries:
The other two array members appeared to activate just fine, and DirectAccess connections appeared to be working as usual across the array. However, I suspected that DA connections via the problematic array member would actually be failing to operate correctly, or new connections may not establish successfully. Either way, it needed fixing ASAP!
The UAG DirectAccess NLB Helper driver is discussed in more detail here and basically provides bi-directional affinity for DA clients when using NLB for a Forefront UAG DirectAccess array. This helper is also commonly termed ‘daeng’.
The first time I saw this problem, I spent quite a bit of time on it and also contacted some of my Microsoft contacts to see if they had seen this before – I came up blank. Microsoft hadn’t seen the issue before from what I could tell and due to time constraints I had no option but to rebuild the UAG server (I was still in the build/deployment stage of the project and had no server backups at that time).
After seeing the problem occur again whilst looking at another UAG array issue, this time the customer managed to fix it themselves (I hate it when they do that ) with the following solution:
By issuing the following command:
sc query daeng
they received a response of Driver not running and upon investigation found that the daeng.sys file was actually missing from the %Program Files%\\Microsoft Forefront Unified Access Gateway\common\bin\ folder.
They copied the daeng.sys file from one of the other array members and then issued the following command:
sc start daeng
the driver now successfully started (strangely enough!); a reboot later and UAG then successfully activated on that array member – all was calm in a world called UAG
I am not 100% sure what caused the problem, but it appeared to be primarily related to missing files on the affected Forefront UAG server. Why the files were missing is something I (or they) haven’t been able to solve (which worries me) but it is still interesting to understand the solution that was required in any case.
Hope this helps!