In some cases NCache service fails to start on 64-bit boxes and gives the following errors:
1. The NCache service failed to start due to the following error:
2. The service did not respond to the start or control request in a timely fashion.
This normally happens on new 64-bit boxes where either there is no internet connectivity or the Firewall blocks port 80 and 443.
NCache uses code-signed assemblies i.e. these assemblies have certificates attached with them. When the .NET Common Language Runtime loads these code-signed assemblies to start the NCache service, it tries to verify these certificates from the locally available Certificate Revocation List (CRL). On new boxes, this list is usually not updated. So the .NET CLR tries to connect to Certificate Authority over the internet to verify these certificates. This is by design and a Microsoft requirement.
NCache service fails to start if these certificates are not verified in any of the two ways given above.
Open port 80 and 443
You should open the ports 80 and 443 for crl.verisign.net and crl.verisign.com. You can ping these URLs on your box to check whether they are accessible from your box or not. Once you are sure that it is able to get to them start the NCache service. This is required for the very first time the assemblies are loaded into .NET CRL. The local Certificate Revocation List (CRL) gets updated and you need not to have these ports open any more.
Disable Certificate Verification
On production boxes with NCache opening ports 80 and 443 can be a big issue. If you can have .NET framework 3.5 on these boxes, you can completely disable this publisher verification for NCache completely. Please include the following in NCache service configuration file (C:\Program Files\NCache\bin\service\Alachisoft.NCache.Service.exe.config)
<runtime> ... <generatePublisherEvidence enabled="false"/> ... </runtime>
Save this file and start the NCache service.
Please feel free to contact us at email@example.com if you have any problems using NCache.