One of my good friends, Cory Roberts, pinged me the other day with a problem concerning configuration of FAST Search for SharePoint 2010 (FS4SP). I had done a couple of installations so had at least *seen* it. :-)

He had completed all of the pre-req installations and installed the product without an error. As you likely know a lot of Microsoft products are now split into two phases for installation... one being installation -- the actual binary copying of files and possibly setting some regkeys, etc -- and the second being configuration -- where you actually configure the product for use.. maybe user accounts, databases, etc. He was having an issue with the configuration phase. No matter what he tried it was continually failing with the typical:

 

Clicking on the link to the config log will provide the information needed...or at least most of it.. When reading config logs or setup logs I tend to have a specific pattern I follow... it's very complex so read carefully.. I search for the word "error"... and if that nets nothing, I alter my tactics and search for the word "exception". Sometimes those words are false negatives in a log file, but other times they get you what you want. For instance in the FAST configuration log the word "error" is found many times through normal, successful processing:

2/24/2011 9:04:03 AM Verbose Utility.Execute - robocopy Output -    New Dir          7 C:\Users\ADMINI~1.SHA\AppData\Local\Temp\2\FASTSearch\installer\configserver\templates\qrserver\search_xml\
2/24/2011 9:04:03 AM Verbose Utility.Execute - robocopy Output -      New File         442 error.templ

However, as we kept looking through the log file we found this:

2/24/2011 9:04:44 AM Error Utility.Execute - TRAPPED: System.ComponentModel.Win32Exception : Exception -
2/24/2011 9:04:44 AM Error Utility.Execute - TRAPPED: The service cannot be started, either because it is disabled or because it has no enabled devices associated with it : Exception -
2/24/2011 9:04:44 AM Error Utility.Execute - TRAPPED:    at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
   at Start(Object , Object[] )
   at System.Management.Automation.DotNetAdapter.AuxiliaryMethodInvoke(Object target, Object[] arguments, MethodInformation methodInformation, Object[] originalArguments) : Exception -
2/24/2011 9:04:44 AM Error Utility.WriteException - Exception -  : Exception - System.Management.Automation.RuntimeException: Unable to execute binary C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe
2/24/2011 9:04:44 AM Error Utility.WriteException - Exception Stack Trace -
2/24/2011 9:04:44 AM Error Utility.WriteException - Error Details -
2/24/2011 9:04:44 AM Error Utility.WriteException - Target Object -
2/24/2011 9:04:44 AM Error Utility.WriteException - Fully qualified error Id -
2/24/2011 9:04:44 AM Error Utility.WriteException - Exception -  : Exception - System.Management.Automation.RuntimeException: Unable to execute PowerShell command - Install-FASTSearchAdminDatabase
2/24/2011 9:04:44 AM Error Utility.WriteException - Exception Stack Trace -
2/24/2011 9:04:44 AM Error Utility.WriteException - Error Details -
2/24/2011 9:04:44 AM Error Utility.WriteException - Target Object -
2/24/2011 9:04:44 AM Error Utility.WriteException - Fully qualified error Id -
2/24/2011 9:04:44 AM Error Utility.WriteException - Exception -  : Exception - System.Management.Automation.RuntimeException: An error occurred while configuring database - sql.sharepoint.com.
2/24/2011 9:04:44 AM Error Utility.WriteException - Exception Stack Trace -
2/24/2011 9:04:44 AM Error Utility.WriteException - Error Details -
2/24/2011 9:04:44 AM Error Utility.WriteException - Target Object -

It was around this time that Cory requested additional information about the server they were configuring. The server had some security hardening done and several services had been set to "Disabled". The one in particular that causes this issue is "Secondary Logon". This service allows you to have the "run as" functionality in Windows. As is noted in several security blogs, disabling this service is one of many factors in server security hardening; however with most configuration options in servers it's a question of trade-offs and compromise.

As it happens, this service is required by FAST configuration so that it can run some configuration as the account you specify during configuration. If you (or more likely your security team) requires that Secondary Logon be set to Disabled, then you will at least need to set it to manual for the configuration of FAST Search for SharePoint 2010.

*I'm told there is a support article coming on this.

Setting this service to "Manual" allows it to successfully complete configuration and all is well.